【これってAIで実現できるの!?】カクテルパーティー効果

最近、機械学習を勉強しているロクです。

さて、勉強してると脳を数学的なネットワークに落とし込む、いわゆるニューラルネットワークの勉強が欠かせません。 ・・・とこんな堅苦しい話がしたいわけではなく( ゚ェ゚)

その勉強している時に面白い人間の脳の働き?を見つけました!!

それは、カクテルパーティー効果!!!

なんか美味しそうな効果ですね笑

カクテルパーティー効果とは、音声の選択聴取のことで選択的注意の代表例である。1953年に心理学者のコリン・チェリーによって提唱された。

簡単に説明すると、、、
居酒屋や、ライブハウスなど賑やかな場所でも、周囲の人の会話で自分の名前が出ているとなぜかハッと気づくことありますよね?

それが、音声の選択聴取です。
実は意識していないつもりが、何を認識するか識別しているんですね。改めて人間の脳ってすごいなぁ。

意識してほしい部分の前に、相手の名前をこっそり自然と入れておくと注意を惹くのにも使えそうですね。

もちろん僕は、脳の専門家ではないので、上記に誤りがあるかもしれません。 あまり鵜呑みにはせず、細かいことを学びたい方は是非本やサイトなどで調べてみてくださいね。

とにかく、AI を学ぶ上で改めて人間の脳ってすごいなぁと感じたので紹介してみました!! 最後に AI を理解する上での良本を紹介します。

人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書)

人工知能は人間を超えるか ディープラーニングの先にあるもの (角川EPUB選書)

スプーンで食べるハンバーグ@渋谷

みなさん、こんにちは

家でのハンバーグはケチャップだけではなくソースとケチャップを混ぜて作ったソースをかけています、ロクです。

 

今日はみなさん大好きな

ハンバーグ!!!!

について紹介したいと思います。

 

ハンバーグって、もはやパワーワードですよね笑

 

さて、今回は

「渋谷でハンバーグを食べるなら・・・」

ということでお店を紹介したいと思います。

 

今日紹介するお店はこちら!!

「まーさんハンバーグ 渋谷センター街店」

 

