LoginSignup
4
1

More than 3 years have passed since last update.

Colab環境でfugasiを使ってヨミガナを表示する5行

Last updated at Posted at 2021-04-24

SS 192.png  Colab環境で日本語のヨミガナを表示したい

やること

Colab環境でMeCabを使ってヨミガナを表示する5行の姉妹記事です。
Colab環境でfugashiのみを導入し、ヨミガナを取得してみます。
ついでに分かち書きや品詞もfugasiのみで取得してみます。Mecab-Pythonより便利かも。

環境

colabを少し使ったことがある前提で進めていきます。
でもpythonを知らなくても実行できる説明にします。

5行のスクリプト

Colab
!pip install fugashi[unidic-lite]
from fugashi import Tagger
fugger = Tagger()
text = "赤巻紙青巻紙黄巻紙"
print("".join(w.feature.kana for w in fugger(text)))

出力結果

アカマキガミアオマキガミキマキガミ

たった5行で導入から形態素解析を経てのヨミガナ出力までが完了しました。手軽です。
fugashiには辞書が必要なので、[unidic-lite]を指定しておかないと動きません。
print文の中の内包表記がよくわからないという方は、姉妹記事が参考になるかもしれません。

発音も取得できる

.feature.kanaの部分を.feature.pronとすると、発音の読みも取得できるそうです。

python
text = "昇竜拳"
print("".join(w.feature.kana for w in fugger(text)))
print("".join(w.feature.pron for w in fugger(text)))
# 結果
# ショウリュウケン
# ショーリューケン

"ウ"が"ー"になったりするのがポイントです。音声合成の時などに便利かもしれません。

分かち書きの出力

ついでに分かち書きを出力してみます。

python
text = "納豆巻しか勝たん"
print(" ".join(w.surface for w in fugger(text)))
# 結果
# 納豆 巻 しか 勝た ん

品詞の取得

品詞も取得してみます。

python
text = "納豆巻しか勝たん"
print(" ".join(w.surface for w in fugger(text)))
print(" ".join(w.feature.pos1 for w in fugger(text)))
# 結果
# 納豆 巻 しか 勝た ん
# 名詞 名詞 助詞 動詞 助動

.feature.pos1のところが品詞の取得で、.pos2〜.pos4は品詞についての補足情報となるようです。
たとえば普通名詞か固有名詞の判断などは.pos2で可能です。
機械学習で名詞だけを抽出したい場合などに使えるかもしれません。

謝辞

前記事のコメント蘭で@polm23 様、@KoichiYasuoka 様にご指摘いただいた部分を参考に、初心者向けとして記事化しました。
(作者ご本人や大学の先生から添削いただいていたようで大変恐縮です。)

リンク:
- fugashi

4
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1