ローマ字表記をひらがな、または漢字へ変換したいです。
変換したい文字がローマ字表記ならば、ローマ字をひらがなへ変換というコードを書きました。
from pykakasi import kakasi kakasi = kakasi() kakasi.setMode('a', 'H') # a(ローマ字) to H(Hiragana) conv = kakasi.getConverter() d_1="syokuji" if d_1.isalpha()==True: d_1=conv.do(d_1) print(d_1)
ですが、ローマ字のままです。
ご教示いただけないでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
Pykakasiってto convert Kana-Kanji Japanese clauses into Roman-Kana
なので逆はできないかと。
ローマ字→かなは、ローマ字をかなに変換したい(願望)(Python)やPythonでひらがな/カタカナとローマ字を相互に変換するあたりが参考になりそうです。
かな→漢字は、mecab-skkservを使い自力でサーバを立てるかGoogle CGI API for Japanese Inputを利用するとできるかと思います。
ちなみにローマ字⇔ひらがな⇔漢字かな交じり文 変換はおそらく上記の技術を組み合わせて作っているようです。
raccyさんの回答を参考に簡単に組んでみました。かな→漢字は複数の候補が返ります。
Python
1import romkan 2import requests 3import urllib.parse 4 5def toKanji(s): 6 s = romkan.to_hiragana(s) 7 s = urllib.parse.quote(s.encode('utf-8')) 8 url = 'http://www.google.com/transliterate?langpair=ja-Hira|ja&text={}'.format(s) 9 res = requests.get(url) 10 return res.text 11 12print(toKanji('syokuji')) # [["しょくじ",["食事","食餌","しょくじ","植字","食時"]]] 13print(toKanji('momomosumomomomomonouchi')) # [["ももも",["ももも","桃も","モモも","腿も","モモモ"]],["すももも",["すももも","スモモも","李も","酢桃も","寿桃も"]],[" ももの",["ももの","桃の","モモの","腿の","股の"]],["うち",["うち","家","内","ウチ","打ち"]]]
投稿2019/07/01 13:28
編集2019/07/14 02:32総合スコア38352
0
ベストアンサー
できそうなのを見つけました。
- romkan
- jTransliterate ※ 開発停止しているためPython3で動作するか不明
- pyokaka ※ ライブラリとしてだけではなくツールとしても使用可能
- romajitable
- wanakana-python
さらに漢字にするにはIMEと同じことをする必要があります。普段使っているIMEの推測が正確ではないことからもわかるように、**正確な漢字を割り当てるのははほぼ無理です。**前後の文脈がわかるような長文を大量に機械学習させたAIに噛ませればより正確にできるかも知れませんが、すでにそれを実施しているSiri、Alexa、Cortana、Google Assistant等の音声応答システムでも度々間違えてしまいます。逆に言えば、そのレベルで十分であれば、Siri、Alexa、Cortana、Google Assistant等と同じことをすれば良いとなります。同じものを用意するには大企業並の資金が必要ですが、音声読み上げしてGoogleのCloud Speech-to-Textに投げると言ったものであれば、それほどお金はかからないと思います。ただ、ローマ字には音声と違ってイントネーションなどがないため、情報量不足でより不正確になると思います。
なお、PalZaxsonさんは検索するとライブラリがいくつでもみつかると言っていますが、キーワードが悪かったのか、Google検索では全く見つけられませんでした。仕方がないのでPyPIで"romaji"や"kana"のキーワードで探しましたが、関係無いライブラリもひっかかり、どれが使えるかがすぐにわかりませんでした。PalZaxsonさんはノーヒントで簡単にみつかるようなことを言っていましたが、私にはとても難しかったです。すごい技術のある人はなんでも簡単にできて凄いなーと思いました。
ついでに、どうやってそこまで辿り着いたかを書いておきます。
- 「ローマ字 かな 変換 Python」と言ったキーワードでGoogle検索しても、カナ->ローマ字変換の話か、自分でリスト作ってライブラリにする話しか引っかからず、該当するようなライブラリが見つけられない。
- PyPIであるならPyPIで検索できるはずと思いつく。英語じゃなきゃ行けないかなと思って"roma"で検索すると、全く関係無いライブラリばかりが引っかかる。
- そういや、Rubyにもそんなライブラリがあったなーと思って、「ローマ字 かな 変換 Ruby」でググった結果、romajiを見つける。
- RubyGemsでromajiを検索するにはどうすべきを確認していると"roma"では同じく駄目で、"romaji"や"kana"だとうまく引っかかることがわかる。
- PyPIに戻って"romaji"や"kana"で検索して、引っかかったものの説明を一通り確認していく。全く関係無いものは概要でわかるけど、カナ->ローマ字しかできないものもあって、区別するには詳しい説明文を読まないといけない。他にもPython3に対応しているかの記述の確認もあって、ちょっと苦労する。
- 説明文からできそうな物をピックアップ。
私のような凡人レベルでは、これぐらい苦労してしまいました。こんなこともせずに一発で簡単に検索できる人はやはりかなり凄いレベルの人なんでしょうね。
投稿2019/07/14 01:50
編集2019/07/14 07:21総合スコア21754
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
せめて検索するぐらいはしてください
ライブラリなどいくらでもあります
投稿2019/07/03 14:43

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2019/07/04 08:34 編集

退会済みユーザー
2019/07/13 12:23

退会済みユーザー
2019/07/13 19:35 編集
2019/07/14 03:08
2019/07/14 07:58

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/01 21:21
2019/07/14 00:25
2019/07/14 07:27