JavaでPOSタグを構築する必要があり、開始方法を知る必要があります。 POSタガーがどのように機能するかを示すコード例やその他のリソースはありますか?品詞タグを構築する(POS Tagger)
答えて
既存のタグ付けの実装を調べることができます。
(クリスティーナToutanovaによる)は、Javaでのスタンフォード大学POSタガーに例えば参照してください、それはGNU一般公衆利用許諾契約書(後v2または)の下で提供され、ソースコードがよく書かれており、明確に文書化されています
http://nlp.stanford.edu/software/tagger.shtml
タギングについて読むこと良い本です: 音声・言語処理(第2版)ダニエル・ジューラフスキーによって、ジェームズ・H.マーティン
私は、スタンフォードPOSタガーが、その複雑な(そして一回限りの)確率モデルを前提にして、良い実装であるかどうかは分かりません。しかし、Jurafsky&Martinは読むべき本です。 –
Apache OpenNLPを試してみてください。これには、POS Taggerツールが含まれています。すぐに使える英語モデルはhereからダウンロードできます。
ドキュメントには、Javaアプリケーションからの使用方法の詳細が記載されています。基本的には次が必要です
InputStream modelIn = null;
try {
modelIn = new FileInputStream("en-pos-maxent.bin");
POSModel model = new POSModel(modelIn);
}
catch (IOException e) {
// Model loading failed, handle the error
e.printStackTrace();
}
finally {
if (modelIn != null) {
try {
modelIn.close();
}
catch (IOException e) {
}
}
}
は、POSタガーをインスタンス化
ロードPOSモデル
POSTaggerME tagger = new POSTaggerME(model);
実行し、それ
String sent[] = new String[]{"Most", "large", "cities", "in", "the", "US", "had", "morning", "and", "afternoon", "newspapers", "."};
String tags[] = tagger.tag(sent);
POSタガーではトークン化された文が必要です。 Apache OpenNLPは、これらのタスクを支援するツールとモデルも提供しています。
独自のモデルを訓練する必要がある場合は、documentationを参照してください。
- 1. Pos Tagger in PHP
- 2. POS注文製品合計
nlpは難解な未解決の問題です。問題を扱っている記事を探して、いくつかの提案されたソリューションを選択して実装し、より良い結果をもたらすものを選択する必要があります。 – amit
ええと... **あなたは一から自分自身を構築する**持っていますか?もしそうでなければ、あなたはAndreyまたはWColenが言いましたOpenNLPによってStanfordのものを使うことができます。スタンフォードの私の好み。それはかなりいいです。ビルドする必要がある場合は、宿題-yプロジェクトのように聞こえます。そうでなければ、本当にあなた自身のものを作る理由はない(私が少なくとも笑って考える理由はない)。 – dmn
POSタガーの作成は大きな作業です。理想的には、注釈付きコーパスを取得し、構文解析し、トークンの頻度を取得し、推定値を取得し、データを平滑化してから、モデルを構築します。このモデルは、ロジットやHMMのようなものを使用して、既存の確率的データのみに基づいている場合や、フィーチャに依存する管理対象の介入やMaxentまたはPerceptronモデルを使用することができます。また、Brilleのようなルールベースのタグを使用することで、確率モデルを完全に回避することもできます。 –