yasuokaの日記: 「令和」の文切り・形態素解析エンジンとしての甲言Jiayan
ネットサーフィンしていたところ、甲言Jiayanという古典中国語(漢文)解析ツールを見つけた。白文の単語切り・品詞付与・文切りが可能らしい。ただ、インストールがちょっと手間だったりする。まずは、Google Driveからjiayan_model.zipという言語モデルをダウンロードしつつ
% pip3 install https://github.com/kpu/kenlm/archive/master.zip
% pip3 install jiayan
で、python3モジュールをインストールする。その後、jiayan_model.zipのダウンロードが終わったら
% python3
>>> import zipfile
>>> with zipfile.ZipFile("jiayan_models.zip") as z:
... z.extractall(members=["jiayan_models/jiayan.klm","jiayan_models/cut_model","jiayan_models/pos_model","jiayan_models/punc_model"])
...
>>> quit()
でモデルを展開して、インストール完了。とりあえず、令和の元ネタを文切りさせてみよう。
% python3
>>> reiwa="天平二年正月十三日萃于帥老之宅申宴會也于時初春令月氣淑風和梅披鏡前之粉蘭薰珮後之香加以曙嶺移雲松掛羅而傾盖夕岫結霧鳥封縠而迷林庭舞新蝶空歸故鴈於是盖天促膝飛觴忘言一室之裏開衿煙霞之外淡然自放快然自足若非翰苑何以攄情詩紀落梅之篇古今夫何異矣宜賦園梅聊成短詠"
>>> import jiayan
>>> lm=jiayan.load_lm("jiayan_models/jiayan.klm")
>>> sentencizer=jiayan.CRFSentencizer(lm)
>>> sentencizer.load("jiayan_models/cut_model")
>>> d=sentencizer.sentencize(reiwa)
>>> print(d)
['天平二年正月十三日萃于帥', '老之宅', '申宴會也', '于時初春令', '月氣淑風和梅', '披鏡前之粉', '蘭薰珮後之香', '加以曙嶺移雲', '松掛羅而傾', '盖夕岫結', '霧鳥封縠', '而迷林庭', '舞新蝶空歸故鴈', '於是盖天促膝', '飛觴忘言', '一室之裏', '開衿煙霞之外', '淡然自放', '快然自足', '若非翰苑', '何以攄情', '詩紀落梅之篇', '古今夫何異矣', '宜賦園梅', '聊成短詠']
うーむ、最後の方は何とか切れてるものの、前半がかなりアヤシイ。続いて、単語切りと品詞付与も見てみよう。
>>> tokenizer=jiayan.CharHMMTokenizer(lm)
>>> t=list(tokenizer.tokenize(reiwa))
>>> postagger=jiayan.CRFPOSTagger()
>>> postagger.load("jiayan_models/pos_model")
>>> p=postagger.postag(t)
>>> print(" ".join(i+"/"+j for i,j in zip(t,p)))
天平/n 二年/nt 正月/nt 十三/m 日/q 萃/v 于/p 帥/n 老/a 之/u 宅/n 申宴/v 會/n 也/d 于/p 時/n 初/nd 春/nt 令/v 月/n 氣/v 淑/v 風/n 和/c 梅/n 披/v 鏡/n 前/nd 之/u 粉/n 蘭薰/n 珮/v 後/n 之/u 香/n 加/v 以/p 曙/n 嶺/v 移/v 雲/n 松/v 掛/n 羅/v 而/c 傾/v 盖/v 夕/nt 岫/v 結/n 霧/v 鳥/n 封/v 縠/n 而/c 迷/v 林/n 庭/n 舞/v 新/a 蝶空/n 歸/n 故/c 鴈/v 於/n 是/v 盖天/v 促膝/v 飛/n 觴/v 忘言/v 一/m 室/n 之/u 裏/n 開/v 衿/n 煙/v 霞/n 之/u 外/nd 淡然/a 自/d 放/v 快然/n 自/r 足/a 若/c 非/d 翰苑/v 何/r 以/p 攄/v 情/n 詩/v 紀/v 落梅/n 之/u 篇/n 古今/n 夫/n 何/r 異/n 矣/u 宜/v 賦/v 園/v 梅/n 聊/v 成/v 短/a 詠/n
甲言Jiayanの品詞一覧と見比べると、「也」がadverbだったり、「和」や「故」がconjunctionだったり、「歸」や「於」や「夫」がnounだったり、私(安岡孝一)個人としては納得がいかない結果だ。さて、ここから係り受け解析に行きたくても、この精度だと苦しいかな…。
「令和」の文切り・形態素解析エンジンとしての甲言Jiayan More ログイン