乙Py先生のプログラミング教室
初学者のためのプログラミング学習サイト

米津玄師

ワードクラウドづくりにハマっております。

ワードクラウドは文章中で

出現頻度が高い単語を複数選び出し
その頻度に応じた大きさで図表化する手法のことで
文章の特徴を一目で見ることができると言うものです。


解説動画はこちら



Pythonでは
wordcloud
と言うライブラリがあるので
これを用いるとワードクラウドを簡単に作成できます。

インストール方法は

pip install wordcloud

これでライブラリがインストールされたら
必要なものとしては
文章をまとめたものが必要です。

スクレイピングや
形態素解析などして
集めて集計すればできます。

名詞や動詞など意味のあるものだけを残し
要らない助詞などは削ります。

単語と単語の間はスペースなどで
空けておきましょう。

ファイル化したら
ワードクラウドの作成です。

嵐の歌詞を集めて
ワードクラウドを作ってみましょう。

ワードクラウドは次のようなコードで作成できます。
from wordcloud import WordCloud
from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline

with open('arashi_list.txt', encoding='utf-8') as _f:
    text = _f.read()
font_path = '/System/Library/Fonts/ヒラギノ丸ゴ ProN W4.ttc'
exc_words = ['たち','みる','そう', 'ない', 'いる', 'する', 'まま', 'よう', 'てる', 'なる', 'こと', 'もう', 'いい', 'ある', 'ゆく', 'れる']
wordcloud = WordCloud(background_color='white',
    font_path=font_path, width=800, height=600, stopwords=set(exc_words)).generate(text)
wordcloud.to_file('arashi.png')

im = Image.open('arashi.png')
plt.figure(figsize=(16,12))
plt.imshow(im)
plt.tick_params(labelbottom=False,labelleft=False,labelright=False,labeltop=False)
plt.tick_params(bottom=False,left=False,right=False,top=False)
plt.show()

ワードクラウドを作るには
フォントの指定が必要です。

日本語でやるには日本語対応のフォントが必要です。
上記の例はmacなので
/System/Library/Fonts/
フォルダを指定していますが
Windowsの人は

C:/Windows/Fonts/

配下になると思います。
.ttc拡張子のファイルを指定しましょう。

フォントをうまく指定できたら
画像ファイルができるので
それを表示してみると

download-2

はい出来ました。

僕らを筆頭に未来、明日、きっとなど
すごく明るい未来が感じられる世界観の歌詞だと
見受けられますねーーー

1曲も知らないけどwww

こんな感じですぐに作ることができるので
めちゃくちゃ楽しいです。

今度は
米津玄師さんの歌詞でやってみましょう!!!

こうなりました。
download-1

あなた、笑う が
中心の世界観です。

嵐と比べてみると
download

人称の違いや
言葉のチョイスが対照的で面白いですね

・嵐は自分中心
・米津さんは相手想い

そんな歌詞なんだろうと思いますね。
Lemonしか知らないけどwww

非常に面白いし、理解しやすいので
表現方法として優秀です。

皆さんも
作ってみてはいかがでしょうか?

それでは

さて、今回はGoogle翻訳についてです。
翻訳サービスもプログラムから行うことができます。

翻訳したい文章がたくさんある時は非常に便利です。
外国語に翻訳して、それを戻すとどうなってしまうのか?

解説動画はこちら


まずは
Google翻訳をする関数です。
import requests

url = "https://translate.google.com/translate_a/single"

headers = {
    "Host": "translate.google.com",
    "Accept": "*/*",
    "Cookie": "",
    "User-Agent": "GoogleTranslate/5.9.59004 (iPhone; iOS 12.4.1; ja; iPhone8,1)",
    "Accept-Language": "ja-jp",
    "Accept-Encoding": "gzip, deflate",
    "Connection": "keep-alive",
    }

def translate_result(text,mode1='ja',mode2='en'):
    params = {"client": "it","dt": ["t", "rmt", "bd", "rms", "qca", "ss", "md", "ld", "ex"],
              "otf": "2","dj": "1","hl": "ja","ie": "UTF-8","oe": "UTF-8","sl": mode1,"tl": mode2,"q" : '',}
    params['q'] = text[:5000]
    res    = requests.get(url,headers=headers,params=params)
    result = res.json()
    return result

def translate_print(result):
    result_text = ''
    for sentence in result['sentences']:
        if 'trans' in sentence:
            text = sentence['trans']
            result_text += text
    return result_text

これを丸ごとコピーして頂くと
色々翻訳できます。

英語に翻訳したければ
text = '''
ここに翻訳したい文章を入れる
'''

result  = translate_result(text,mode1='ja',mode2='en')
print(translate_print(result))

mode1=が元の言語
mode2=が変換後の言語
この言語のコードを入れます。
jaは日本語 , enは英語です。

試しに吾輩は猫であるでやってみると

text = '''
吾輩は猫である。名前はまだ無い。
どこで生れたかとんと見当がつかぬ。
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
吾輩はここで始めて人間というものを見た。
しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ。
この書生というのは時々我々を捕えて煮て食うという話である。
'''

result  = translate_result(text,mode1='ja',mode2='en')
result2 = translate_result(translate_print(result),mode1='en',mode2='ja')
print(translate_print(result2))

吾輩は猫である。まだ名前はありません。
私はどこで生まれたのかわかりません。
私は薄暗い場所で泣いていたことを覚えているだけです。
ここで初めて人間を見ました。
また、後でそれを聞いたとき、書道の中で最も邪悪な部族のようでした。
この書道は時々私たちを捕まえて沸騰させて食べる物語です。

英語に変換したのを
再度日本語に戻しています。

それだけで
大分ニュアンスが変わってしまっていますねwww

上手くいっている翻訳もあれば
ちょっとおかしい部分もありますね。

次に
米津玄師の
Lemonの歌詞を再翻訳してみましょう。

歌詞はここに載せられないので
別途他のサイトをご覧ください。

こんな感じになりました。

夢はどれだけ良かった
私はまだあなたの夢を見る
忘れたものを取り戻したい
古い思い出からほこりを取り除く
戻らない幸せがあること
最後にあなたは私に言った
言うまでもなく隠されていたい過去
あなたが私を持っていないなら、永遠にいまま
もう傷つくと思います
私はそれが起こらないことを知っています
あの日も悲しみ、あの日も痛み
私はあなたとそれをすべて愛しました
苦いレモンの香り
雨が止むまで帰れない
あなたはまだ私の光です
暗闇の中であなたの背中をたどった 輪郭をはっきり覚えている 会うたびに受け入れられない 溢れるのは涙だけ 何を見ていましたか 知らないプロファイルで どこかあなたは今私のようです あなたが孤独にいるなら 私を忘れてください 私は本当に あなたはまだ私の光です
思うより 恋していた君へ あなたが考えるように 呼吸ができない 私はその側にいた 嘘のように とても忘れられない それだけが あの日も悲しみ、あの日も痛み 私はあなたとそれをすべて愛しました 苦いレモンの香り 雨が止むまで帰れない カットフルーツのように あなたはまだ私の光です

もう原型はとどめていないようですね

歌詞の芸術性を
ほぼ0に変換することができます。

大量の文章を翻訳したい方は
是非使ってみて下さい。
それでは


このページのトップヘ