gpt4 book ai didi

.net - 全文搜索 : find similar software names

转载 作者:行者123 更新时间:2023-12-04 20:59:45 27 4
gpt4 key购买 nike

我正在寻找一种全文搜索算法,可以找到类似的程序名称,例如“Mozilla Firefox”和“Firefox 3.5”,或“Adobe Reader”和“Adobe Acrobat Reader v10”。Levenshtein 距离效率太低在这种情况下,因为拼写不会改变。

它必须使用串行扫描(不是索引)。

我需要最大的精度和最小的错误。你会推荐什么?

谢谢!

最佳答案

模式比较

我使用以下内容来自动更正一些域名。

这个想法是查看小模式,例如 2 个字符序列。每次找到这样的序列时,比较序列的“分数”都会增加。
最高分可能看起来相似。

前任:
火狐浏览器
=> ['mo', 'oz', 'zi', 'il', 'll', 'la', 'a', 'f', 'fi', 'ir', 're', 'fo' , '牛']

结果:

  • 'Firefox 3.5' => 5,
  • 'Adobe Reader' => 0,
  • 'Adobe Acrobat Reader v10' => 1

  • 使用压缩自动分类

    这不是基于全文的。

    这里的想法,表达在 this document , 是比较两个项的级联的压缩与压缩项的级联。

    让 c 成为返回压缩项大小的函数:

    d = c(A) + c(B) - c(A+B)

    d 越小,A 和 B 越接近。
    一个有趣的特性是该原理与类型无关,可以与音乐、图片、视频等二进制文件一起使用。

    Another link, easier to read but in French.

    使用 SGDB 全文功能

    我对 SQL Server 有点生疏,但 SQLite 或 MySQL 提供了全文搜索。
    结果包括“等级”值,可以将其视为相似度得分。

    在 MySQL 中:
    SELECT
    t.*,
    MATCH(my_field) AGAINST 'Mozilla Firefox' as relevance
    FROM
    table t
    WHERE
    MATCH(my_field) AGAINST 'Mozilla Firefox'
    ORDER BY relevance DESC
    LIMIT 100

    关于.net - 全文搜索 : find similar software names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2171647/

    27 4 0