日本語を学ぶ上で、ローマ字から日本語への自動変換は非常に便利です。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の公式ドキュメントを参照してください。