相关疑难解决方法(0)

git如何检测类似文件的重命名检测?

维基百科解释了自动重命名检测:

简而言之,给定修订版N中的文件,修订版N-1中的同名文件是其默认祖先.但是,当修订版N-1中没有同名文件时,Git会搜索仅存在于修订版N-1中的文件,并且新文件非常相似.

重命名检测显然归结为类似的文件检测.这个算法记录在哪里吗?很高兴知道自动检测到哪种变换.

git

85
推荐指数
2
解决办法
2万
查看次数

类似的String算法

我正在寻找一种算法,或者至少是关于如何在两个或多个不同的字符串中找到类似文本的操作理论......

就像这里提出的问题一样:查找具有相似文本的文章的算法,区别在于我的文本字符串只会是少数单词.

就像说我有一个字符串:"进入清澈的蓝天",我正在与以下两个字符串进行比较:"颜色是天蓝色"和"在蓝色的晴空中"

我正在寻找一种可用于匹配两者中文本的算法,并决定它们的匹配程度.在我的情况下,拼写和标点符号将是重要的.我不希望它们影响发现真实文本的能力.在上面的例子中,如果颜色参考被存储为"'天蓝色'",我希望它仍然能够匹配.但是,列出的第3个字符串应该比第二个字符串更好,等等.

我敢肯定谷歌这样的地方可能会使用类似于"你是不是的意思:"的功能......

*编辑*
在与朋友交谈时,他与一位撰写有关此主题的论文的人合作.我想我可能会与阅读此内容的所有人分享,因为其中描述了一些非常好的方法和流程......

这是他的论文链接,我希望它对阅读这个问题的人以及类似的字符串算法的主题有所帮助.

c c++ string algorithm

20
推荐指数
5
解决办法
2万
查看次数

什么是一个很好的自然语言库用于释义?

我正在寻找一个现有的库来总结或解释内容(我的目标是博客文章) - 对现有自然语言处理库的任何经验?

我对各种语言持开放态度,所以我对能力和准确性更感兴趣.

language-agnostic nlp

12
推荐指数
3
解决办法
5311
查看次数

有关字符串算法的书籍

字符串算法上有很多帖子:

但是,没有提到一般文献.

任何人都可以推荐一本能彻底探索各种字符串算法的书吗?特别感兴趣的主题是近似字符串匹配[像谷歌提供的纠正搜索字符串变体:)].

非常感谢您的建议.

algorithm string-algorithm

7
推荐指数
1
解决办法
3871
查看次数

分析文本(词形还原,编辑距离)

我需要分析文本中存在的禁止词.假设黑名单是单词:"禁止".这个词有很多种形式.在文本中,这个词可以是,例如:"禁止","禁止","禁止".为了将单词带到初始​​形式,我使用了一个过程词形还原.你的建议?

错别字怎么办?
例如:"F0rb1d".我认为使用damerau-Levenshtein或其他人.你的建议?

如果文本写成如下:
"ForbiddenInformation.Privatecorrespondenceofcompany." 或"F0rb1dden1nformation.Privatecorresp0ndenceofthec0mpany." (是的,没有空格)

如何解决这个问题呢?
优选地是快速算法,因为文本是实时处理的.
也许是什么提高性能的提示(如何存储等)?

对不起我的英语不好.谢谢.

c# nlp similarity lemmatization

7
推荐指数
1
解决办法
2020
查看次数

从字符串数组创建唯一组合的数组

我正在编写一些需要一段文本的内容,并将其分解为可用于查找类似文本块的可能的数据库查询.(类似于我输入时生成的"类似问题"列表)基本过程:

  1. 从文本中删除停用词
  2. 删除特殊字符
  3. 从剩下的文本中创建一个独特的"词干"数组
  4. 创建一个可能的茎阵列组合数组(我被卡住了......有点)

这是我到目前为止所拥有的:

    //baseList starts with an empty array
    //candList starts with the array of unique stems
    //target is where the arrays of unique combinations are stored

    function createUniqueCombos(baseList,candList,target){

    for(var i=0;i<candList.length;i++){         

        //copy the base List
        var newList = baseList.slice(0);

        //add the candidate list item to the base list copy
        newList.push(candList[i]);

        //add the new array to the target array
        target.push(newList);   

        //re-call function using new array as baseList
        //and remaining candidates as candList
        var nextCandList = candList.slice(i + 1); …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm combinations combinatorics

7
推荐指数
1
解决办法
1224
查看次数

测量无序序列间距离的算法

Levenshtein距离为我们提供了一种根据无序个体字符计算两个相似字符串之间距离的方法:

quick brown fox
quikc brown fax

Levenshtein距离= 3.

具有相似子序列的两个字符串之间距离的类似算法是什么?例如,在

quickbrownfox
brownquickfox

Levenshtein距离是10,但这并没有考虑到弦有两个相似的子序列的事实,这使得它们比完全无序的词更像"相似"

quickbrownfox
qburiocwknfox

然而,这个完全无序的版本的Levenshtein距离为8.

考虑到子序列的长度,存在哪些距离度量,而不假设子序列可以很容易地分成不同的词?

algorithm

6
推荐指数
1
解决办法
381
查看次数