🐥

tdmelodic をセットアップして日本語のアクセント推定するメモ

2023/02/08に公開

tdmelodic を試す
https://zenn.dev/wado/articles/c177e94c30ea72

ありがとうございます.

とりま Docker で動かす.

Docker ビルドしたのち,

https://tdmelodic.readthedocs.io/ja/latest/pages/onebyone.html#one-by-one-manual-inference-mode

を実行します!

最近の(?) Docker だと, デフォだと stdin/stdout 受け付けないようなので, -i をつけて起動します.

echo 機械学習 | docker run -i tdmelodic:latest tdmelodic-s2ya
キ[カイガ]クシュー

自前でセットアップとか

tdmelodic を試す
https://zenn.dev/wado/articles/c177e94c30ea72

をなぞれば基本はこれでいけますが, 著者環境では user folder に辞書インストールしたかったので,

unidic-mecab_kana-accent-2.1.2_src

のインストールは

$ ./configure --prefix=$HOME/local --with-datadir=$HOME/local/tdmelodic

としました. install では datadir だけファイルコピーされたので, --prefix は不要かもしれません. また, make install しなくても以下のファイルを手動でどこかにコピーでもいいでしょう

$ cd $HOME/local/tdmelodic
tdmelodic$ ls
char.bin  dicrc  matrix.bin  sys.dic  unk.dic

あとはこのフォルダを指定して mecab 動かすだけです!

echo 一昔前は人工知能のプログラミング言語といえばCommon LispやPrologだった。 |     mecab -d $HOME/local/tdmelodic/
一昔	ヒトムカシ	ヒトムカシ	一昔	名詞-普通名詞-一般			2,3
前	マエ	マエ	前	名詞-普通名詞-副詞可能			1
は	ワ	ハ	は	助詞-係助詞			
人工知能	ジ[ンコーチ]ノー	ジンコウチノウ	人工知能	名詞-固有名詞-一般			@
の	ノ	ノ	の	助詞-格助詞			
プログラミング言語	プ[ログラミングゲ]ンゴ	プログラミングゲンゴ	プログラミング言語	名詞-固有名詞-一般			@
と	ト	ト	と	助詞-格助詞			
いえ	イエ	イウ	言う	動詞-一般	五段-ワア行	仮定形-一般	0
ば	バ	バ	ば	助詞-接続助詞			
Common Lisp	コ[モンリ]スプ	コモンリスプ	Common Lisp	名詞-固有名詞-一般			@
や	ヤ	ヤ	や	助詞-副助詞			
Prolog	プ[ロログ	プロログ	Prolog	名詞-固有名詞-一般			@
だっ	ダッ	ダ	だ	助動詞	助動詞-ダ	連用形-促音便	
た	タ	タ	た	助動詞	助動詞-タ	終止形-一般	
。			。	補助記号-句点			
EOS

Super coool!

WASM で動かせるかも...

辞書データは 1 GB くらいです.

辞書データを Sudachi(Rust 版)に変換したら WASM 実行できるかもしれません.

TODO

  • mecab-python で動かす
  • アクセントつきのデータを voicebox などの入力にしてええ感じに TTS する
  • Common Voice や ReazonSpeech 日本語コーパスに対してアクセント推定して, ええ感じかどうか検証する
  • WASM 化してセキュアにアクセント推定する. ブラウザで動かしてみる.

Discussion