python:过滤几乎相同文本的算法

python:过滤几乎相同文本的算法,python,algorithm,parsing,Python,Algorithm,Parsing,我有一个字符串列表(论坛主题),如: 我需要过滤相同的内容主题。 从这个列表中,我可以看到1,3(标题中有逗号)和pre-last(标题中有!)主题 内容相同,但标题有点不同(“你好,我的朋友”) 有什么算法可以过滤这些吗? 我的意思是我只想在我的字符串列表中有一个“你好,我的朋友”。 谢谢你的建议 我会和你一起去。 在文本处理框架中有一些功能强大的实现我会支持和支持。 文本处理框架中有一些功能强大的实现常用的模型是模型。此范围内常用的距离度量是 您有一个内容词列表。您可能希望包括“Hello”

我有一个字符串列表(论坛主题),如:

我需要过滤相同的内容主题。 从这个列表中,我可以看到1,3(标题中有逗号)和pre-last(标题中有!)主题 内容相同,但标题有点不同(“你好,我的朋友”)

有什么算法可以过滤这些吗? 我的意思是我只想在我的字符串列表中有一个“你好,我的朋友”。 谢谢你的建议

我会和你一起去。 在文本处理框架中有一些功能强大的实现

我会支持和支持。
文本处理框架中有一些功能强大的实现

常用的模型是模型。此范围内常用的距离度量是

您有一个内容词列表。您可能希望包括“Hello”和“friend”之类的内容,但不包括“by”和“and”之类的内容

你可能还想转换你输入的单词,例如,你可能不想让大小写变得重要,理想情况下,你可能想去掉语法变化。所以你想要这样的东西:

>>> content_words( "Smith John: Hello my friend (super mega must see!)" )
[ "smith", "john", "hello", "friend", "super", "mega", "must" ]
另一个答案对如何做到这一点有很好的建议

每个主题行在概念上映射到一个高维向量,维度对应于每个内容词。模型上有两个细微的变化(如果有任何显著差异,您可以看到哪一个最适合您的数据):

  • 如果单词出现,则元素的条目为1,如果不出现,则为0
  • 向量在维度上的值是相应单词出现的次数
两个条目的余弦相似性是向量的点积除以向量范数的乘积


正如您可能看到的,您不需要在内存中实际构造这些巨大的向量(它们是稀疏的——大多数条目都是零)。知道内容词的总数以及其中哪些出现在相关条目中就足够了。

常用的模型是模型。此范围内常用的距离度量是

您有一个内容词列表。您可能希望包括“Hello”和“friend”之类的内容,但不包括“by”和“and”之类的内容

你可能还想转换你输入的单词,例如,你可能不想让大小写变得重要,理想情况下,你可能想去掉语法变化。所以你想要这样的东西:

>>> content_words( "Smith John: Hello my friend (super mega must see!)" )
[ "smith", "john", "hello", "friend", "super", "mega", "must" ]
另一个答案对如何做到这一点有很好的建议

每个主题行在概念上映射到一个高维向量,维度对应于每个内容词。模型上有两个细微的变化(如果有任何显著差异,您可以看到哪一个最适合您的数据):

  • 如果单词出现,则元素的条目为1,如果不出现,则为0
  • 向量在维度上的值是相应单词出现的次数
两个条目的余弦相似性是向量的点积除以向量范数的乘积


正如您可能看到的,您不需要在内存中实际构造这些巨大的向量(它们是稀疏的——大多数条目都是零)。知道内容词的总数以及其中哪些出现在相关条目中就足够了。

你基本上是在寻找两句话的相似性。有不同的方法来衡量两个句子的相似性

有了a,你可以去应用聚类算法,比如,等等


我希望这能给你一些启发

你基本上是在寻找两句话的相似性。有不同的方法来衡量两个句子的相似性

有了a,你可以去应用聚类算法,比如,等等

我希望这能给你一些启发