トピックのような質問 - Google App Engine のアプリの python でそれをやろうとしています。PyEnchant ライブラリが自然言語認識に使用されていることは知っていますが、問題に使用できるかどうか、またどのように使用できるかわかりません。
3 に答える
Ashwini は便利なinflectライブラリに言及しましたが、与えられた単語が複数形か単数形かをチェックする方法については説明しませんでした。
単語が単数形または複数形であることがわかっている場合は、次のように使用できます。
singular_noun(word)
これは、単語が複数形でない場合に返さFalse
れるため、理論上は単語は単数形である必要があります。
私の例に示されている古典的な複数形、単数形または複数形の形式に関する欠点、および一般的に認識されていない形式に対して False を返すという事実に注意してください。
import inflect
inflect = inflect.engine()
english_words = ["hat", "hats",
"hero", "heroes",
"cherry", "cherries",
"dish", "dishes",
"stadium", "stadia", "stadiums",
"mitochondrion", "mitochondria",
"sheep", "a sheep", "the sheep",
"whjkjhkjh", "msipelling"]
for en in english_words:
if inflect.singular_noun(en) == False:
print (en, "is singular")
else:
print (en, "is plural")
>>>
hat is singular
hats is plural
hero is singular
heroes is plural
cherry is singular
cherries is plural
dish is singular
dishes is plural
stadium is singular
stadia is singular
stadiums is plural
mitochondrion is singular
mitochondria is singular
sheep is plural
a sheep is plural
the sheep is plural
whjkjhkjh is singular
inflect 0.2.4ライブラリをチェックアウトします。
屈折 0.2.4
複数形、単数名詞、序数、不定冠詞を正しく生成します。数字を単語に変換する
問題が孤立した単語なのか、英語の文章の文脈での単語なのかはわかりません。
たとえば、「羊」は単一または複数のいずれかです。でも:
羊は野原にいました
特異であり、
羊は野原にいました
複数形です。
後者の場合、文中の名詞の役割を識別する品詞タガーが必要です。無料のものと商用のものがたくさんあり、ウィキペディアには優れたリストがあります。NLTKはおそらくPythonにとって自然な選択です。
孤立した単語しかない場合は、多くの辞書( 単数形および複数形の名詞を示すWordnetなど)を参照するのが最善の方法です。