go - 判断一个词是否是另一个的复数形式

标签 go pluralize

我正在用 Go 编写一个程序来生成我所在大学的犯罪报告。我遇到了一个障碍,我需要找出一个词是否是另一个词的复数形式。我先做犯罪 map

crimes := make(map[string]int)

然后,将crimes添加到 map 中,出现次数为int

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

现在,当出现“武装抢劫(计数为 1)”和“武装抢劫(计数为 2)”等条目时,问题就出现了。我想检查一个词是否是另一个词的复数形式。在这种情况下,我想为“武装抢劫(计数为 3)”创建一个条目。我找不到这样做的包。有办法做到这一点吗?

最佳答案

您正在寻找的是变形。基本上,它是确定一个词的各种形式的魔法,特别是单复数形式或相反形式。

有用于此的库,大部分灵感来自 Ruby On Rails ActiveSupport::Inflector 系统,参见示例 https://github.com/jinzhu/inflection .

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

关于go - 判断一个词是否是另一个的复数形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36391147/

相关文章:

nlp - 词干提取和去复数化之间的区别

ruby-on-rails - 如何复数 Ruby (on Rails) 中的符号?

javascript - 如何在angularjs中对数字进行复数化和格式化

go - KafkaIO连接器/Apache Beam Transform“运行” SDK是否可用?

go - 使用golang使用云触发功能在firebase中进行项目间文件传输

Golang goroutine 共享 RPC 连接

go - 接受 tcp [::]: accept4: 打开的文件太多; 1s 重试

go - 数据库查询命令正在生成奇怪的 sql 查询

c# - EF Core 2.0 中的 EnglishPluralizationService 在哪里?