早速見ていきましょ〜〜 =≡Σ((( つ╹ω╹)つ♡

 


まーさんハンバーグ渋谷センター街店

 

先にお店のコンセプトを紹介させてください!!

「スプーンで食べるハンバーグ」

 

素敵すぎますよね!!

柔らかいお肉と溢れる肉汁を想像させるこのフレーズ!!

 

ハンバーグってフォークとナイフで〜なんてここでは通用しません。

スープも、ハンバーグも、ライスもスプーンで問題なし!!

 

実際僕も、スプーンだけでハンバーグを食べてきました。

本当に柔らかくてナイフいらず!!

これだけ柔らかくて溶けるなら、それはもはやカロリーゼロみたいなもんですよ!!←過激な表現が含まれておりました。お詫び申し上げます笑

 


メニュー

 

まずは定番

  • まーさんハンバーグ 200g・・・1280円
  • まーさんハンバーグ 300g・・・1680円
  • Wチーズハンバーグ 180g・・・ 1380円
  • Wチーズハンバーグ 220g・・・ 1780円
  • お食事セット(ライス・スープ・サラダ) ・・・ 680円

といった感じです。

Wチーズハンバーグは、モッツアレラとチェダーの組み合わせです。そそられますね笑

 

続いて限定メニュー(1日50食)

  • 和牛ブレンド黒毛和牛100%特上まーさんハンバーグ 200g・・・1380円
  • 和牛ブレンド黒毛和牛100%特上まーさんハンバーグ 300g・・・1980円
  • 和牛ブレンド黒毛和牛100%特上Wチーズハンバーグ 200g・・・1490円
  • 和牛ブレンド黒毛和牛100%特上Wチーズハンバーグ 300g・・・2090円
  • 特上まーさんハンバーグ&熟成赤身ステーキ 150g & 100g・・・1780円
  • スープセット・・・480円
  • サラダセット・・・530円
  • スープサラダセット・・・580円

とまぁ、この他にも多くのメニュー(チキングリルやステーキなど)があるのですがパッと周りを見た感じではこの辺が多く出ていたようです。

 

僕が頼んだのは・・・「和牛ブレンド黒毛和牛100%特上まーさんハンバーグです!!

f:id:shaw522:20190331221250j:plain

あー、ブログ書きながらまた食べたくなってきた!!

 


お店の雰囲気

 

次に気になるお店の雰囲気です。

 

店内はそこまで広くはありません。

テーブル席が、5, 6 個とカウンター?的なのが 5 人分ほどありました。

 

店員さんも水が無くなっていたらすぐ注いでくれたりととても良い感じ!

そして不思議だったのが店内の BGM が全てボカロ!!

ボカロ好きにはたまらないですね??笑

 


場所

 

場所は渋谷駅が最寄りになります。

センター街の TSUTAYA 脇を超えてから 5 分少しほどで見えてくるかと思います。

入り口は二階です。

 

良かったらみなさんも「渋谷でハンバーグ」を食べたい時はぜひ行ってみてください!!

 

それではまた次回〜

【Python】Word Cloud で相談事項を可視化してみた

何の記事???

Word Cloud はご存知でしょうか??
amueller さんが作成した 単語の出現頻度を可視化する python のライブラリです。実際にアウトプットとなる画像はみた方も多いのではないでしょうか?

github.com

word cloud
word cloud のデモ画像

最近メンティーから相談をいただけることが多くなりとても嬉しい反面、きちんとお答えできているかな?と思い回答やいただいたご質問を振り返ることが多くなってきています。

そこで、一度メンティーの方々からのご相談事項を可視化してみたら何か見えてくるかなぁと思い、word cloud の紹介の意味も込めて記事にしたいと思います!!(各メンティーの相談事項及びプライバシーは侵害しないように生データは一切公開しません。)


必要なライブラリの準備

Word Cloud のインストール

まずは今回紹介する Word Cloud をインストールしましょう。

pip3 install wordcloud

形態素解析エンジンのインストール

次に形態素解析用エンジンをインストールしましょう。
形態素解析とは簡単にいうと文章を単語ごとに分割することで、検索エンジンなんかでも利用されている技術です。

実際にどういうものかというと下記をご覧ください。
「僕は昨日ラーメンを食べた。」という文に対して、「僕」「は」「昨日」「ラーメン」「を」「食べ(る)」「た」「。」に見事に分割されていますね。

これは良い例で新しい単語に対応させるには、違う辞書を使ったりします。僕が学生の時にニュースを形態素解析したことがあるのですが、そのとき「トランプ大統領」は「トランプ」「大統領」と分割された思い出があります。

一方最新の辞書を使うと「トランプ大統領」と一つの名詞として認識されます。

僕は昨日ラーメンを食べた。
僕 名詞,代名詞,一般,*,*,*,僕,ボク,ボク
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
昨日  名詞,副詞可能,*,*,*,*,昨日,キノウ,キノー
ラーメン    名詞,一般,*,*,*,*,ラーメン,ラーメン,ラーメン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
食べ  動詞,自立,*,*,一段,連用形,食べる,タベ,タベ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。

さて、形態素解析の概要はご理解いただけたでしょうか。
今回は、mecab という形態素解析エンジンをインストールして使いましょう。

brew install mecab mecab-ipadic git curl xz
pip3 install mecab-python3

ゼロから作るDeep Learning ? ―自然言語処理編

ゼロから作るDeep Learning ? ―自然言語処理編

自然言語処理の基本と技術

自然言語処理の基本と技術


プログラムの作成

それではプログラムを書いていきましょう。

まずは必要なライブラリをインポートしてあげます。

# ライブラリのインポート
import matplotlib as plt
from wordcloud import WordCloud
import MeCab as mecab

次にデータとなるローカルファイルを読み込み、形態素解析を行い必要な単語リストを作成するメソッドを作ります。

先ほどの「僕は昨日ラーメンを食べた。」でもわかる通り、助詞や助動詞はあまり意味をなさない上に頻出してしまうので今回は「名詞、形容詞、動詞」に絞りました。

def create_word_list(filepath):
    # ファイルをオープンする
    data = open(filepath, "r")
    # mecab のインスタンス生成
    m = mecab.Tagger ("-Ochasen")
    # 返却用変数
    word_list = []
    # 一行ずつ読み込む
    for line in data:
        # ノードの作成
        node = m.parseToNode(line)
        # ノード分回す
        while(node):
            # ヘッダーとフッターは空文字のため扱わない
            if len(node.surface) > 0:
                # 品詞が「動詞、形容詞、名詞」だったら
                if node.feature.split(",")[0] in ["動詞", "形容詞","名詞"]:
                    word_list.append(node.surface)
            # 次のノードに進める
            node = node.next
            # ノードが None 型だったらループから抜ける
            if node is None:
                break
    # 返却
    return word_list

それでは Word Cloud を作成していきましょう。stopwords というのは、除外ワードのことで一般的な意味を持つものや今回関係ないものをセットすることで対象から外します。
フォントを指定する必要がありますが、もし日本語用フォントが入っていなかったらインストールしてください。(ちなみの僕は下記サイトのものを入れました。)

ipafont.ipa.go.jp

def create_wordcloud(text):
    # フォントのパス
    fpath = "./ipam.ttc"
    # 除外ワード
    stop_words = ["いい", "感じ", "あっ", "使っ", "あり", "やっ", "する", "いる", "なっ", "でき", "よう", "てる", \
    "思っ", "さん", "こと", "ところ", "ため", "ところ", "みよ"]
    # wordCloud のインスタンス生成
    word_cloud = WordCloud(background_color="white", font_path=fpath, stopwords=set(stop_words), width=900, height=500).generate(text)
    # png ファイルに出力
    word_cloud.to_file("./result.png")

これで Word Cloud を使って png ファイルに出力できるようになりました。

最後に、呼び出しを書いて完了です!!

word_list = create_word_list("./data.txt")
create_wordcloud(text = ' '.join(word_list))

プログラム全部は github に乗せているので、自分も動かしたい!!という方はご参考ください。

github.com

成果物

最終的なアウトプットは以下のようなものが得られました!!

相談事項の可視化
相談事項の可視化

プログラミングの項目が多いかと思いきや意外に「開発、地方、東京、案件」というワードが目立ちますね。

本当にメンティーが求めていることは、プログラミング云々というよりもこれからのロードマップなんですね。「地方、東京」が目立ちますがロードマップに関連して地方からの転職について求められていることが多いですね。

これから僕が仕入れる情報も明確化されてよかったです。


宣伝

ここで一個宣伝させてください。

現在私「ロク」は、未経験のエンジニア向けのメンターを行なっています。

内容は、キャリアマップの相談、プログラミングの相談、イノベーションマインド(私が勝手に名付けたのでご興味ある方はお問い合わせください。)

料金は無料でお受けしていることと現在会社員ですので、いつでもすぐに回答できるわけでも教材を提供できるわけでもありませんが、お力になれればと思っています。

プログラミングの相談はもちろん、就職の相談や勉強方法の相談など幅広く承っています。

無料と言うと怪しいイメージを持たれがちなのですが、将来的に行いたいビジネスの検証段階としてメンターをやっているため「無料」でご提供させていただいております。

一個だけ、見返りとして求めることがあるとしたら、ある程度できるようになってきたら僕の趣味開発のお手伝いをしてもらえると嬉しいなと思っています。

メンターの応募フォームはこちらから!!

forms.gle

twitter もチェックしてもらえると嬉しいです!!

twitter.com


最後に

今回は簡単な辞書で形態素解析をやったことや、無理やり stopwords を作成したので今度は辞書を変えたりもうちょっと精度の良いものが出せたら嬉しいなと思います。

それではまた次回〜