コマンドラインプログラム

GeoNLP ソフトウェアに含まれるコマンドラインプログラムについて説明します。

geonlp_api

書式

geonlp_api [–rc=<rc file>] [<jsonfile>]

説明

WebAPI で定義されている JSON リクエストを受け取り、処理結果を JSON 形式で返します。リクエストはファイル入力または標準入力から受け取ります。処理結果は常に標準出力に送られます。

オプション

–rc
geonlp リソースファイルを指定します。省略した場合、環境変数 GEONLP_DIR が設定されていれば、そのディレクトリにある geonlp.rc を利用します(バージョン1.2.0以降)。未設定の場合、 configure 時に指定したディレクトリの下の etc/geonlp.rc を利用します。同一マシン上で複数の設定を利用したい場合、環境変数を変更するか、リソースファイルを切り替えてください。
jsonfile

JSON リクエストが記載されているファイル名を指定します。複数のリクエストが記載されていても、最初のリクエストしか処理されません。

省略した場合、標準入力からリクエストを読み込みます。

geonlp_api_server

書式

geonlp_api_server [–rc=<rc file>] [–port=<port>]

説明

WebAPI で定義されている JSON リクエストを受け取り、処理結果を JSON 形式で返すサーバプロセスを起動します。リクエストおよびレスポンスは TCP ポートを介して他プロセスと送受信します。

オプション

–rc
geonlp リソースファイルを指定します。省略した場合、環境変数 GEONLP_DIR が設定されていれば、そのディレクトリにある geonlp.rc を利用します(バージョン1.2.0以降)。未設定の場合、 configure 時に指定したディレクトリの下の etc/geonlp.rc を利用します。同一マシン上で複数の設定を利用したい場合、環境変数を変更するか、リソースファイルを切り替えてください。
port
通信する TCP/IP ポート番号を指定します。省略した場合、 8888 を利用します。

geonlp_ma

書式

geonlp_ma [–rc=<rc file>]

説明

自然文テキストを受け取り、拡張形態素解析を行った結果を返します。入出力は常に標準入出力を利用します。拡張形態素解析では、通常の形態素解析で分割された単語列から、品詞パターンにより地名となる可能性がある組み合わせを抽出し、地名語辞書を参照することで候補の一覧を付与します。

オプション

–rc
geonlp リソースファイルを指定します。省略した場合、環境変数 GEONLP_DIR が設定されていれば、そのディレクトリにある geonlp.rc を利用します(バージョン1.2.0以降)。未設定の場合、 configure 時に指定したディレクトリの下の etc/geonlp.rc を利用します。同一マシン上で複数の設定を利用したい場合、環境変数を変更するか、リソースファイルを切り替えてください。

$ echo '沖縄県の南海上で台風が発生しました' | geonlp_ma

沖縄県  名詞,固有名詞,地名語,GzfYzt:沖縄県,-,*,沖縄県,オキナワケン,オキナワケン
の      助詞,連体化,*,*,*,*,の,ノ,ノ
南海    名詞,固有名詞,地名語,cKm02K:南海町/UpBBK0:南海,名詞-一般-*,*,南海,ナンカイ,ナンカイ
上      名詞,接尾,副詞可能,*,*,*,上,ジョウ,ジョー
で      助詞,格助詞,一般,*,*,*,で,デ,デ
台風    名詞,一般,*,*,*,*,台風,タイフウ,タイフー
が      助詞,格助詞,一般,*,*,*,が,ガ,ガ
発生    名詞,サ変接続,*,*,*,*,発生,ハッセイ,ハッセイ
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
まし    助動詞,*,*,*,特殊・マス,連用形,ます,マシ,マシ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
EOS

この解析結果では、「沖縄県」と「南海」が地名語辞書に登録されている地名語の可能性があります。「沖縄県」に該当する地名語の geonlp_id は GzfYzt で代表表記は「沖縄県」です。

一方、「南海」に該当する地名語は cKm02K:南海町 と UpBBK0:南海 の二つあり、一番目の地名語は geonlp_id が cKm02K で代表表記が「南海町」、二番目の地名語は geonlp_id が UpBBK0 で代表表記が「南海」です。また、この単語は地名語ではなく、「名詞-一般-*」の可能性もあります。

