再発性ニューラルネットワーク言語モデル(RNNLM)を使用して、単語シーケンスのセマンティックな妥当性を考慮する新しい形態学的分析器。バージョン2は、元のJuman ++よりも分析速度が大幅に改善され、より良い精度が高く(> 250x)。
sudo apt install libprotobuf-dev protobuf-compilerCentosおよびRhel誘導体または非cmakeの代替品については、このドキュメントをお読みください。
リリースからパッケージをダウンロードします
重要:ダウンロードは約300 MBでなければなりません。そうでない場合は、おそらくモデルを含まないソーススナップショットをダウンロードした可能性があります。
$ tar xf jumanpp- < version > .tar.xz # decompress the package
$ cd jumanpp- < version > # move into the directory
$ mkdir bld # make a subdirectory for build
$ cd bld
$ cmake ..
-DCMAKE_BUILD_TYPE=Release # you want to do this for performance
-DCMAKE_INSTALL_PREFIX= < prefix > # where to install Juman++
$ make install -j < parallelism > 重要:パッケージ分布のみには、前提条件のモデルが含まれており、分析に使用できます。現在のGITバージョンは、2.0-RC1および2.0-RC2のモデルと互換性がありません。
$ mkdir cmake-build-dir # CMake does not support in-source builds
$ cd cmake-build-dir
$ cmake ..
$ make # -j % echo "魅力がたっぷりと詰まっている" | jumanpp
魅力 みりょく 魅力 名詞 6 普通名詞 1 * 0 * 0 "代表表記:魅力/みりょく カテゴリ:抽象物"
が が が 助詞 9 格助詞 1 * 0 * 0 NIL
たっぷり たっぷり たっぷり 副詞 8 * 0 * 0 * 0 "自動認識"
と と と 助詞 9 格助詞 1 * 0 * 0 NIL
詰まって つまって 詰まる 動詞 2 * 0 子音動詞ラ行 10 タ系連用テ形 14 "代表表記:詰まる/つまる ドメイン:料理・食事 自他動詞:他:詰める/つめる"
いる いる いる 接尾辞 14 動詞性接尾辞 7 母音動詞 1 基本形 2 "代表表記:いる/いる"
EOS
usage: jumanpp [options]
-s, --specifics lattice format output (unsigned int [=5])
--beam <int> set local beam width used in analysis (unsigned int [=5])
-v, --version print version
-h, --help print this message
--model <file> specify a model location
--helpを使用して、より多くのオプションを確認します。
Juman ++は、UTF-8エンコードされたテキストのみを入力として処理できます。 #で始まる行はコメントとして解釈されます。
このリポジトリでは、ジュマンディックモデルをトレーニングするためのスクリプトのセットを利用できます。システム辞書を変更して、訓練されたモデルに他のエントリを追加することができます。
注意:1995年のMainichi shinbunにアクセスして、京都界の統一者を訓練に使用できるようにする必要があります。
格子全体のサブセットを表示するWebデモの周りで再生できます。デモはまだV1を使用していますが、すぐにV2に更新されます。
2つの異なるビーム構成が異なる分析を生成する文を見ることができます。 src/jumandic/jpp_jumandic_pathdiff binary(source)(コンパイルルートに対する)が行います。ここでの唯一のジュマンド固有のことは、コード生成された線形モデル推論の使用です。
jpp_jumandic_pathdiff <model> <input> > <output>としてバイナリを使用します。
出力は部分的な注釈形式であり、完全なビーム結果は実際のタグであり、コメントとして記述されるビーム結果をトリミングします。
例:
# scores: -0.602687 -1.20004
# 子がい pos:名詞 subpos:普通名詞 <------- trimmed beam result
# S-ID:w201007-0080605751-6 COUNT:2
熊本選抜にはマリノス、アントラーズのユースに行く
子 pos:名詞 subpos:普通名詞 <------- full beam result
が pos:助詞 subpos:格助詞
い baseform:いる conjtype:母音動詞 pos:動詞 conjform:基本連用形
ます
部分的な注釈ツールもあります。詳細については、https://github.com/eiennohito/nlp-tools-demoを参照してください。
最高のパフォーマンスを得るには、拡張命令セットで構築する必要があります。 juman ++をローカルでのみ使用することを計画している場合は、 -DCMAKE_CXX_FLAGS="-march=native"を指定します。
Intel Haswellと新しいプロセッサで最適に機能します(FMAおよびBMI命令セット拡張機能のため)。
Juman ++は一般的なツールです。それは、司法や日本の言語に依存しません(日本固有の機能はありますが)。入力テキストに単語の境界がない場合のケースのT9テキスト入力に類似したものを実装する方法を示すこのチュートリアルプロジェクトを参照してください。
モデル自体について:再発性ニューラルネットワーク言語モデルを使用したセグメント化されていない言語の形態分析。ハジメ・モリタ、川原大馬、黒子田a。 EMNLP 2015リンク、Bibtex。
V2即興: Juman ++ V2:実用的で最新の形態分析器。アルセニー・トルマチェフと黒原佐藤。自然言語加工協会の第24回年次会議の議事録。 2018年3月、岡山、日本。 (PDF、スライド)
ANLP2018スライドの形態分析ワークショップ:形態素解析システムjuman++。 河原、アルセニー・トルマチョフ。 (日本語)スライド。
Juman ++:Scriptio Continua用の形態学的分析ツールキット。アルセニー・トルマチョフ、川原大uke、黒原田a。 EMNLP 2018、ブリュッセル。 PDF、ポスター、bibtex。
Juman ++形態学的分析装置ツールキットの設計と構造。アルセニー・トルマチェフ、川原大uke、黒子田a。 Journal of Natural Language Processing(Paper、Bibtex)。
Juman ++ V1をアカデミック環境で使用する場合は、最初の作業(EMNLP2015)を引用してください。 Juman ++ V2を使用している場合は、1番目と4番目の(EMNLP2018)論文の両方を引用してください。
Juman ++が使用するすべてのライブラリのリストはこちらです。
これは、Juman ++書き換えのブランチです。元のバージョンは、レガシーブランチに住んでいます。