0

私の大学で犯罪のレポートを生成するプログラムを 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つエントリーしたい。これを行うためのパッケージが見つかりませんでした。これを行う方法はありますか?

4

1 に答える 1

3

あなたが探しているものは、屈折と呼ばれます。基本的に、それは単語のさまざまな形式、特に単数形から複数形、またはその反対を決定する黒魔術です。

このためのライブラリがあり、主に Ruby On RailsActiveSupport::Inflectorシステムから着想を得ています。たとえば、https://github.com/jinzhu/inflectionを参照してください。

http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.htmlも参照してください。英語の複数形化のアルゴリズムに関する非常に興味深い読み物です。

于 2016-04-03T21:09:39.057 に答える