Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 标识符拆分以近似匹配文档_Algorithm_Full Text Search_Query String_Levenshtein Distance - Fatal编程技术网

Algorithm 标识符拆分以近似匹配文档

Algorithm 标识符拆分以近似匹配文档,algorithm,full-text-search,query-string,levenshtein-distance,Algorithm,Full Text Search,Query String,Levenshtein Distance,不同的软件项目有不同的编码约定;即使在同一个项目中,也可能会使用不同的语言,并且会有不同的约定。使用源代码中的标识符标记搜索文档(出现在源文件之外)有什么好处 例如,如果源具有self._def_passwd或this.defPasswrd,则文档树上的查询应努力匹配默认密码 到目前为止,我一直在尝试按Levenshtein距离进行排序,这对于较小的编辑距离非常有效,但当我增加阈值时,会出现太多误报,这在文档中存在空白问题 8 0.666667 announcement getContent A

不同的软件项目有不同的编码约定;即使在同一个项目中,也可能会使用不同的语言,并且会有不同的约定。使用源代码中的标识符标记搜索文档(出现在源文件之外)有什么好处

例如,如果源具有self._def_passwd或this.defPasswrd,则文档树上的查询应努力匹配默认密码

到目前为止,我一直在尝试按Levenshtein距离进行排序,这对于较小的编辑距离非常有效,但当我增加阈值时,会出现太多误报,这在文档中存在空白问题

8 0.666667 announcement getContent AnnouncementBean.java(Token.Name.Function )
8 0.666667 announcement getPercent DataObservation.java (Token.Name.Function)
8 0.666667 announcement GroupBean GroupBean.java (Token.Name.Class)
其中第一个值是Levenshtein距离,第二个值是距离除以匹配单词的长度。 我想去

  • 看看Jaccard,Tanimoto算法
  • 智能/建议类代码
  • 在某处,有一些关于生物人用来匹配序列的算法的帖子
  • 提出基于规则的正则表达式链规则

  • 最后一个选项实际上是最后一个选项。你认为其他哪种算法可以为这类东西提供更好的结果

    尝试使用加权编辑距离,在这里您可以根据键盘上的距离对常用缩写、可能的字符错误进行编码。例如,您可以为元音(如[ao])设置零权重,密码将等于pswrd。另一个选项是构建单词级编辑距离,并在此处使用同义词。我还建立了EditDistance,它与文字和字符同时工作