找出一个单词是否是另一个单词的复数

时间:2016-04-03 21:02:35

标签: go pluralize

我正在Go写一个程序来生成我大学的犯罪报告。我遇到了障碍,我需要找到一个单词是否是另一个单词的复数。我正在制作犯罪地图

crimes := make(map[string]int)

然后,将犯罪添加到地图中,其出现次数为int

for i := 0; i < len(feed.Items); i++ {
  crimes[feed.Items[i].Title[11:]]++
}

现在,当存在诸如“武装抢劫(数量为1)”和“武装抢劫(数量为2)”之类的条目时,问题就出现了。我想检查一个单词是否是另一个单词的复数。在这种情况下,我想为“武装抢劫(数量为3)”制作一个条目。我找不到这样做的包。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

您要找的是变形。基本上,它是决定一个词的各种形式的黑色艺术,特别是复数形式的单数形式,或相反的。

有这样的库,主要来自Ruby On Rails ActiveSupport::Inflector系统,例如参见https://github.com/jinzhu/inflection

另见http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html有关英语复数化算法的非常有趣的读物。