2016年7月16日土曜日

RMeCabで形容詞の形態素解析をやってみた。

 最近、テキストマイニングがマイブームです。
普段は「kh coder」や「TTM(Tiny Text Mininer)」か、弊社のテキストマイニングツールを使っているのですが、R言語のエントリーでRMeCabを使ったものがあったので、妙に触りたくなりました。

 今回は、クチコミサイトにあったクレジットカードのレビューをサンプルデータにグラフ化までやってみます。

・OS:Windows7
・R version:R version 3.3.0 (2016-05-03)
・IDE:RStudio ver0.99.902
・データ件数:1,575件

「RMeCab」とは?


オープンソースの形態素解析エンジンである「MeCab(めかぶ)」をR環境から直接利用できるパッケージです。

RMeCabのインストールはR環境からコマンドコピペ一発で出来ますが、MeCabのインストールはやや苦戦するかもしれません。ご利用になるRのバージョンに合致するMeCabをご確認の上、インストールしてください(・・・って、言うほど難しくないです)。

(参考ページ)RMeCab
http://rmecab.jp/wiki/index.php?FrontPage

ソースコード


# パッケージのロード
library(RMeCab)

# read.csvとか使わずに、RMeCabから直接読み込めるのは便利ですね。
card.res <- RMeCabFreq("card.txt")

# str()でデータフレーム構造を確かめておきましょう。

> str(card.res)
'data.frame':    9798 obs. of  4 variables:
 $ Term : chr  "あ" "あー" "あの" "え" ...
 $ Info1: chr  "フィラー" "フィラー" "フィラー" "フィラー" ...
 $ Info2: chr  "*" "*" "*" "*" ...
 $ Freq : int  3 1 3 8 7 8 6 3 2 1 ...


# Info1には品詞情報が入っています。今回は「50回以上頻出」した「形容詞」を抽出します。
card_adj_50over <- card.res[(card.res$Info1=="形容詞"&card.res$Freq > 50),]

# とりあえず、頻出回数順に降順でソートをかけておきます。
card_adj_de <- card_adj_50over[order(card_adj_50over$Freq,decreasing = T),]

# もう一回データフレーム構造を見ておきましょう。
str(card_adj_dec)

> str(card_adj_dec)
'data.frame':    20 obs. of  4 variables:
 $ Term : chr  "ない" "良い" "やすい" "多い" ...
 $ Info1: chr  "形容詞" "形容詞" "形容詞" "形容詞" ...
 $ Info2: chr  "自立" "自立" "非自立" "自立" ...
 $ Freq : int  989 676 487 456 431 358 277 247 142 140 ...


# 都度データフレーム名を入力するのは面倒なので、「attach」しておきます。
attach(card_adj_dec)

# グラフを作りたいのでggplot2をロードしておきます。
library(ggplot2)

# 描画レイヤーを一枚ずつ重ねあわせる
g <- ggplot(
  card_adj_dec,          # ggplot 用データフレーム
  aes (                     # ggplot オプション設定
    x = Term,            # x軸:Term
    y = Freq,             # y軸:Freq
  )
)
g <- g + geom_bar(   # 縦棒グラフの指定
  width = 0.8,           # 棒の幅
  stat = "identity"
)
g <- g + xlab("形容詞")           # x 軸名
g <- g + ylab("頻出回数")       # y 軸名
g <- g + ggtitle("クレジットカードレビューにおける形容詞ランキング")   # グラフ名

# グラフ描画。うーん、せっかく元データを降順にしたのに、反映されていない。。^^;
# 次回までに勉強しておきます。
plot(g)


R言語関連のエントリー


【R言語】leafletで札幌市内のサツドラをプロットしてみた。
http://sapporomkt.blogspot.jp/2016/01/rleaflet_4.html

【R言語】今年は、leafletでマップをグリグリしたい。
http://sapporomkt.blogspot.jp/2016/01/rleaflet.html

【R言語】factor型で数値を集計するときの注意点
http://sapporomkt.blogspot.jp/2016/01/rfactor.html

