日本語を学ぶ上で、ローマ字から日本語への自動変換は非常に便利です。Pythonには、日本語を扱うためのライブラリが豊富にありますが、今回はその中でもローマ字を日本語に自動変換するライブラリを紹介します。
pykakasi
pykakasiは、Pythonで書かれたローマ字から日本語への自動変換ライブラリです。kakasiというC言語で書かれたライブラリをPythonで使えるようにしたものです。以下のようにしてインストールできます。
pip install pykakasi
pykakasiを使うと、以下のようにローマ字を日本語に変換できます。
from pykakasi import kakasi
kakasi = kakasi()
kakasi.setMode("J", "H") # 日本語をローマ字に変換する設定
conv = kakasi.getConverter()
text = "konnnichiha, watashiha python desu."
result = conv.do(text)
print(result) # こんにちは、私はpythonです。
MeCabとneologd
MeCabは、日本語の形態素解析エンジンです。MeCabを使うと、日本語の文章を単語に分割することができます。また、neologdはMeCabのシステム辞書の一つで、最新の新語や固有名詞を含んでいます。
PythonからMeCabとneologdを使うには、以下のようにしてインストールします。
pip install mecab-python3 unidic-lite
pip install git+https://github.com/neologd/mecab-ipadic-neologd.git
MeCabとneologdを使って、以下のようにローマ字を日本語に変換して、形態素解析して単語に分割することができます。
import MeCab
import pykakasi
kakasi = pykakasi.kakasi()
kakasi.setMode("J", "H") # 日本語をローマ字に変換する設定
conv = kakasi.getConverter()
mecab = MeCab.Tagger("-Owakati -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd")
text = "konnnichiha, watashiha python desu."
text = conv.do(text) # ローマ字を日本語に変換する
result = mecab.parse(text)
print(result) # こんにちは 、 私 は python です 。
以上で、Pythonでローマ字を日本語に自動変換する方法について紹介
janome
janomeは、Pythonで書かれた形態素解析ライブラリです。MeCabよりも軽量で、細かな設定ができるのが特徴です。以下のようにしてインストールできます。
pip install janome
janomeを使って、以下のようにローマ字を日本語に変換して、形態素解析して単語に分割することができます。
from janome.tokenizer import Tokenizer
import pykakasi
kakasi = pykakasi.kakasi()
kakasi.setMode("J", "H") # 日本語をローマ字に変換する設定
conv = kakasi.getConverter()
t = Tokenizer()
text = "konnnichiha, watashiha python desu."
text = conv.do(text) # ローマ字を日本語に変換する
result = [token.surface for token in t.tokenize(text)]
print(result) # ['こんにちは', '、', '私', 'は', 'python', 'です', '。']
janomeを使うと、形態素解析の結果に品詞情報や読み情報を含めることもできます。詳細は、janomeの公式ドキュメントを参照してください。