Python用日本語文字列変換ライブラリjaconv 0.3の説明


ちゃお……†

久しぶりにまいおり……†

ネオ東京文京区からやってきてPython用日本語文字列変換ライブラリjaconvを0.3にアップデートをしました。変更点は下記の通りです。

  • バグ修正
  • ひらがなからJuliusの音素表現への変換に対応

バグはアルファベットからひらがなに変換する alphabet2kana 関数の修正です。使ってる人多分少なそうだからあんまり影響ないかも。

そして新機能!ひらがなから音声認識システムJuliusの音素表現に変換する hiragana2julius 関数です!

どんなものかというと以下のようにちょっと気の利いた処理をしつつJuliusの音素表現に変換するのです。

>>> import jaconv
>>> print(jaconv.hiragana2julius('てんきすごくいいいいいい'))
t e N k i s u g o k u i:

"いいいいいい" の部分を長音扱いにします。

ただし実装が細かくないので以下のような問題も起こります……。

>>> print(jaconv.hiragana2julius('てんきいい'))
t e N k i:

"てんき" の "き" の母音 "i" と "いい (ii)" がくっついて "てんきー" となってしまうのです……。

これを解決するにはMeCab等の形態素解析器を使いましょう。具体的には、形態素ごとに hiragana2julius で変換するのです。これでだいぶ問題が減るはず。それでもだめなときはある (特に固有名詞でありそう) ので、そこは自分の目で確かみてみろ!なんでも機械だけに頼っていてはだめです。あくまでもサポート役と考えましょう。

わかっていてあえて実装しないのは、jaconvはミニマルなライブラリという位置づけでいたいので外部ライブラリを使いたくないからです。半角⇔全角の変換しか使わない人にまでMeCabをインストールさせるのは気が重いし……。

そういえばJuliusって「ジュリウス」って呼ぶ人と「ジュリアス」って呼ぶ人と「ユリウス」って呼ぶ人にこれまで出会ってきたけど、開発チーム内では「ジュリアス」と呼ぶそうです。豆知識💡ジュリアナっぽいやつと覚えれば良さそうですね💃🕺

ところで終電大丈夫?じゃあね。Bye.