Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@tanaka-kazuki

猫の日だにゃったにゃので、猫っぽい言葉に変換するものを作ってみたにゃ

More than 1 year has passed since last update.

なんでまとめたにゃ?

今日が02/22(猫の日)だにゃったにゃので何とにゃくまとめてみましたにゃ
→気づけば、日付またにゃいでて、02/22に間に合ってにゃいけどにゃ!

普通に、読みづらいのと、恥ずかしいので、以降は普通に書いていきますね。

環境は?

Google colaboratoryを使用しサクッと簡単なものを作りました。
簡単に記述しておくと、Google提供のブラウザ上から無償で使用できる、Jupyter Notebook環境ですね。
スマートフォンなんかからも、アクセスしてエディット&実行できます。(すごい便利)

どんなふうに?

1.入力された日本語をローマ字に変換(ライブラリ:pykakasiを使用)
2.ローマ字を猫っぽく変換(ただの置換)
3.ローマ字を日本語に再変換(ライブラリ:romkanを使用)
4.以上

実際の中身については?

使用しているライブラリは以下です。

ライブラリ名 内容 リンク
pykakasi 日本語(漢字・ひらがな・カタカナ)→ローマ字変換 https://github.com/miurahr/pykakasi
romkan ローマ字→日本語(ひらがな・カタカナ)変換 https://pypi.org/project/romkan/
サクッとライブラリインストール
pip install git+https://github.com/miurahr/pykakasi romkan 
コード
# coding: utf-8
from pykakasi import kakasi
import romkan

#日本語→ローマ字
def j2roma(jtext):
  kakasi_ = kakasi()

  kakasi_.setMode('H', 'a')  #ひらがな→ローマ字
  kakasi_.setMode('K', 'a')  #カタカナ→ローマ字
  #kakasi_.setMode('J', 'a') #漢字→ローマ字
  kakasi_.setMode("s", True) #分かち書き

  conv = kakasi_.getConverter()

  #print(jtext)
  return conv.do(jtext)
  #char_list = list(conv.do(filename))
  #print(char_list)

#猫っぽく変換(ここに変換するローマ字を追加)
def s2h(rtext):
    dst = rtext.replace("na","nya")
    dst = dst.replace("ta","tanya")
    dst = dst.replace("da","danya")
    return dst

#ローマ字→日本語
def roma2j(rtext):
    return romkan.to_hiragana(rtext)

#メイン
def nyaa(jtext):
  rtext = j2roma(jtext)
  rnyan = s2h(rtext)
  jnyan = roma2j(rnyan)
  return jnyan

実行&リザルト
実行
nyaa("メロスは激怒した。必ず、かの邪智暴虐じゃちぼうぎゃくの王を除かなければならぬと決意した。")
リザルト
'めろす は 激 怒 したにゃ。 必 ず、 かの 邪 智 暴 虐 じゃちぼうぎゃくの 王 を 除 かにゃければにゃらぬと 決 意 したにゃ。'

まとめ

意外とそれっぽくなりますね、あと、ねこはかわいい。

参考

Pythonを使ってフェフ姉言葉に変換してみた件

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
tanaka-kazuki
青森大好きエンジニア
jenesty
飯田橋に本社を構えるIT企業『株式会社 ジェネスティコンサルティング』のコミュニティです。ITエンジニア向けコワーキングスペース『JeneLab』(ジェネラボ)の運営もしています → https://jenelab.tech

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?