|
カテゴリ:電子工作
ESP-WROOM-02 で AquesTalk pico LSI を喋らせてみた (2) のあと、少しずつ、喋るプログラムを改良しているところ。最終的にアルファベットの音声記号にしてやらなければならないが、まずは、正しい読みを得るところが問題。読みを作るのに Mecab を使うことにしたが、辞書はどうするか。未知語がたくさんあるとよろしくないので、新語・固有表現に強い「mecab-ipadic-NEologd」の効果を調べてみた を読む。
ニュースヘッダの読み上げをするときには、こういう辞書を使った方が気持ち良い読み上げをしてくれそう。
素晴らしい。LINEのエンジニアの佐藤敏紀さん(@overlast、)。推奨空きメモリ領域が、標準インストール時(オプション未指定の場合) 必須: 空き 1.5GByte、推奨: 空き 5GByte、標準インストール時のバイナリファイルのサイズは約850MByte ということで、それなりにリソースを食うのは、今時なので仕方ないとしよう。得られるものの方が大きいものね。PC で動かすので、HDD とかあまり気にならないし。 形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介、mecab-ipadic-NEologd の効果的な使い方 も読んでみる。さらに NEologd Casual Talks #neologd 参加レポート も読んでみる。テキスト前処理用Pythonモジュールneologdnの紹介 by @_yukinoi も読んでみた。いいかもしれない。解析前に行うことが望ましい文字列の正規化処理 をやってくれるわけね。pip install neologdn でインストールできるし、benchmark では公式のものより 2倍程度速い。 を実行すると、「正規化したい文字列0-90-9A-ZA-Za-za-zドドーン」となる。よさそうなので、使ってみることにした。 次に問題になるのは、カタカナの読みをローマ字に変換するところ。 MeCab の辞書構造と汎用テキスト変換ツールとしての利用 を使ってやるのもありかなと思ったが、とりあえず、Pythonでひらがな/カタカナとローマ字を相互に変換するAdd Starhayashihs-yata でやってみる。python3 だとエラーになるので 2to3 - Python 2 から 3 への自動コード変換 を使ったら簡単に Python3 で動くようになった。2to3 -w 変換するファイル.py で、オリジナルは .bak をつけて、書き換えてくれる。 koreworomajinihenkanshitene となる。MeCab 使ってやってもいいんだろうけど、とりあえず、これでいく。 これで、漢字かな混じりの日本語から発音記号に変換するベースが整った。実際には、変換したままだと、制限字数を超えてしまうし、区切りも、アクセントも、数字の扱いも入れる必要があるので、今、そのあたりまでのベースを作ったところ。単純に単語単位で区切り文字を入れて、喋らせるだけだと、かなり聞きづらい。 うまい具合に書き換えを入れたり、区切り記号を入れたり、アクセントをつけるところは、意外と難しい。ある程度はルールベースで入れて、個別にルールを追加しながら試しているところ。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2017.02.19 15:39:04
コメント(0) | コメントを書く
[電子工作] カテゴリの最新記事
|