【R言語】ベクトルにおける関数の使い方
http://sapporomkt.blogspot.jp/2015/12/r_80.html 

【R言語】「rpivotTable」パッケージが高機能過ぎて泣ける件
http://sapporomkt.blogspot.jp/2015/11/rrpivottable.html

【R言語】どうしても「ディープインパクト」全産駒の内訳を集計したくなったの<前処理編>。
http://sapporomkt.blogspot.jp/2015/10/r.html 

AEIが優秀な種牡馬を調べてみたら・・・やっぱりディープ(略)
http://sapporomkt.blogspot.jp/2015/10/aei.html

過去5年間のリーディングサイアー成績を眺めてみた~ディープインパクトって実際・・・
http://sapporomkt.blogspot.jp/2015/10/5.html

(R言語)readHTMLTable関数でJ2の順位を音速で抜き出す。
http://sapporomkt.blogspot.jp/2015/07/rreadhtmltablej2.htm



2016年7月9日土曜日

Oracle Modern Business Experiences 2016に相沢直人氏が登壇!

「Oracle Modern Business Experiences 2016」に前職時代(札幌の広告会社:インサイト)の私の部下で、同社マーケティングディレクターの相沢直人氏が登壇されるようです。




開催日時:2016年7月27日(水)10:00~17:00
会場:シェラトン都ホテル東京
住所:東京都港区白金台1-1-50
タイトル:観光×地域×クラウド 産官学連携が切り開く観光新時代!
 
>相沢様
 ぼく、「マルセイバターサンド」が食べたいです。。


(参考)日本オラクル「POCO」コンテスト受賞しましたっ!!
http://sapporomkt.blogspot.jp/2015/11/poco.html

「SPSS Modeler Text Analytics」によるテキストマイニング(データ読み込みからグラフ化)

 お恥ずかしい限りなのですが、先日、SPSS Modelerから直接テキストマイニングが出来ることを始めて知ったワタクシです。はい、すいません。。
まだまだ勉強中なのですが、まずは、「データの読み込みからグラフ化」からご紹介させて頂きます。

 結論としては、下記のようなアウトプットが簡単にサクッと出来ちゃいます。


※本エントリーは、私、小田一弥が一個人として勉強を兼ねて記載したものです。私の勤務先である日本アイ・ビー・エム株式会社の見解・見識ではない、個人としての記載内容としてご覧ください。  


「SPSS Modeler Text Analytics」に関する基礎知識



■概要
・名前のとおり、SPSS Modelerからテキスト分析機能を提供するプログラム。
・高度な言語テクノロジと自然言語処理 (Natural Language Processing、NLP) を使用し、さまざまな構造のないテキストデータを高速で処理が可能。
・分析対象となるテキストから重要な「コンセプト」を抽出および整理し、これらのコンセプトをカテゴリーにグループ化する。

まぁ、だいたいわかったのですが、「コンセプト」だけは初見だったので調べました。

■「コンセプト」とは:
・SPSS Modeler Text AnalyticsやSPSS Text Analytics for Surveysによって抽出されたキーワード(単語だけはなく複合語も含む)のこと。
・「キーワード抽出」のみを実行すると非自立語を除いた自立語部分を抽出結果として出力する。

自立語:単独でひとつの文節を作ることが出来る単語
非自立語(付属語):単独では文節を作れず、常に単語のあとに付く単語

(例)  大きな  でした


ちなみに、「コンセプト」と合わせて「タイプ」という言葉もよく出てきます。

■「タイプ」とは:
・抽出された「コンセプト」における「名詞・動詞・形容詞」といった品詞分類なもの。
・SPSSの場合、固有名詞(「人名、地名、組織名」等)は名詞とは別に分類される。

「データ読み込みからグラフ化」までの手順


他にも色々言及すべき点はあると思いますが、そろそろ飽きられる段階かなーと思いはじめてますので、データ読み込んでグラフ化までやってみます。

