0

String 変数にランダムなテキスト コンテンツがあります。ユーザーが指定した特定の単語の語形変化をすべて探したいと思います。

: ユーザーが「assist」という単語を探している場合、文字列内のすべての「assist、assists、assisted、assisting」を取得する必要があります。

問題は、指定された String でそのような変化を自動的に検出するために利用できる Java ライブラリがあるかどうかです。

注:これを行うと主張するWolframAlphaと呼ばれる Java ライブラリを見たことがあります。ここにその Web インターフェイスがありますが、このライブラリが機能しているとは思えず、それを使用するためのガイドもありません。

4

3 に答える 3

1

まず第一に、これは Java ライブラリではなく、以前は Mathematica として知られていた Wolfram 言語です。JLink があり、Java から呼び出すことができますが、コードを実行する Wolfram Kernel が実行されている必要があります。

これは自然言語処理と呼ばれ、巨大で複雑な分野です。私はいくつかの問題をいじりましたが、信頼できる解決策を得たい場合、これは複雑ではなく難しいと言えます。

あなたが見たいと思うかもしれないものは次のとおりです:スタンフォードNLP

于 2014-09-03T11:49:31.850 に答える
0

これをチェックしてください..

要件の大きさはわかりませんが、いつでもウィクショナリーを使用してデータを解析できますか??

この質問を確認してください。

于 2014-09-03T11:45:12.857 に答える
0

これは単語ステミングと呼ばれます。まず、(特定の言語の場合) 語幹を導出する必要があります。

assisting -> assist using -ance, -ing, -ly, -s, -ed etcetera.
sought -> search using an exception list

次に、おそらく正規表現 (Matcher.find) を使用して検索を行います。パターン:

"\\bassist\\p{L}*"
"\\b(search|sought)\\p{L}"

接頭辞 un- disinter- の場合、ケースはさらに複雑になりますが、一般に、語尾変化は英語の語尾です。次に同義語検索です。

そこにある辞書は、しばしばコーパスと呼ばれます。「無料英語コーパス」で検索すると出てきます。

\\b= 単語境界 p{L}*= 0 個以上 ( *) 個の文字

于 2014-09-03T12:10:52.137 に答える