Apache OpenNLPは自然言語処理のツールキットであり、Javaライブラリとコマンドライン・インタフェースを提供している。 Pythonの spaCy , NLTK , Stanford NLP Groupが提供するJavaライブラリ群 などと同種のもの。
プロジェクトメンバー の所属先は、 確認できた範囲でLucidworks(エンタープライズサーチの会社), Rockwell Collins(航空機関連のメーカ), Google, バスク大学など。どこか1企業が主導しているというわけではなさそう。
OpenNLPが提供する機能は以下の通り。
- 本体
- Language Detector (言語判別器)
- Sentence Detector (文区切り器)
- Tokenizer (単語区切り器)
- Name Finder / Named Entity Recognition (固有表現抽出器)
- Part-of-Speech Tagger (単語に品詞を割り当てる)
- Lemmatizer (原型化)
- Parser (構文木を作る)
- Chunker (浅い構文木を作る)
- Document Categorizer (文書分類器)
- Coreference Resolution (指示語の参照先を見つける)
- Apache UIMA(自然言語処理パイプラインのフレームワーク)などとの統合
参照:
- NameFinderME#find(String[] tokens)
- NameFinderME#find(String[] tokens, String[][] additionalContext)
- BeamSearch#bestSequences()
- ここが本命の処理っぽい。
- 呼び出し先
- MaxentModel#eval(String[], double[])
- MaxentModel#getOutcome(index)
-
Apache OpenNLP(以下OpenNLP)は、 統計的自然言語処理(Statistical Natural Language Processing)のためのツールキットです。 Javaで実装されたOSSの自然言語処理(NLP)ライブラリであり、 2010年11月にApache Incubatorに寄贈され、 2012年2月にApacheのトップレベルプロジェクト(TLP)に昇格しました。