■今回の作業環境
・OS:Windows7 Professional(SP1)
・IBM SPSS Modeler Premium 18.0
・IBM SPSS Modeler Premium Japanese(Extractor)18.0 (※1)
・クチコミサイトのクレジットカードに関するレビューデータ(1,575件) (※2)
※1:日本語のテキストマイニングには、「Japanese Extractor」のインストールが必要です。
※2:今回は作業手順のご紹介を目的としているため、細かいデータクリーニングはしておりません。マイニング結果については、サンプルデータ程度の扱いでご覧ください。



■以下手順
1.「Excel」ノードの配置
 入力パレットにある「Excel」ノードを配置してください。
今回、入力データがExcel形式のためですが、データ構造さえ問題なければ、もちろん、他の形式でもOKです。



2.データ内容チェック
 毎回ですが、「テーブル」ノードと「データ検査」ノードでデータ内容をご確認ください。満足度の高低とテキストマイニング結果の関係性を見ても面白そうですね。




3.「テキストマイニング」ノードを配置
 「IBM SPSS Text Analytics」パレットから「テキストマイニング」ノードを配置し、「Excel」ノードにつなげてください。


4.テキストマイニング対象データの読み込み
 「テキストマイニング」ノードを開き、「フィールド」タブの「テキストフィールド」から読み込ませたいカラム(列)を指定してください。


 「モデル」タブのデフォルト状態です。「リソースのコピー元」で「Opinions(Japanese-(感性意見))」になっているのをご確認ください。


 「エキスパート」タブもデフォルト状態では下記のようになっているはずです。


 上記を確認のうえ、「OK」ボタンを押してください。
こんか感じでカリカリ何か(=コンセプトの抽出作業)をやっています。自分のPC環境では1分弱かかりました。


5.「カテゴリー」を作成
 メニューの「カテゴリー」から「カテゴリーを作成」を選択してください。


 人生は短いです。今回は「今すぐ作成」押してください。あっという間に「カテゴリー」が生成されます。

6.グラフ化!
 とりあえず、お好きなカテゴリーを選択して、「カテゴリー」ペイン右上にある「表示」ボタンを押してください。
下記画像のようなダイアログが表示されますが、「いいえ」でお願いします。


「カテゴリー棒グラフ」です。ソートも出来ます。


「カテゴリーWeb」です。


うーん、ちょっとゴチャゴチャしてますね。タブのメニューにある「スライダーを表示」ボタンを押して調整してください。


「カテゴリーWebテーブル」です。
「カテゴリーWeb」と同じ情報をテーブル形式で表示します。


今回は、以上です。
次回はもう少し突っ込んだ使い方もご紹介出来ればと考えております。

その他:SPSS Moder関連エントリー


(無料)Watson StudioでSPSS Modeler flowの決定木を動かす

(Watson)Personality InsightsのJSONをR言語でパースしてみた

Watson Studioの「Data Refinery」機能で「馬の疝痛(せんつう)」データを眺めてみた。

SPSS Modelerでアソシエーション分析がしたいっ! (前処理編〜縦持ちを横持ちへ)
http://sapporomkt.blogspot.jp/2017/06/spss-modeler.html


「SPSS Modeler」におけるデータ操作及びシーケンスデータの取り扱いまとめ
http://sapporomkt.blogspot.jp/1970/01/spss-modeler_1.html

SPSS Modelerでリーディングサイアーデータ分析:前処理(レコード追加等)
http://sapporomkt.blogspot.jp/2016/05/spss-modeler.html

SPSS Modelerで「サイアー/ブルードメアサイアー」データをレコード結合
http://sapporomkt.blogspot.jp/2016/05/spss-modeler_13.html

2016年7月4日月曜日

XPマシンに子供向け知育アプリ「GCompris」を入れたら息子に大ウケ。

 僕の思い出がたっぷり詰まったWindows XPマシン「EeePC-1000H」。
購入当初は外出用マシンとしても活躍しましたが、さすがにこのロースペックではWindows7も入らず、比較的早いうちからLinux(Ubuntu)マシンとして第2のPCライフを送っています。
いまは、「MacOSっぽいUbuntuディストリビューション」として最近人気な「Elementary OS」を入れて遊んでいますが、「稼働率(使っている時間)」で言うとやや少なめなのが残念なところ。


