gpt4 book ai didi

ruby - 如何查找和计算所有重复的 2/3/4 个单词短语

转载 作者:行者123 更新时间:2023-12-04 07:16:11 26 4
gpt4 key购买 nike

我一直在尝试解析 300-400 个单词的文本,并获得所有重复的 2/3/4 个单词短语,但我想不出解决方案。
有了一个词的共性,我简单地将文本拆分为 .each_slice 1,然后是 .map 和 .tally。
但是对于 2 个以上的单词, .each_slice 不起作用,因为我无法解释订单。例如,文本是:

An alligator walked and an alligator walked alone.
它会 split 为:
The alligator | walked and | another alligator | walked alone
我可以编写什么代码来识别“鳄鱼行走”重复自己?
我能想到的唯一解决方案是每次删除第一个单词,这样这对组合就会不断变化并获得所有选项,但这似乎非常愚蠢..
任何帮助表示赞赏!

最佳答案

您正在寻找的方法是 Enumerable#each_cons ,不是 Enumerable#each_slice .
我不知道您当前的解决方案究竟是什么样子(最好共享您的实际代码而不是对代码的松散描述:“我只是 .split 文本,.each_slice 1,然后是 .map.tally "!),但例如您可以执行以下操作:

input = "An alligator walked and an alligator walked alone"

input.split(' ').map(&:downcase).each_cons(2).tally
# => {
# ["an", "alligator"]=>2,
# ["alligator", "walked"]=>2,
# ["walked", "and"]=>1,
# ["and", "an"]=>1,
# ["walked", "alone"]=>1
# }

关于ruby - 如何查找和计算所有重复的 2/3/4 个单词短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68746547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com