我一直在研究不同的算法,但我们找不到我正在寻找的东西。
汉明距离(仅适用于相同长度的琴弦) Levenstein距离(找到像小猫和坐着的类似的单词)
我正在寻找的东西可以找到关于同一个想法的句子。
例如:
Sentence 1: Josh got hurt while playing in the park. Sentence 2: Josh fell off the slide and got hurt at the park. Sentence 3: Be careful at the park, your kids could get hurt. Sentence 4: Josh likes to go shopping.
我正在寻找的是
关于主题的 sentence 1 and 2
,但不是 sentence 3 or 4
。
我想我可以尝试比较句子中的每个单词吗?
我非常感谢能指出正确方向的人。
答案 0 :(得分:3)
通常,您需要使用一些自然语言处理(NLP)。如果您不熟悉该主题,我建议您查看nltk。它是一个python库,包含各种NLP问题的工具。他们还有一本免费的书,您可以查看,以便快速查看您可能需要的工具。
www.nltk.org/book/
我希望它有所帮助
答案 1 :(得分:1)
查看http://en.wikipedia.org/wiki/Topic_model,了解人们如何根据隐藏的"主题"他们分享。提到了一些常见的模型和算法。通常,您正在寻找主题模型。如果你正在寻找比维基上的更高级的东西,一些谷歌搜索应该找到论文。
答案 2 :(得分:0)
Levenshtein和汉明距离非常关注地方层面的差异。如果你想查找句子背后的主题,最好一起考虑句子中的所有单词。
简单的整句方法是tf-idf。如果您将每个句子视为文档,则计算术语(单词)在句子中出现的次数,并除以该术语出现的文档数量,您将获得句子中每个不同术语的数字。同一个词的数字相似的句子很可能是同一个主题。
您可以使用一种简单的方法,然后尝试不同的lemmatization或其他分组方案,如果您需要更好的性能。
与每个句子相关的数字的简单比较是cosine similarity。