【问题标题】:Fuzzy sentence search algorithms模糊句子搜索算法
【发布时间】:2011-10-30 02:12:29
【问题描述】:

假设我有一组短语 - 大约 10 000 - 平均长度 - 7-20 个单词,我想在其中找到一些给定的短语。我正在寻找的短语可能有一些错误——例如遗漏一两个词、一些词错位或一些随机词——例如我的数据库包含“当我骑着我的红色自行车时,我看到了克里斯汀”,而我非常想要“当我骑着我的蓝色自行车时,看到了 Christine”,或者“我骑着我的自行车,我看到了 Christine 和 Marion”。有什么好的方法可以解决这个问题?我知道 Levenhstein 的距离,我也认为这个问题可能没有简单、好的解决方案。

【问题讨论】:

  • 你想对结果做什么?只是识别它们?
  • 最好,我想将它们视为键并检索相应的值 - 将数据库视为例如书中的句子,我想找到相应的页面/章节。
  • 同时寻找抄袭检测器——你的听起来是一个很好的用例。
  • 检查它们是个好主意,但它们必须使用一些算法和方法——这就是我问的问题。

标签: nlp fuzzy-search


【解决方案1】:

一个好的文本搜索引擎会提供你描述的功能,fsh。一种典型的方法是创建一个匹配的查询,如果任何单词出现,并使用基于彼此接近出现的术语数量的权重排序结果,并与其出现的概率成反比,因为不常见的单词会更少很可能偶然同时发生。有一个关于这种事情的完整理论称为信息检索,但也许你知道。此外,您希望通过规范化大小写、标点符号等并应用一些基本的语言转换(词干)来确保单词级别的模糊性,并且在某些情况下引入同义词词典,尤其是在有领域知识的情况下可以调节它。

如果你有兴趣搞这些东西,试试开源搜索引擎,this article by Vik 从 2009 年的角度进行了合理的调查,this one by Middleton and Baeza-Yates 对该主题进行了很好的详细介绍。

【讨论】:

    猜你喜欢
    • 2017-01-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    • 2020-03-15
    • 2014-08-20
    • 2011-10-28
    • 2016-06-12
    相关资源
    最近更新 更多