そうだ!「子供向け知育パソコン」にしちゃおう!


 以前から息子(5歳)のために、「パソコン教育」やりたいなぁと思っていました。
小学校入学前なので、妻は「国語や算数とかいろいろ教えなくちゃ」と心配しているのですが、自分としては、この時期は下記を重視したいと思っています。

1.とにかく、「楽しんで勉強すること」。
 自分は小学校時代(その後もか・・・)、勉強が苦手だったのですが、「無理やり」ではなく、楽しんで勉強できる環境があったら、もっと良くなっていたのかも・・・と、よく親のせいにしていました(笑)

2.「論理的思考力」を強化すること。
 実際に小学校の先生が、「掛け算や割り算など、高度なことは小学校に入ってからでも十分」といったコメントを書いていたのを幾つか見たのですが、個人的にも同感です。それよりも、「どうしてこうなるんだろう」といった「論理的思考力」を強化したほうが「つぶし」が効くし、良いのではないかと。

3.「集中力」を鍛えること。
 これもQ&Aサイトに小学校の先生のコメントとして比較的多く書いてあったのですが、「先生の話していることを集中して聞く習慣付けが大切」ですと。特に自分の子供は集中力がないので、このあたりを強化したい。

・・・あと付け加えるとすると、「無料の教育コンテンツであること」ですかね。だって、お金ないんだもーん♪

そんなことで、個人的にもパソコンが趣味なので、「子供向け知育パソコン」構想に行き着きました。

こんなにあるのね。「子供向け知育アプリ」。


「灯台下暗し」とはよくいったもので、ちょっと調べただけでも沢山あって驚きました。
特にLinux向けは想像以上にあるものですね。

 今回は、ランキングでも評判の良い「GCompris」をインストールしてみました。



ちょっと長いですが、公式ページから説明文引用します。
GComprisは、2才~10才までの子供を対象としたクロスプラットフォームの完全な教育向けパッケージソフトであり、GNUプロジェクトの一部です。140以上の楽しい機能が含まれていて、小さな子供が文字や数字の認識、マウスやキーボードの使い方、初歩的な算数訓練、アナログ時計の見方、ベクトル描画、ゲームによる言葉の学習、他いろんなスキルの習得を支援するものです。またプログラムには基本的なテキスト形式で文書作成をするシンプルなワープロも含まれています。他の機能としては、アニメーションツールがあり、読み聞かせを支援する簡単で効果的な手段として用いることもできます。これにより、子供とのコミュニケーションを改善したり、子供の自己表現を支援することができるのです。

このアプリ、Linux以外にもWindows・MacOS・Android・iPadなど様々なOSに対応しています。ただ、個人的にはパソコンを長時間子供に占有されるのはツライので旧世代マシンに軽量Linux入れて「知育専用パソコン」にするのがオススメです。

 実際、5歳の息子に触らせている様子。下記は左側のタイル構成どおり、右側に再現する単純なゲームなのですが、「ウンウン」唸りながらずっとやっていました^^
他にもレベル調整が可能な算数ゲームや、「物理の法則」を学べるゲームなど、どれも息子に大ウケでした。


 自分なりに「新しい幼児教育」を考える良いキッカケになりました。
他にも色々試してみようと思います。

2016年6月26日日曜日

Watsonくんに「#吉育三」ラップを歌わせてみた。

 最近、SPSS Modelerなどの難しい自社ネタばかりだったので、本日は、ライトでポップでラップなネタをひとつ。

 題材は、Text to Speechです。
そして、メインディッシュは「吉幾三」ではなく「#吉育三」(謎は深まるばかり)

※本エントリーは、私、小田一弥が一個人として勉強を兼ねて記載したものです。
   私の勤務先である日本アイ・ビー・エム株式会社の見解・見識ではない、個人としての記載内容としてご覧ください。 


