Named Entity Recogniserを探しているようです。
いくつかの選択肢があります。
Stanford Natural Language Processing Group のCRFClassifierは、Named Entity Recogniser の Java 実装です。
GATE (General Architecture for Text Engineering)は、言語処理用のオープン ソース スイートです。開発者向けページhttp://gate.ac.uk/family/developer.htmlのスクリーンショットをご覧ください。これで何ができるかが簡単にわかるはずです。ビデオ チュートリアルでは、このソフトウェアが提供する機能の概要をよりよく理解できます。
必要に応じて、いずれかをカスタマイズする必要がある場合があります。
他にも次のオプションがあります。
CRFClassifier のトレーニングに関しては、FAQ で簡単な説明を見つけることができます。
...トレーニング データはタブで区切られた列にある必要があり、それらの列の意味をマップで定義します。1 つの列は "answer" と呼ばれ、NER クラスを持ち、既存の機能は "word" や "tag" などの名前を認識します。プロパティ ファイルを使用して、データ ファイル、マップ、および生成するフィーチャを定義します。NERFeatureFactory の Javadoc には、さまざまなプロパティが生成する機能に関するかなりのドキュメントがありますが、最終的には、いくつかの質問に答えるためにソース コードにアクセスする必要があります...
CRFClassifierの javadoc にもコード スニペットがあります。
典型的なコマンドラインの使用法
テキスト ファイルで提供されたシリアル化された分類子を使用してトレーニング済みモデルを実行する場合:
java -mx500m edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier
conll.ner.gz -textFile samplesentences.txt
プロパティ ファイル (トレーニング、テスト、またはランタイム) ですべてのパラメーターを指定する場合:
java -mx1g edu.stanford.nlp.ie.crf.CRFClassifier -prop propFile
コマンド ラインから単純な NER モデルをトレーニングしてテストするには、次のようにします。
java -mx1000m edu.stanford.nlp.ie.crf.CRFClassifier -trainFile
trainFile -testFile testFile -macro > output