根据句子的意思比较句子

2024-05-19 11:03:21 发布

您现在位置:Python中文网/ 问答频道 /正文

Python提供了NLTK库,这是一个庞大的文本和语料库资源,以及大量的文本挖掘和处理方法。我们有没有办法根据句子所表达的意思来比较句子,以便找到可能的匹配点?也就是说,一个聪明的句子匹配者?在

例如,像giggling at bad jokesI like to laugh myself silly at poor jokes这样的句子。两者表达的意思相同,但句子并不完全匹配(单词不同,Levenstein Distance会很失败!)。在

现在假设我们有一个API,它公开了诸如found here等功能。基于此,我们有机制来发现单词gigglelaugh在它们所传达的意思上是匹配的。Bad不会匹配到poor,因此我们可能需要添加更多层(比如它们在单词上下文中匹配,比如joke,因为bad joke通常与poor joke相同,尽管bad personpoor person不同。在

一个主要的挑战是丢弃那些对句子意义没有太大改变的东西。因此,算法应该返回第一个句子和this之间相同的匹配度:I like to laugh myself silly at poor jokes, even though they are completely senseless, full of crap and serious chances of heart-attack!

有了这些,有没有类似的算法已经被构想出来了?还是我必须发明轮子?在


Tags: to文本算法单词atlike句子person
1条回答
网友
1楼 · 发布于 2024-05-19 11:03:21

你需要一个更先进的主题建模算法,当然还需要一些语料库来训练你的模型,这样你就可以轻松地处理诸如咯咯笑之类的同义词了!在

在python中,可以尝试这个包:http://radimrehurek.com/gensim/ 我从未使用过它,但它包含了经典的语义向量空间方法,如lsa/lsi、随机投影甚至lda。在

我个人最喜欢的是随机投影(random projection),因为它更快,而且仍然非常高效(不过,我正在用另一个库在java中进行)。在

相关问题 更多 >

    热门问题