なんも分からないのでしらべた

なんもわからん!…ので、できる範囲で調べる。

Windows10 WSL(Ubuntu)にMeCubのインストール

公式

MeCub
MeCab: Yet Another Part-of-Speech and Morphological Analyzer

固有名詞強化辞書 neologd
github.com

参考

QiitaのMeCab utf8インストール対応記事
最後までやらなくても、文字化けは解消した。途中の辞書をインストールまでOK。

qiita.com

neologdは公式の手順通りでいける

使い方

$ echo "バーチャルユーチューバーのじゃロリおじさん。" | mecab -d /usr/local/lib/mecab/dic/mecab-ipaバーチャルユーチューバー    名詞,固有名詞,一般,*,*,*,バーチャルYouTuber,バーチャルユーチューバー,バーチャルユーチューバー
の      助詞,連体化,*,*,*,*,の,ノ,ノ
じゃ    接続詞,*,*,*,*,*,じゃ,ジャ,ジャ
ロリ    名詞,固有名詞,一般,*,*,*,ロリ,ロリ,ロリ
おじさん        名詞,一般,*,*,*,*,おじさん,オジサン,オジサン
。      記号,句点,*,*,*,*,。,。,。
EOS

nodeのmecubライブラリ

ライブラリ2つあり。
utf-8対応済みだと、ライブラリで文字化けが発生しないようだ。
neologdを利用したいので前者を採用した。

github.com

  • neologd利用可能

github.com

  • 実行時にutf8化オプションあり
    • 最初は何も考えずこのモジュールを使ったが、WSL(ubuntu)ではうまく動作せず文字化けしたままだった

その他

neologdのインストール先確認方法

$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
/usr/local/lib/mecab/dic/mecab-ipadic-neologd

振り返り

住所の地名の読み仮名を作成しようと思い、最初は何も考えずGoogle Translate APIに突っ込んでローマ字読みを取り出そうとした。
しかし日本の地名は、漢字を素直に読んだものではなく、変わった読み方などが多くエラー率が高かった。

今回はMeCub+neologd+jpanese(Node module)で対処したが、完全ではないにせよ翻訳APIよりは精度が良かった。

メモ

VUI読み上げ時用のjapanese option(若干イマイチ)

const joption = { "ああ": "aa", "いい": "ii", "うう": "uu", "ええ": "ee", "おお": "oo", "あー": "aa" };
let roma = japanese.romanize(yomi, joption);