相关疑难解决方法(0)

一种更好的变长字符串相似度排序算法

我正在寻找一种字符串相似度算法,它可以在变长字符串上产生比通常建议的更好的结果(levenshtein距离,soundex等).

例如,

鉴于字符串A:"罗伯特",

然后是字符串B:"Amy Robertson"

会比一个更好的比赛

字符串C:"理查德"

此外,优选地,该算法应该是语言不可知的(也可以用于除英语之外的语言).

fuzzy-search similarity ranking string-matching

149
推荐指数
15
解决办法
7万
查看次数

diff一个ruby字符串或数组

如何在Ruby中进行两个字符串或数组的差异?

ruby diff

54
推荐指数
7
解决办法
4万
查看次数

比较红宝石的哈希

可能重复:
如何比较两个哈希值?

我有两个红宝石哈希(基本上是模型),我试图找到它们之间的差异,一个是对象的旧实例,另一个具有分配给某些属性的新值.我正在尝试确定哪些键已经更改,但似乎没有任何内置于Hash中的内容.我可以想到一些蛮力的解决方案,但想知道是否有一个优雅的解决方案.

理想情况下,我需要能够采用两个哈希:

element1 = {:name => "Original", :description => "The original one!"}
element2 = {:name => "Original", :description => "The new one!"}
Run Code Online (Sandbox Code Playgroud)

并能够比较/区分它们并得到像这样的东西:

{:description => "The new one!"}
Run Code Online (Sandbox Code Playgroud)

现在,我真正想到的是在一个哈希中迭代键并将该键的值与第二个哈希中的相应键进行比较,但这似乎太强暴了.

有任何想法吗?非常感谢!

ruby hash comparison

32
推荐指数
3
解决办法
3万
查看次数

Ruby中最好的Diff库是什么?

我看过diff-lcs(http://raa.ruby-lang.org/project/diff-lcs),但它记录很少,似乎没有维护.

是否有任何好的,积极维护的红宝石宝石用于区分文本或html文件?

ruby diff rubygems

14
推荐指数
2
解决办法
9337
查看次数

如何在Ruby中测试XML相等性?

显然,我需要(a)将两个字符串转换为规范XML或(b)比较它们的解析树.以下不起作用,因为返回的文档对象没有明确的==定义.

Nokogiri.XML(doc_a) == Nokogiri.XML(doc_b)
Run Code Online (Sandbox Code Playgroud)

以下也不是,因为Nokogiri to_xml留下了一些内部空白:

Nokogiri.XML(doc_a).to_xml == Nokogiri.XML(doc_b).to_xml
Run Code Online (Sandbox Code Playgroud)

这是一个合理的近似平等(并且适用于大多数情况),但它并不完全正确:

Nokogiri.XML(doc_a).to_xml.squeeze(' ') == Nokogiri.XML(doc_b).to_xml.squeeze(' ')
Run Code Online (Sandbox Code Playgroud)

我已经在使用Nokogiri,所以我更愿意坚持下去,但我会使用任何图书馆的作品.

ruby xml testing

12
推荐指数
2
解决办法
5534
查看次数

什么是以与版本页面上的SO相同的方式对两个字符串进行区分的算法?

我试图逐个区分两个字符串,类似于StackOverflow在版本编辑页面上对两个字符串进行区分的方式.这样做的算法是什么?是否有宝石或其他标准库可以实现这一目标?

编辑:我已经看到其他差异算法(与Ruby不同),他们似乎导致以下结果:

>> o = 'now is the time when all good men.'
>> p = 'now some time the men time when all good men.'
>> Differ.diff_by_word(o,p).format_as(:html)
=> "now <del class=\"differ\">some</del><ins class=\"differ\">is</ins> 
   <del class=\"differ\">time </del>the <del class=\"differ\">men </del>time
   when all good men."
Run Code Online (Sandbox Code Playgroud)

请注意单词基于每个单词的差异?我希望通过短语进行更多区分,所以上面的代码输出:

=> "now <del class=\"differ\">some time the men</del><ins class=\"differ\">is
   the</ins> time when all good men."
Run Code Online (Sandbox Code Playgroud)

我希望得到太多吗?

c# ruby algorithm

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

红宝石中的xml差异?

将两个xml文档与ruby合并的最佳/最快方法是什么?

我有两个xml文件,一个是格式化的,因此它具有视觉吸引力,一个不是(并且它有注释和空格剥离),它对整个节点进行了一些更改,并且经常更改.所以我试图找出一个简单而有效的解决方案来检查更改的内容(它们可能都没有ID),并将旧文档与格式化文档合并.

ruby xml diff merge

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

在Ruby中区分两个XML文档?

使用?查看两个xml文件之间差异的最简单方法是什么?

我查看了Hpricot和Nokogiri,但找不到任何好的比较方法.我也研究了像diffxml这样的unix工具,但宁愿在ruby中使用一些东西.

有人有任何想法吗?

ruby xml diff

5
推荐指数
1
解决办法
2758
查看次数

Ruby上的difflib

Ruby上有一个类似于Python的difflib的库吗?

特别是,我需要一个方法类似于difflib.get_close_matches.有什么建议?

ruby python string string-matching fuzzy-comparison

5
推荐指数
1
解决办法
658
查看次数

如何在Ruby中进行高级字符串比较?

我试图比较2段字符串,其输出必须是相似性的百分比.

我已尝试使用该diff方法和一些方法Natural Language Processing tools

在红宝石中有更好的方法吗?

ruby string string-comparison

4
推荐指数
1
解决办法
2861
查看次数