Algorithm 如何从大量页面中获取相似的文本?
从多个文本到一个文本中获取x个最相似的文本 也许把页面改成文本更好Algorithm 如何从大量页面中获取相似的文本?,algorithm,data-mining,text-processing,similarity,Algorithm,Data Mining,Text Processing,Similarity,从多个文本到一个文本中获取x个最相似的文本 也许把页面改成文本更好 您不应该将文本与每个文本进行比较,因为它太慢。您必须定义一个函数来测量两个页面之间的“差异”。我可以想象各种各样的功能,你必须为你的领域选择其中一种: 关键字集的差异-您可以删减字典中最常见单词的文档,然后得到每个文档的唯一关键字列表。然后,“差异”函数会将差异计算为每个文档的关键字集的差异 文本差异-根据使用文本差异算法将一个文档转换为另一个文档所需的编辑次数计算每个距离(请参阅) 有了差异函数后,只需计算当前单据与其他单
您不应该将文本与每个文本进行比较,因为它太慢。您必须定义一个函数来测量两个页面之间的“差异”。我可以想象各种各样的功能,你必须为你的领域选择其中一种:
- 关键字集的差异-您可以删减字典中最常见单词的文档,然后得到每个文档的唯一关键字列表。然后,“差异”函数会将差异计算为每个文档的关键字集的差异
- 文本差异-根据使用文本差异算法将一个文档转换为另一个文档所需的编辑次数计算每个距离(请参阅)
如果您需要经常这样做,并且有很多文档,那么问题就变得有点困难。您必须定义一个函数来测量两个页面之间的“差异”。我可以想象各种各样的函数,您必须为您的域选择其中一个:
- 关键字集的差异-您可以删减字典中最常见单词的文档,然后得到每个文档的唯一关键字列表。然后,“差异”功能会将差异计算为每个文档的关键字集的差异
- 文本差异-根据使用文本差异算法将一个文档转换为另一个文档所需的编辑次数计算每个距离(请参阅)
如果你需要经常这样做,而且你有很多文档,那么问题就变得更难了。识别类似文档/页面的能力,无论是网页还是更一般形式的文本,甚至是代码,都有许多实际应用。这一主题在学术论文中得到了很好的体现,也在不太专业的文章中得到了很好的体现论坛。尽管文档相对丰富,但很难找到与特定案例相关的信息和技术 通过描述手头的具体问题和相关需求,可以为您提供更多的指导。同时,下面提供一些一般性的想法 许多不同的函数可用于以某种方式测量页面的相似性。选择其中一个(或可能多个)函数取决于各种因素,包括可以分配问题的时间和/或空间量,以及对噪声的期望容忍度 一些较简单的指标包括:
- 最长公共单词序列的长度
- 常用词数量
- 超过n个单词的常用单词序列数
- 每个文档中前n个最常用词的常用词数
- 文件的长度
- 编辑距离(这实际上是一个通用术语,因为有许多方法可以测量编辑距离。一般来说,其目的是测量将一个文本转换为另一个文本所需的[编辑]操作数。)
- 源自Ratcliff/Obershelp算法的算法(但计算单词而不是字母)
- 基于线性代数的测量
- 统计方法,如贝叶斯fitler
在选择一个(或确实几个这样的措施,以及一些称重系数),重要的是要考虑额外的因素,除了本身的相似性测量。例如,它可能有利于…
- 以某种方式规范文本(特别是在网页的情况下,由于与页面相关的所有“礼仪”:页眉、页脚、广告面板、不同的标记等,类似的页面内容或类似的段落看起来不那么相似。)
- 利用标记(例如:与纯文本中的相似性相比,对标题或表格中的相似性给予更多的重视
- 识别并消除与领域相关的(甚至是众所周知的)表达。例如,两个完全不同的文档可能看起来很相似,因为它们有两个共同的“锅炉板”段落,涉及一些法律免责声明或一些通用描述,而不是真正与每个cocument内容的本质相关