GeoNLP ソフトウェアに含まれるコマンドラインプログラムについて説明します。
geonlp_api [–rc=<rc file>] [<jsonfile>]
WebAPI で定義されている JSON リクエストを受け取り、処理結果を JSON 形式で返します。リクエストはファイル入力または標準入力から受け取ります。処理結果は常に標準出力に送られます。
JSON リクエストが記載されているファイル名を指定します。複数のリクエストが記載されていても、最初のリクエストしか処理されません。
省略した場合、標準入力からリクエストを読み込みます。
geonlp_api_server [–rc=<rc file>] [–port=<port>]
WebAPI で定義されている JSON リクエストを受け取り、処理結果を JSON 形式で返すサーバプロセスを起動します。リクエストおよびレスポンスは TCP ポートを介して他プロセスと送受信します。
geonlp_ma [–rc=<rc file>]
自然文テキストを受け取り、拡張形態素解析を行った結果を返します。入出力は常に標準入出力を利用します。拡張形態素解析では、通常の形態素解析で分割された単語列から、品詞パターンにより地名となる可能性がある組み合わせを抽出し、地名語辞書を参照することで候補の一覧を付与します。
$ echo '沖縄県の南海上で台風が発生しました' | geonlp_ma
沖縄県 名詞,固有名詞,地名語,GzfYzt:沖縄県,-,*,沖縄県,オキナワケン,オキナワケン
の 助詞,連体化,*,*,*,*,の,ノ,ノ
南海 名詞,固有名詞,地名語,cKm02K:南海町/UpBBK0:南海,名詞-一般-*,*,南海,ナンカイ,ナンカイ
上 名詞,接尾,副詞可能,*,*,*,上,ジョウ,ジョー
で 助詞,格助詞,一般,*,*,*,で,デ,デ
台風 名詞,一般,*,*,*,*,台風,タイフウ,タイフー
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
発生 名詞,サ変接続,*,*,*,*,発生,ハッセイ,ハッセイ
し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
まし 助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS
この解析結果では、「沖縄県」と「南海」が地名語辞書に登録されている地名語の可能性があります。「沖縄県」に該当する地名語の geonlp_id は GzfYzt で代表表記は「沖縄県」です。
一方、「南海」に該当する地名語は cKm02K:南海町 と UpBBK0:南海 の二つあり、一番目の地名語は geonlp_id が cKm02K で代表表記が「南海町」、二番目の地名語は geonlp_id が UpBBK0 で代表表記が「南海」です。また、この単語は地名語ではなく、「名詞-一般-*」の可能性もあります。
geonlp_ma の出力フォーマットは CaboCha のレイヤー1互換です(GeoNLP software 1.0.7 以降)ので、 CaboCha を利用して構文解析、係り受け解析を行うことができます。より深い自然言語処理を行いたい場合にご利用ください。
% echo 'NII は神保町駅から徒歩5分です。' | geonlp_ma | cabocha -I1
EOS
NIIは-----D
神保町駅から---D
徒歩-D
5分です。
EOS
% echo 'NII は神保町駅から徒歩5分です。' | geonlp_ma | cabocha -I1 -f1
EOS
* 0 3D 0/1 -1.023186
NII 名詞,固有名詞,組織,*,*,*,*,,
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
* 1 3D 0/1 -1.023186
神保町駅 名詞,固有名詞,地名語,lB4wcR:神保町駅/tp1al0:神保町駅/rQ1HpF:神保町駅/pnTSo0:神保町駅/7jSL63:神保町駅,*,*,神保町駅,ジンボウチョウエキ,ジンボウチョウエキ
から 助詞,格助詞,一般,*,*,*,から,カラ,カラ
* 2 3D 0/0 -1.023186
徒歩 名詞,一般,*,*,*,*,徒歩,トホ,トホ
* 3 -1D 1/2 0.000000
5 名詞,数,*,*,*,*,5,ゴ,ゴ
分 名詞,接尾,助数詞,*,*,*,分,フン,フン
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。 記号,句点,*,*,*,*,。,。,。
EOS
CaboCha のインストール方法や利用条件、出力結果の見方などは CaboCha の説明をご参照ください。
geonlp_add [–rc=<rc file>] <jsonfile.json> <jsonfile.csv>
地名解析辞書ファイルをインポートします。インポートされた地名は geonlp_rebuild または geonlp_ma_makedic コマンドでインデックスを作り直すと、検索や抽出に利用されるようになります。
geonlp_rebuild [–rc=<rc file>]
地名語辞書の検索用インデックスを再構築します。
geonlp_ma_makedic とは異なり形態素解析用のユーザ辞書は更新しないため、短時間で更新処理が終わりますが、一部の地名は正しく抽出できない可能性があります。
geonlp_ma_makedic [-uvinh] [-f <makedic.rc file>] [-d <id>] [-o <csv outputfile>] [<rc file>]
地名語辞書に登録されている地名語を正しく形態素解析できるように、形態素解析用のユーザ辞書を作成、更新します。
たとえば「せたな町」のような辞書にない地名を形態素解析すると、以下のように分解されてしまいます。このような語は形態素解析用のユーザ辞書に新たに登録する必要があります。
せ 動詞,接尾,*,*,一段,連用形,せる,セ,セ,,
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ,,
な 助詞,終助詞,*,*,*,*,な,ナ,ナ,,
町 名詞,一般,*,*,*,*,町,マチ,マチ,,
EOS
geonlp_ma_makedic は、地名語辞書に登録されている地名語をすべて検査し、必要に応じて形態素解析用のユーザ辞書を更新します。ある地名語を登録すると他の地名語が抽出できなくなることもあるため、この処理は収束するまで繰り返し実行する必要があり、処理に時間がかかります。
形態素解析用ユーザ辞書に地名語を登録する際に、地名語に与える品詞IDを決定します。省略するとインストールされている辞書をチェックして最適な値を決定しますので、通常は指定する必要はありません。
-i を指定した場合には IPADIC 互換の 1293 を、 -n を指定した場合には naist-jdic 互換の 1365 が与えられます。 -d を指定した場合には任意の ID を与えることができます。