「Text to Speech」とは?


 IBM Bluemix上で提供するWatson APIのひとつで、投入したテキストデータを自然な音声データに変換し出力してくれます。対応言語は随時増えており、イギリス/アメリカ英語・ドイツ語・フランス語・イタリア語・日本語など多岐に渡ります。しかも、男女別や発話する人物までも選択できちゃいます。

早速、デモサイトで遊んでみよう!チェケラー♪


 Hey!Yo!お兄さん!
デモサイトがあるから超絶楽に遊べるぜぃ♪(ラップ聴かないからよくわらない疑惑)

1.下記デモサイトにクリックだぜぃ、Hey、メーン♪
 今回はデモサイトを利用するだけなので、BluemixのID登録など不要です。

http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/speech-to-text.html

2.プルダウンから「Japanese」を選択。Oh yeah!アハァーン♪(BU○P風←もうラップじゃない)
 エミネムとLIP SLYMEぐらいしかラップは聴いたことがない僕です。どうか、プルダウンから「Japanese」を選んでくださいお願いします。


3.「吉幾三」先生のページを閲覧して、先生に心寄せる(当プロセス不要疑惑)
 「ひとり北国」絶賛発売中です。先生のご尊顔をご覧になりながら、まずは、先生に心を寄せてください。



 4.下記サイトの「#吉育三」歌詞でお楽しみください。
 先生の「あの名曲」は、ちゃんとお金を出して買ってください。冗談抜きで元気出てくるジャパニーズソウルミュージックです。

 今回は、「子育ての悩み」を先生の名曲に合わせて創作された「#吉育三」でお願いします。

わかりすぎてもう辛い!吉育三の「俺ら東京さ行ぐだ」をパパママが歌うとこうなる!12選
http://mamari.jp/14150

 タイトルそのものなのですが、以前、育児の苦労を先生の名曲「俺ら東京さ行ぐだ」に乗せて楽しむムーヴメントがありました。

 こちらの名曲オマージュTweetをText to Speechデモサイトのテキスト欄にコピー&ペースト。
わかります、この気持ち、痛いほどわかります。深夜残業帰りで泣かれた日には(T.T)
※グルーヴ感?を出すために、少々文字面を変えました。

はぁー! オムツじゃねえ ミルクじゃねえ 昼寝をし過ぎたわけでもねえ! ウンチもね 出したよね? 横漏れするほどだしたよね? 抱っこして トントンで 部屋中あるいてぐーるぐる! いつ寝るの? まだ泣くの? 眠れないまま朝が来る!! オラこんなよるいやだー

5.「Speak(Only in Chrome & Firefox)」 ボタンをクリック。
 お楽しみください(笑) 演奏無しなのに、結構リズムを感じます。

 実家に帰省してまで書くエントリーだったのかと、ちょっと、自問してますが、テクノロジーの凄さが少しでも伝わりましたら幸いでございます。

過去のWatson関連エントリー


分析の常識が変わる?「Watson Analytics」すげー!!【Explore】
http://sapporomkt.blogspot.jp/2016/01/watson-analytics.html

「データ・ビジュアライゼーション」でも便利な「Watson Analytics」【Explore】
http://sapporomkt.blogspot.jp/2016/01/watson-analytics_13.html

「Watson」先生に、AdSenseビンボーの理由を聞いてみた・・・【Predict】
http://sapporomkt.blogspot.jp/2016/01/watsonadsense.html

5分で作れる!Watson Analyticsで激ラクなレポート作成。
http://sapporomkt.blogspot.jp/2016/02/5watson-analytics.html

いま話題のIBM「Bluemix(ワトソンくん)」が「老人と海」をサマったら。
http://sapporomkt.blogspot.jp/2015/11/ibmbluemix.html 

2016年6月22日水曜日

本日(6/22)より「大沼鶴雅オーベルジュエプィ」先行予約開始!!

 北海道が誇る高級旅館グループの鶴雅グループが函館大沼にて新規オープンする新宿「大沼鶴雅オーベルジュエプィ」。
