"monkeys"、 "eat"、 "bananas"を使ってサブジェクト、動詞、およびオブジェクトを指定する次のSimpleNLGコードは、それぞれ "monkey eats bananas"という文を生成します。したがって、複数の名詞を単数形に変換したことがわかります(それに応じて動詞が同意することが保証されます)。 SimpleNLGがそれらが複数であることを確実に検出し、そのように保つ方法がありますか?特定のレキシコンファイルがこれを行うかもしれないことをドキュメンテーションで見てきましたが、NIH Lexiconを試しましたが、それは役に立たなかった。これは単純にSimpleNLGでサポートされていませんか?それとも、SimpleNLGを使ってやる方法がありますか?SimpleNLG - 名詞が単数形か複数形かをSimpleNLGが自動的に検出することは可能ですか?
Lexicon = new Lexicon.getDefaultLexicon()
nlgFactory = new NLGFactory(lexicon);
Realiser realiser = new Realiser(lexicon);
NPPhraseSpec subject = nlgFactory.createNounPhrase("monkeys");
VPPhraseSpec verb = nlgFactory.createVerbPhrase("eat");
NPPhraseSpec object = nlgFactory.createNounPhrase("bananas");
SPhraseSpec clause = nlgFactory.createClause();
clause.setSubject(subject);
clause.setVerbPhrase(verb);
clause.setObject(object);
System.out.print(realiser.realiseSentence(clause));
SimpleNLGから品詞タグを取得するコードをハッキングすることはお勧めしません。たとえ単純化したほうが痩せていますが、元のユースケースに合わないライブラリを使用しようとすると混乱します。 – macmania314