mecab+neologd辞書で形態素解析+各要素にlibkkc仕様のよみがなを振って(変換対象にできないものは<UNK>化する)、これをコーパス化→辞書作成というのを試そうとしている。
今まで試していた形態素解析済・3-gram化した物に後付けで読みを付けるのは緊急的な手段であり、本来であれば形態素解析時に読みを付ける方が適切なんじゃない?って前々から思っていたので。
OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
mecab+neologd辞書で形態素解析+各要素にlibkkc仕様のよみがなを振って(変換対象にできないものは<UNK>化する)、これをコーパス化→辞書作成というのを試そうとしている。
今まで試していた形態素解析済・3-gram化した物に後付けで読みを付けるのは緊急的な手段であり、本来であれば形態素解析時に読みを付ける方が適切なんじゃない?って前々から思っていたので。
mecab辞書の特性なのかは分からないけど、カンマ区切りCSV使っているからか…単語に半角スペースが入るケースがあるみたい。なので、トークンの区切りに半角スペースを使うのではなく、タブかカンマで区切るのが良さそう(タブ使ってみた)。
uaa@emeraude:~$ nwc-toolkit/build/nwc-toolkit-unicode-normalizer ja.txt.xz |nwc-toolkit/build/nwc-toolkit-text-filter |mecab -F "%m\t%f[7]\t" -U "<UNK>\t<UNK>\t" -E "\n" -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd |cc100-libkkc/src/convert_yomi |gzip -c > ja.mecab-neologd.txt.gz
こんな感じで一日くらい回してみるか
[install-mecab-ipadic-NEologd] : Usage of mecab-ipadic-NEologd is here.
Usage:
$ mecab -d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd
で使えるのかな?
./bin/install-mecab-ipadic-neologd -n -a 全部入りにする
逆順にして
mecab --node-format="%m %f[7] " --unk-format="<UNK> <UNK> " --eos-format="\n"
「語」「読み」順にするか…「語」に問題があれば「読み」の変換は不要だし。出力時に「読み/語」にしちゃえば良いんだから。
mecab --node-format="%f[7] %m " --unk-format="<UNK> <UNK> " --eos-format="\n"
の方が良いかなあ。トークンは2個単位で「読み」「語」の順。