CaboCha による構文解析

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

書式

geonlp_add [–rc=<rc file>] <jsonfile.json> <jsonfile.csv>

説明

地名解析辞書ファイルをインポートします。インポートされた地名は geonlp_rebuild または geonlp_ma_makedic コマンドでインデックスを作り直すと、検索や抽出に利用されるようになります。

オプション

–rc
geonlp リソースファイルを指定します。省略した場合、環境変数 GEONLP_DIR が設定されていれば、そのディレクトリにある geonlp.rc を利用します(バージョン1.2.0以降)。未設定の場合、 configure 時に指定したディレクトリの下の etc/geonlp.rc を利用します。同一マシン上で複数の設定を利用したい場合、環境変数を変更するか、リソースファイルを切り替えてください。
jsonfile.json
地名解析辞書ファイル(zip)を展開して得られる、拡張子が “.json” の辞書情報ファイル名を指定します。
jsonfile.csv
地名解析辞書ファイル(zip)を展開して得られる、拡張子が “.csv” の辞書データファイル名を指定します。

geonlp_rebuild

書式

geonlp_rebuild [–rc=<rc file>]

説明

地名語辞書の検索用インデックスを再構築します。

geonlp_ma_makedic とは異なり形態素解析用のユーザ辞書は更新しないため、短時間で更新処理が終わりますが、一部の地名は正しく抽出できない可能性があります。

オプション

–rc
geonlp リソースファイルを指定します。省略した場合、環境変数 GEONLP_DIR が設定されていれば、そのディレクトリにある geonlp.rc を利用します(バージョン1.2.0以降)。未設定の場合、 configure 時に指定したディレクトリの下の etc/geonlp.rc を利用します。同一マシン上で複数の設定を利用したい場合、環境変数を変更するか、リソースファイルを切り替えてください。

geonlp_ma_makedic

書式

geonlp_ma_makedic [-uvinh] [-f <makedic.rc file>] [-d <id>] [-o <csv outputfile>] [<rc file>]

説明

地名語辞書に登録されている地名語を正しく形態素解析できるように、形態素解析用のユーザ辞書を作成、更新します。

たとえば「せたな町」のような辞書にない地名を形態素解析すると、以下のように分解されてしまいます。このような語は形態素解析用のユーザ辞書に新たに登録する必要があります。

せ      動詞,接尾,*,*,一段,連用形,せる,セ,セ,,
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ,,
な      助詞,終助詞,*,*,*,*,な,ナ,ナ,,
町      名詞,一般,*,*,*,*,町,マチ,マチ,,
EOS

geonlp_ma_makedic は、地名語辞書に登録されている地名語をすべて検査し、必要に応じて形態素解析用のユーザ辞書を更新します。ある地名語を登録すると他の地名語が抽出できなくなることもあるため、この処理は収束するまで繰り返し実行する必要があり、処理に時間がかかります。

オプション

rc file
geonlp リソースファイルを指定します。省略した場合、 configure 時に指定したディレクトリの下の etc/geonlp.rc を利用します。このコマンドに限り、環境変数 GEONLP_DIR を参照しません。同一マシン上で複数の設定を利用した場合、リソースファイルを切り替えてください。
-u
地名語辞書の検索用インデックスも同時に更新します。 geonlp_rebuild と同じ処理です。
-v
対話モードをオンにします。登録が必要な語と生起コストが標準出力に表示されるため、経過をチェックすることができます。デバッグ目的以外では利用する必要はありません。
-i, -n, -d=<id>

形態素解析用ユーザ辞書に地名語を登録する際に、地名語に与える品詞IDを決定します。省略するとインストールされている辞書をチェックして最適な値を決定しますので、通常は指定する必要はありません。

-i を指定した場合には IPADIC 互換の 1293 を、 -n を指定した場合には naist-jdic 互換の 1365 が与えられます。 -d を指定した場合には任意の ID を与えることができます。

-f
このコマンドの設定ファイルである geonlp_ma_makedic.rc を指定します。省略した場合には configure 時に指定したディレクトリの下の etc/geonlp_ma_makedic.rc を利用します。デバッグ目的以外では指定する必要はありません。
-o
登録する地名語と生起コストを記載した CSV ファイルを出力します。 mecab-dict-index で読み込める形式になっています。