[英]how to get the similar texts from a lot of pages?
将x个最相似的文本从很多文本转换为一个文本。
也许将页面更改为文本更好。
您不应该将文本与每个文本进行比较,因为它太慢了。
识别相似文档/页面的能力,无论是网页还是更通用的文本形式甚至代码,都具有许多实际应用。 该主题在学术论文和不太专业的论坛中都有很好的体现。 尽管有相对丰富的文档,但是可能很难找到与特定案例相关的信息和技术。
通过描述眼前的具体问题和相关要求,可能会为您提供更多指导。 同时,以下内容提供了一些总体思路。
可以使用许多不同的功能以某种方式测量页面的相似性。 选择这些功能中的一个(或可能几个)取决于各种因素,包括一个人可以分配问题的时间和/或空间,还取决于噪声所需的容忍度。
一些简单的指标是:
上面的某些指标在归一化后效果更好(例如,避免偏爱长页面,因为长页面的绝对大小有更多机会与其他页面使用相似的单词)
更复杂和/或计算量大的测量是:
通常,我们可以区分度量/算法,其中每个文档的大部分计算都可以完成一次,然后进行一次额外的遍历,以比较或组合这些度量(相对较少的额外计算),而不是需要成对处理要比较的文件。
在选择一种(或者实际上是几种这样的度量,再加上一些权重系数)之前,重要的是要考虑其他因素,除了本身的相似性度量。 例如,可能对...有利
标记文本,删除停用词并排列术语向量。 计算tf-idf。 使用Jaccard索引,将所有向量排列在矩阵中并计算它们之间的距离以找到相似的文档。
一切都取决于您所说的“相似”。 如果您的意思是“关于同一主题”,那么寻找匹配的N-gram通常效果很好。 例如,只需将三元组映射到包含它们的文本,然后将所有文本中的所有三元组放入该映射即可。 然后,当您要使文本匹配时,在地图中查找所有三元组,并选择返回的最频繁的文本(可能经过一定长度的归一化处理)。
我不知道类似的意思,但是也许您应该将文本加载到Lucene这样的搜索系统中,然后将“一个文本”作为查询来呈现。 Lucene确实对文本进行了预索引,因此可以根据您的要求在查询时快速找到最相似的文本(根据其灯光)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.