php proximity脚本 - 如何计算2个给定术语/单词之间的单词/字符数?

基本上 - 我想计算各种术语的“接近度”。 “接近”我的意思是具体地说是它们之间的空格/字符/单词的数量。 例: 术语= Word1 / Word2 Chunk =“blah Word1 blah blah blah blah blah blah Word2 blah” Proximity = Word1-Word2:5 脚本会看到2个术语,找到它们,然后根据它们之间的单词查看距离。 更高级的版本是检查语义结构 - 并确定术语是出现在同一语义元素,兄弟或父母等中。 因此,术语的邻近发现可以在同一段落内,或在连续的段落中,或在相同的“父”(标题)下,但在其他方面是分开的等。 此外 - 稍后介绍诸如词干/关系/探测之类的事情也可能是有用的。 。 我环顾网络(Google,这里,php论坛,php脚本网站)。 没有看到类似的东西。 我可以在一些类似(有限)的网站上看到工具 - 通常是基于SEO的工具。 我希望能够将其应用于“文本”...因为我可以将其应用于上传的word / txt文件等。 我没有看到任何真实的例子 - 所以我只能假设它是mroe而不是一点点来编码它。 问题是 - 我该怎么做? 我如何处理单词的变体顺序(Word1 + Word2 / Word2 + Word1)? 我如何处理相同元素/结构内/外的识别接近度? 希望有人可以提出一些建议。     
已邀请:
如果您需要对给定文本执行大量此类搜索,则可以首先将整个文本编入索引,该数据库包含单词,文本中的位置以及段落编号(如果需要)。然后,您可以选择所有Word1和Word2位置,并且不应该太难推断出最小距离。 编辑: 这里尝试一次性的简单算法,而不使用数据库。 删除任何html和标点符号只保留单词 搜索第一次出现的Word1 计算单词(或字符或空格)的数量,直到到达下一次出现的Word2 如果在到达Word2之前再次访问Word1,请重新启动计数器 记录距离,然后继续重复步骤2-5以获得其他出现的Word1和Word2     

要回复问题请先登录注册