久々にホームページを見に行ったところ、なんと、本日(2016年6月22日(水))から先行予約開始とのことではないですかっ!!

http://www.onuma-epuy.com/

 また、宿内部のデザインイメージもCGではありますが、除々に情報公開されていますので、ご興味ある方は、ぜひ、同宿ホームページをご覧ください。



 なお、グランドオープンは、「2016年8月10日」となっております。
もともと、オーベルジュタイプということもあり、限られた部屋数のうえ、今年は新幹線開業効果も重なるので、予約殺到になるのでしょうね。
いつか泊まってみたい!

住所:〒041-1354 北海道亀田郡七飯町大沼町85-9
電話番号:0138-67-2964
URL:http://www.onuma-epuy.com/



その他:鶴雅グループ関連エントリー


 【3000円でも安い!】「定山渓 鶴雅 森の謌(もりのうた)」ランチバイキングと日帰り入浴
http://sapporomkt.blogspot.jp/2015/06/blog-post_8.html

鶴雅グループが函館に進出!!
http://sapporomkt.blogspot.jp/2015/07/blog-post_8.html

スイーツの品数が2倍!?鶴雅「森の謌(うた)」のランチバイキング
http://sapporomkt.blogspot.jp/2015/09/2.html

「しこつ湖鶴雅 水の謌(うた) ランチビュッフェ」に行くので口コミを分析したの。
http://sapporomkt.blogspot.jp/2015/11/blog-post.htm

オフシーズンこそ「あかん湖鶴雅ウイングス!」?家族連れには最高な宿。
http://sapporomkt.blogspot.jp/2016/03/blog-post.html

2016年6月21日火曜日

栗原はるみさんのお店「ゆとりの空間 横浜ベイクォーター店」に行ってきた。

 先日、主婦の皆さんから絶大な人気を誇る料理家の「栗原はるみ」さんの料理が食べられるお店「ゆとりの空間 横浜ベイクォーター店」に行ってきました。

「栗原はるみ」さんについて 


 改めてご紹介する必要もないぐらい、超有名人な方ですが、僕のようなよくわかっていないオジサン向けに軽くご紹介。

日本の料理研究家。株式会社ゆとりの空間社長。静岡県下田市出身。静岡県立下田北高等学校を経て、成城大学短期大学部卒業。一男一女の母。夫は元キャスターで株式会社ゆとりの空間会長の栗原玲児、長女は「衣食住コンシェルジュ」と称して執筆活動をしている栗原友、長男は料理研究家の栗原心平。(Wikipediaより)

お店やお食事の様子 


 おしゃれなお店が集まる横浜ベイクォーター。その中でも特にこのお店は女性から支持されそうな素敵なたたずまいでした。予備知識無しに奥さんに連れられて来たので、一瞬、「えっ?ここレストランなの?雑貨屋さんじゃないの?」と面食らうぐらいのオシャレ空間。


 確かにメニューが掲載されていたので、一安心(笑)


確かに、栗原はるみさんプロデュースの雑貨や食器など、販売しています。ディナータイムは18:00からのため、それまではこちらの商品を眺めて楽しんで待つことができました。



食事をするテーブルから見た店内の風景。我が家はディナータイムすぐに入店したのでこのような状態でしたが、15分ぐらいでほぼ満席に。家族連れ、カップル、女性の友達同士、オシャレな一人だけの紳士など、客層も様々でした。



お料理はこちら。どれも一品一品、丁寧に作られていることが感じられる、優しい味のする料理でした。品数が多いので、食べると見た目よりもボリュームがありましたね。
また、お子様セットもあって助かりました。




この日はセットで注文したので、アイスクリームとドリンクも付いていて大満足でした^^


お店の情報等 


・店名    :ゆとりの空間 横浜ベイクォーター店 (yutori no kukan)
・電話    :045-450-7197
・住所    :神奈川県横浜市神奈川区金港町1-10 横浜ベイクォーター 3F
・営業時間    :11:00~22:00(フードL.O.21:00、ドリンクL.O.21:30) ランチ営業、日曜営業
・定休日    :無休