Opennlp-finding-parts-of-speech
OpenNLP-品詞の検索
OpenNLPを使用すると、特定の文の品詞を検出して印刷することもできます。 品詞のフルネームの代わりに、OpenNLPは各品詞の短い形式を使用します。 次の表は、OpenNLPによって検出されたスピーチのさまざまな部分とその意味を示しています。
Parts of Speech | Meaning of parts of speech |
---|---|
NN | Noun, singular or mass |
DT | Determiner |
VB | Verb, base form |
VBD | Verb, past tense |
VBZ | Verb, third person singular present |
IN | Preposition or subordinating conjunction |
NNP | Proper noun, singular |
TO | to |
JJ | Adjective |
品詞のタグ付け
文の品詞にタグを付けるために、OpenNLPは en-posmaxent.bin という名前のファイルであるモデルを使用します。 これは、所定の生テキストの品詞にタグを付けるように訓練された事前定義モデルです。
- POSModel クラスを使用して en-pos-maxent.bin モデルを読み込みます。
- POSTaggerME クラスをインスタンス化します。
- 文をトークン化します。
- * tag()*メソッドを使用してタグを生成します。
- POSSample クラスを使用してトークンとタグを印刷します。
以下は、 POSTaggerME クラスを使用して、指定された生テキストのスピーチの部分にタグを付けるプログラムを作成するために従うべき手順です。
ステップ1:モデルを読み込む
POSタグ付けのモデルは、パッケージ opennlp.tools.postag に属する POSModel という名前のクラスで表されます。
トークナイザーモデルをロードするには-
- モデルの InputStream オブジェクトを作成します(FileInputStreamをインスタンス化し、モデルのパスをString形式でコンストラクターに渡します)。
- 次のコードブロックに示すように、 POSModel クラスをインスタンス化し、モデルの InputStream (オブジェクト)をそのコンストラクタへのパラメータとして渡します-
ステップ2:POSTaggerMEクラスのインスタンス化
パッケージ opennlp.tools.postag の POSTaggerME クラスは、指定された生テキストの品詞を予測するために使用されます。 最大エントロピーを使用して決定を行います。
以下に示すように、このクラスをインスタンス化し、前の手順で作成されたモデルオブジェクトを渡します-
ステップ3:文のトークン化
ステップ4:タグを生成する
前のステップで生成されたトークンを渡すことにより、* tag()*メソッドを呼び出します。
ステップ5:トークンとタグを印刷する
このクラスの* toString()メソッドは、タグ付きの文を返します。 次のコードブロックに示すように、前の手順で作成したトークンとタグ配列を渡してこのクラスをインスタンス化し、その toString()*メソッドを呼び出します。
例
以下は、与えられた生のテキストの品詞にタグを付けるプログラムです。 このプログラムを* PosTaggerExample.java。*という名前のファイルに保存します
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します-
実行時に、上記のプログラムは指定されたテキストを読み取り、これらの文の品詞を検出して、以下に示すように表示します。
POSタガーパフォーマンス
以下は、生のテキストの品詞にタグを付けるプログラムです。 また、パフォーマンスを監視し、タガーのパフォーマンスを表示します。 このプログラムを PosTagger_Performance.java という名前のファイルに保存します。
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します-
実行時に、上記のプログラムは指定されたテキストを読み取り、これらの文の品詞にタグを付けて表示します。 さらに、POSタガーのパフォーマンスも監視して表示します。
POSタガー確率
以下は、最後のタグ付き文の各タグの確率を表示するプログラムです。 このプログラムを PosTaggerProbs.java という名前のファイルに保存します。
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します-
実行時に、上記のプログラムは指定された生のテキストを読み取り、トークン内の各トークンの品詞にタグを付けて表示します。 さらに、以下に示すように、特定の文の品詞ごとの確率も表示します。