パスワードを忘れた? アカウント作成
15423437 journal
人工知能

yasuokaの日記: 日本語・中国語・タイ語の係り受け解析モジュールesuparリリース(仮)

日記 by yasuoka

9月14日一昨日昨日の日記の手法を一まとめにして、esuparというpython3モジュールとしてリリース(仮)した。日本語と中国語(簡化字・繁体字および文言文/漢文)とタイ語の係り受け解析がおこなえる。Linux系OSなら

$ pip3 install esupar --user

一発でインストール可能なはずだ。インストールがうまくいったら、まずは「太郎は花子が読んでいる本を次郎に渡した」を係り受け解析してみよう。

$ python3
>>> import esupar
>>> nlp=esupar.load("ja")
>>> doc=nlp("太郎は花子が読んでいる本を次郎に渡した")
>>> print(doc)
1    太郎    _    PROPN    _    _    12    nsubj    _    SpaceAfter=No
2    は    _    ADP    _    _    1    case    _    SpaceAfter=No
3    花子    _    PROPN    _    _    5    nsubj    _    SpaceAfter=No
4    が    _    ADP    _    _    3    case    _    SpaceAfter=No
5    読ん    _    VERB    _    _    8    acl    _    SpaceAfter=No
6    で    _    SCONJ    _    _    5    mark    _    SpaceAfter=No
7    いる    _    AUX    _    _    5    aux    _    SpaceAfter=No
8    本    _    NOUN    _    _    12    obj    _    SpaceAfter=No
9    を    _    ADP    _    _    8    case    _    SpaceAfter=No
10    次郎    _    PROPN    _    _    12    obl    _    SpaceAfter=No
11    に    _    ADP    _    _    10    case    _    SpaceAfter=No
12    渡し    _    VERB    _    _    0    root    _    SpaceAfter=No
13    た    _    AUX    _    _    12    aux    _    _

>>> import deplacy
>>> deplacy.render(doc,Japanese=True)
太郎 PROPN ═╗<════════╗ nsubj(主語)
は   ADP   <╝         ║ case(格表示)
花子 PROPN ═╗<══╗     ║ nsubj(主語)
が   ADP   <╝   ║     ║ case(格表示)
読ん VERB  ═╗═╗═╝<╗   ║ acl(連体修飾節)
で   SCONJ <╝ ║   ║   ║ mark(標識)
いる AUX   <══╝   ║   ║ aux(動詞補助成分)
本   NOUN  ═╗═════╝<╗ ║ obj(目的語)
を   ADP   <╝       ║ ║ case(格表示)
次郎 PROPN ═╗<╗     ║ ║ obl(斜格補語)
に   ADP   <╝ ║     ║ ║ case(格表示)
渡し VERB  ═╗═╝═════╝═╝ root(親)
た   AUX   <╝           aux(動詞補助成分)

esupar.loadのパラメータは、"ja"が日本語、"zh"が現代中国語、"lzh"が古典中国語、"th"がタイ語だったりする。まだまだチューニングが不十分なので、解析精度はイマイチだが、ぜひ試しに使ってみてほしい。

この議論は、yasuoka (21275)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

人生unstable -- あるハッカー

読み込み中...