2012年6月2日土曜日

『データマイニング (データサイエンス・シリーズ 3)』


データマイニング (データサイエンス・シリーズ 3)



購入

p5 データマイニングの定義 「大規模なデータから思いがけない(unsuspected)パターンを発見すること」

統計学では、データ全体を説明するような大域的なモデルを構成する方法をとることが多いが、データマイニングではすぐあとで例示するように、データの細かな一部でしか成り立たないようなパターンにしばしば注目する。もちろんそれがランダムなデータの揺らぎによるものでないことは、統計的道具を使って検証されるべきである


データマイニングは探索的データ解析(exploratory data analysis)にごく近い目的をもっているが、あくまで実用技術として

(1)非常に大規模なデータを対象としていること
(2)データの収集法に対してコントロールが利かないことが多いこと
(3)新しい種類のデータやパターンに注目していること
(4)人間とコンピュータがいかに役割を分担できるかに注目していること

といった点において特徴づけられる




p6 バスケット解析の結果→店での品揃えや商品の配置の決定、さらに特売商品の選定などを行う



p7 「法則はできるだけシンプルで、ユーザにとってわかりやすいものでなければならない」という基本要求(法則の明解性)に答えねばならないからである

法則の明解性が必要になる理由=>see p7


p8 木構造をもつ決定木と回帰木は、構造の大きさと予測精度に関する理論も整備され、効率がよい上に安心して用いることができるため、現在実用化が成功しているシステムといえる


P39 3.5 視覚化手法とその他の研究

データマイニングの目的はデータから人間が知見を得ることである
エンドユーザーに対するインターフェイスは非常に重要である
このための集団として、単に相関ルールのリストを表示するだけでは、あまりにお粗末である

一般に、難解な現象を理解する方法として、より直感的な表現に直す-視覚化(VISUALIZE)-ことが有効である


<研究>
アソシエーション分析の研究
・アルゴリズム(プログラミングなど)
・視覚化(2次元、3次元)
・データ処理の高速化
・極大頻出アイテム集合の発見
・相関ルールの価値基準
・数値属性の取扱い
・問合わせ群
・時系列パターン



データマイニングシステム (System for Optimized Numeric Association Rules) SONAR
http://www.research.ibm.com/trl/projects/s7800/DBmining/sonar/index.htm
- 1次元数値属性相関ルール
- 2次元数値属性相関ルール
- 決定木・回帰木



2012年5月6日日曜日

Google Analytics



*Google Analytics
http://www.google.com/analytics/



*Google Analytics(グーグル・アナリティクス)の使い方やホームページのアクセス解析の活用方法を説明
http://hmn.livedoor.biz/archives/50734875.html


facebook 解析


*Facebookが提供する解析ツール「Facebook Insights for Websites」を紹介するサイト
http://fb-news.jp/facebook/facebook-insights.html

「この仕組ではボタンが表示された回数やクリックされた回数、記事が表示された回数やクリックされた回数に加え、ユーザーの属性データなどが取得できるようになり、それぞれのデータをグラフ化して閲覧することが可能です。」






*競合のFacebookページも簡単に分析できちゃう「All Facebook」無料を紹介するサイト
http://d.hatena.ne.jp/ryuka01/20110728/p1

「一番違いは「自分のページ以外の情報をみられるか」ということ。Facebookページはまだ「目標指標と数値であるKPIを設定する事は難しい。しかし、競合のページと比べて、勝っているあるいは追いついている、という事が可視化できるというのが「All Facebook」を使う一番の理由」

All Facebook
http://www.allfacebookstats.com/
・無料で最大3ページまでFacebookページを分析出来るサービス
・facebookインサイト機能との違い

機能 インサイト All Facebook
他ページの分析 × ○
複数ページの管理 × ○
データのダウンロード ○ ○
ダッシュボードの作成 × ○
年代や性別の分析 ○ ×
レポートの豊富さ △ ○


【Statistics】
Dashboard:任意のレポートを選択してひとつの画面にまとめられる機能
Fans:ファン数の増加などに関するレポート群
Interactions/Content:発言に対するコメント数など「やりとり」に関するレポート群
Location/Places:位置上に関するレポート群
Page Details:Facebookページ単位の詳細レポート

【Administration】
Manage Pages:ページ管理
Events:イベント管理
My account:アカウント情報
Support:サポート情報
Help:ヘルプ
Logout:ログアウト





*ウォール投稿を紹介するサイト
Facebook運用者必見!覚えておくと役立つウォール投稿の3つの解析視点|ここを狙えばいいね!を増やせる!
http://gaiax-socialmedialab.jp/facebook/097

1.良いウォール投稿は『タイミング』が上手い!
2.『タイミング』はこの3つの視点で見ると効果を伸ばせる!
3.『タイミング』を見定めるためにやるべき事、まとめ

【視点1】ファンのアクティブ状況
【視点2】ニュースフィードの混雑状況
【視点3】これまでの反応実績

















2012年5月5日土曜日

twitteR



*第5回 インターリュード: TwitterとR
http://www.atmarkit.co.jp/fcoding/articles/stat/05/stat05a.html
2010/9/15
「今回はTwitterという身近な題材を使って、Rによるデータ収集と可視化をやってみます。Rの豊富なライブラリを使えば意外に手軽にできます。」




*twitteRたのしいよtwitteR
http://oku.edu.mie-u.ac.jp/~okumura/blog/node/2529
統計・データ解析用言語 R の欠点は,Googleで検索しにくいこと
Rに twitteR というTwitter APIを操るパッケージ

-> 日本語の抽出が上手くいかない 2012.05.05



*twitteR サンプル
http://www.okada.jp.org/RWiki/?twitteR%20%A5%B5%A5%F3%A5%D7%A5%EB



*twitteR: R based Twitter client
http://cran.r-project.org/web/packages/twitteR/
Reference manual:
http://cran.r-project.org/web/packages/twitteR/twitteR.pdf



igraph 調査要 2012.05.05



調査要 2012.05.05

ここにサンプルあり↓
http://www.atmarkit.co.jp/fcoding/articles/stat/05/stat05a.html






『「複雑ネットワーク」とは何か (ブルーバックス)』

「複雑ネットワーク」とは何か (ブルーバックス)

「複雑ネットワーク」とは何か (ブルーバックス)

『言語研究のための統計入門 [単行本]』




言語研究のための統計入門 [単行本]

言語研究のための統計入門


『テキストマイニングハンドブック [単行本(ソフトカバー)] 』



テキストマイニングハンドブック [単行本(ソフトカバー)]















『データからの知識発見 (放送大学教材) [単行本]』


『データからの知識発見 (放送大学教材) [単行本]』


データからの知識発見 (放送大学教材)


配送待ち

到着

apriori

http://www.is.ouj.ac.jp/lec/data/index.html
Webサイトは放送大学の専門科目「データからの知識発見('12)」のための補助資料などを掲載しています




【Data】

p.131 yamate.dat
http://www.is.ouj.ac.jp/lec/data/C07/

p.184 架空の成績データ
http://www.is.ouj.ac.jp/lec/data/C10/



【Rに関するWebサイト】

Rプロジェクト
http://www.r-project.org/

RjpWiki
http://www.okada.jp.org/RWiki/

Rによる統計処理
http://aoki2.si.gunma-u.ac.jp/R/

R-Tips
http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html



【Contents】

1. データマイニングとは

2. Rによる基本統計量の計算

3. 線形代数の基本

4. データの視覚化

5. 主成分分析

6. 回帰分析
6.1 回帰分析
6.2 重回帰分析
6.3 予測の正確さ
6.4 Rによるシミュレーション
6.5 まとめと展望
 第6章では線形な結合について手順を説明、非線形な場合を含めた一般的の予測については第12章で扱う

7. 多次元尺度法

8. クラスター分析

9. アソシエーション分析

10. 決定木

11. ニューラルネットワーク

12. バックプロパゲーション

13. 自己組織マップ

14. テキストマイニング

15. まとめ

付録A Rのインストールと設定







サイト テキストマイニング




*コーパスいぢり ~langstatの研究日誌~
http://d.hatena.ne.jp/langstat/
- 遡って2012年2月まで拝読 2012.05.05



関西学院大学文学部総合心理科学科 三浦研究室
http://asarin.team1mile.com/


R-bloggers
http://www.r-bloggers.com/


計量文献学
http://d.hatena.ne.jp/langstat/20120312
気になる本2冊の紹介 


生物系統学とかネットワークとか
http://d.hatena.ne.jp/langstat/20120311
気になる本3冊(うち1冊は入手済)の紹介


第5回 心理・医学系研究者のためのデータ解析環境Rによる統計学の研究会
http://d.hatena.ne.jp/langstat/20120309
> 公益社団法人日本心理学会
> http://blue.zero.jp/yokumura/workshop.html
> http://blue.zero.jp/yokumura/Rhtml/session05.html



*データからの知識発見 (放送大学教材)
http://www.amazon.co.jp/dp/459531373X/?tag=hatena_st1-22&ascsubtag=d-gn09z

放送大学の専門科目「データからの知識発見('12)」のための補助資料
http://www.is.ouj.ac.jp/lec/data/













EDA係り受け解析器



EDA係り受け解析器
http://www.ar.media.kyoto-u.ac.jp/members/flannery/eda/

EDA(えだ)は単語係り受け解析器です。

ちなみにEDAというのはEasily adaptable Dependency Analyzerの省略です。

特徴
•部分的アノテーションコーパスからの学習:通常、学習データを用意する時は文中の全ての単語に係り先を付与しなければなりませんが、EDAの場合は注目単語のみに係り先を付与すればよいです。
•交差する係り受けも扱える:右方向の係り受けなら、交差する係り受けを問題なく扱うことができます。

注:日本語の書き言葉を対象としているため、文中の全ての単語の係り先が必ずその単語の右側(文末方向)にあるという制約を使っています。日本語の話し言葉などに現れる左方向への係り受けが扱えませんのでご注意下さい。

collonet (ネットワーク分析のパッケージ) (DLできず)



collonet
http://www.lang.osaka-u.ac.jp/~mmiyake/

ネットワーク分析のパッケージ
RMeCabとigraphを利用
日本語以外のテキストも解析可能

downloadできない

スライド テキストマイニング


*テキストマイニング技術の活用に向けて読んでおきたい12のプレゼン資料
http://d.hatena.ne.jp/langstat/20120505#p1



*Pythonによる日本語自然言語処理 #pyconjp
http://www.slideshare.net/nokuno/python-pyconjp
by Yoh Okuno on Aug 26, 2011




*OsakaR_3: R言語によるテキストマイニング入門
http://www.slideshare.net/langstat/osakar3-4642650
by Yuichiro Kobayashi on Jun 29, 2010

[形態素解析]
言語学では、意味を担う最小の言語要素を形態素(morpheme)と呼ぶ。
これに対して自然言語処理では、形態素を同定する処理、すなわち入力文中の単語を同定し、その語の形変化を解析する処理を形態素解析(morphological analysis)と呼ぶ。
松本裕治ほか(1997)「単語と辞書」岩波書店


[N-gram]
言語の特徴を示すものとして、2文字、3文字が隣接して生じる文字の共起関係(これを2グラム、3グラム、一般にNグラムという)の頻度を調べること
長尾真(2004)「言語情報処理」岩波書店


[コロケーション]
語と語の間における、語彙、意味、文法等に関する習慣的な共起関係を言う
堀正広(2009)「英語コロケーション入門」研究社





*テキストマイニングの前のコーパス収集
Collecting corpus
http://www.slideshare.net/gepuro/collecting-corpus-8203771
by gepuro on Jun 04, 2011




*TokyoR_21: テキストマイニングで見る『機動戦士ガンダム』
http://www.slideshare.net/langstat/tokyor21
by Yuichiro Kobayashi on Mar 08, 2012
・分析データ(例)
・時系列変化
・キャラクター間ネットワーク分析
・共起ネットワーク分析
・特徴語分析





*マーケティングリサーチへのテキストマイニングの活用
http://www.slideshare.net/saynoway66/ss-9661561
by saynoway66 on Oct 12, 2011
・手法のポジショニングを明確に(図、p7)
・解析に使用した無料ツール(一覧、p19)





*TwitterのデータをRであれこれ
http://www.slideshare.net/abicky/twitterr
by Takeshi Arabiki on Dec 04, 2010
TwitterのデータとRで戯れながらRと仲良くなろうという発表です.





*OsakaR_7: Rでテキストマイニングをする前に
http://www.slideshare.net/langstat/osakar7
by Yuichiro Kobayashi on Feb 10, 2012
・tf-idf
・ステミング: 語幹を解釈し、語尾が変化した語とマッチングする手法。ステム(stem)は「木の幹、草の茎」のことで語尾が変化しても変化しない根幹部分のこと(例、sing(歌う)は、singer(歌手)やsinging(歌うこと)とマッチングさせることができる
・proxyパッケージ: 距離や類似度を計算するためのパッケージ(Jaccard, cosineなど)が使える
・igraph















2012年5月3日木曜日

動画 データマイニング(生命科学)




生命科学のための情報統合とテキストマイニング - YouTube
http://www.youtube.com/watch?v=rYSrNw7AwpE
本家はこちら http://togotv.dbcls.jp/20101031.html#p01 
本日の統合TVは、2010年10月5日の統合(105)の日に東京大学武田ホールにて開催された4省庁(文部科学省、厚生労働省、農林水産省、経済産業省)合同シンポジ­ウム「ライフサイエンスの未来へ〜10年先のデータベースを考える〜」から、東京大学大学院情報学環、マンチェスター大学計算機科 辻井潤一先生による「生命科学のための情報統合とテキストマイニング」をお送りします。



バイオマーカー・薬剤作用機序研究におけるデータベースの必要性と課題
http://www.youtube.com/watch?v=rqKjt3SJXG0
本家はこちら http://togotv.dbcls.jp/20101029.html#p01 
本日の統合TVは、2010年10月5日の統合(105)の日に東京大学武田ホールにて開催された4省庁(文部科学省、厚生労働省、農林水産省、経済産業省)合同シンポジ­ウム「ライフサイエンスの未来へ〜10年先のデータベースを考える〜」から、エーザイ株式会社 青島健先生による「バイオマーカー・薬剤作用機序研究におけるデータベースの必要性と課題」をお送りします。



「ライフサイエンスの未来へ」まとめ・閉会の挨拶
http://www.ab4u.org/youtube/-p7uar6etu9mhz6I.html
本家はこちら http://togotv.dbcls.jp/20101103.html#p01  本日の統合TVは、2010年10月5日の統合(105)の日に東京大学武田ホールにて開催された4省庁(文部科学省、厚生労働省、農林水産省、経済産業省)合同シンポジウム「ライフサイエンスの未来へ〜10年先のデータベースを考える〜」から、東京大学新領域創成科学研究科 高木利久先生による「まとめ・閉会の挨拶」をお送りします。




第3回LinkedData勉強会:メタゲノムのメタデータ
http://www.podcasts.jp/episodes/%e7%ac%ac3%e5%9b%9elinkeddata%e5%8b%89%e5%bc%b7%e4%bc%9a%ef%bc%9a%e3%83%a1%e3%82%bf%e3%82%b2%e3%83%8e%e3%83%a0%e3%81%ae%e3%83%a1%e3%82%bf%e3%83%87%e3%83%bc%e3%82%bf-16898629.html




産総研紹介ビデオ(ライフサイエンス分野)
http://www.ab4u.org/youtube/-l72BubaGtuaYrNU.html
産総研は、幅広い分野の研究を行う日本で最大級の公的研究機関として、日本の産業競争力の強化と持続的発展可能な社会の実現に貢献してまいります。 また、社会に開かれた研究所となり、産業界や大学との連携を一層強化して、研究開発に取り組んでまいります。 本作では、弊所の「ライフサイエンス分野」の研究開発にスポットをあててご紹介いたします。(2009年制作) 関連リンク: 公式Webサイト http://www.aist.go.jp/index_j.html



統合TV (togotv) - 新着論文レビューをテキストマイニング1.0:序
http://togotv.dbcls.jp/20120326.html


統合TV (togotv) - 新着論文レビューをテキストマイニング2.0:破
http://togotv.dbcls.jp/20120327.html





論文 テキストマイニング



保護者と施設職員の「知的障害者の性」に対する意識 : テキストマイニングを用いた探索的分析  [in Japanese] Consciousness of Parents and Facility Staffs on "Sexuality of People with Intellectual Disabilities" : An Exploratory Study using Text Mining  [in Japanese]
http://ci.nii.ac.jp/naid/110008916333
島根大学社会福祉論集 4, 1-16, 2012-03-31
島根大学法文学部社会文化学科
Shimane University, Faculty of Law and Literature, Department of Socio-cultural Studies



解析用辞書



日本語評価極性辞書
http://www.cl.ecei.tohoku.ac.jp/index.php?%E5%85%AC%E9%96%8B%E8%B3%87%E6%BA%90%2F%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A9%95%E4%BE%A1%E6%A5%B5%E6%80%A7%E8%BE%9E%E6%9B%B8
東北大学
▼ 大学院情報科学研究科
システム情報科学専攻
知能情報科学講座
情報伝達学分野




RMeCab (code)


* write.table()

Rの内部にあるデータフレーム x を外部に「テキストファイル」で保存する write.table ( x, "ファイル名.txt" )

> write.table ( x, "サンプルデータ.txt" )

と記述し,Rの内部のデータフレーム x を,「サンプルデータ.txt」のファイル名で,Rの外部の「作業ディレクトリ」に保存する.
http://133.100.216.71/R_analysis/output_write_table00.html




* collocate(), collScores(), write.table()

「心」
> res <- collocate("kokoro1_1.txt", node = "先生", span = 5)
> res2 <- collScores(res, node = "先生", span = 5)
> write.table ( res2, "res1_1.txt" )

> res2 <- collocate("kokoro1_2.txt", node = "先生", span = 5)
> res2b <- collScores(res2, node = "先生", span = 5)
> write.table ( res2b, "res1_2.txt" )

> res3 <- collocate("kokoro1_3.txt", node = "先生", span = 5)
> res3b <- collScores(res3, node = "先生", span = 5)
> write.table ( res3b, "res1_3.txt" )





*docMatrix 品詞の抽出

> res <- docMatrix("bigdata", pos = c("名詞","動詞"), weight = "tf*idf*norm")
> write.table ( res, "bigdata.txt" )

> res <- docMatrix("docMatrix", pos = c("名詞"), weight = "tf*idf*norm")
> write.table ( res, "docMatrix.txt" )

> res <- docMatrix("docMatrix", pos = c("名詞"), weight = "tf*idf*norm")
> write.table ( res, "docMatrix2.txt" )





* メモ 2012.05.03

1)docMatrixで"名詞"、"動詞"を別に品詞を抽出して
2)weight="tf"*"idf"*"norm"を実行したものから
3)"名詞"、"動詞"(、"主体"、"状態"、"状況"、"場所"、"時間")を組み合わせて****を描く

どうやって組み合わせるか、相関係数?共起?手を動かしてみる












2012年5月2日水曜日

動画 twitter & facebook 解析



twitter研究会 ソーシャルメディアから見たtwitter
http://www.ustream.tv/recorded/2713377
録画日時 : 2009/12/05 10:13 JST
皆さんのTLではiPhoneユーザーばかりが目に付くにも関わらず、ツイッターは日本の携帯対応が、キーとも言われています。いち早くツイッターを日本の携帯に最適化させたモバツイッターの利用状況から現状の携帯電話のツイッターユーザーってどんな人?という部分に迫ってみたいと思います。



ビジネスおよびコンシューマ向けTwitter解析技術
http://www.ustream.tv/recorded/20054889
録画日時 : 2012/01/28 13:40 JST
★ビジネスおよびコンシューマ向けTwitter解析技術の紹介
 池田 和史(KDDI研究所)
KDDI研究所では、自然言語処理を応用したTwitter解析技術の研究開発を進め ている。ビジネス向けには、口コミマーケティングに応用可能なTwitterユーザ のプロフィール推定技術を開発した。コンシューマ向けには、テレビを見ながら Twitterを利用するユーザを対象に、Twitter上の話題要約技術を開発した。講演 では、デモや動画を交えて技術の紹介を行う。




Twitterにおける大規模二部グラフ上のリアルタイム解析例
http://www.youtube.com/watch?v=g709HYA-PUA
 Takeno Souheiさんが 2012/04/29 に公開
. Twitterでは、人気商品の発表やワールドカップの観戦などのイベントにおいて、ハッシュタグ等を用いて一時的にタイムラインを共有するような利用形態がある。また、­人気商品の発表や、災害時などにおいては、ユーザーによるリツイートが頻繁にかつリアルタイムで行われる。
本研究は、このリツイート情報を元にした大規模な二部グラフをリアルタイムに更新・解析していくことで、その時々においてユーザーの興味・嗜好に近いユーザーを提示する。­これによって、ハッシュタグや検索などで明示的にユーザーがタイムラインを構成することなく、現在の自分の興味に近いユーザーのタイムラインをリアルタイムに確認すること­ができるようになる。
動画は、実際の解析によってユーザー間の関連性が変化していく様子を可視化したものになる。
- 東京工業大学大学院・情報理工学研究科 鈴村研究室
- https://sites.google.com/site/tokyotechsuzumuralab/




【WISH2010】1.Twitter 解析ツール「TwiTraq」
http://www.youtube.com/watch?v=ebU3YM1ecOA
amnmovieさんが 2010/08/30 にアップロード
Twitter のつぶやき・キーワードを無料で解析!2010 年 7 月にリリース!
TwiTraq は、あなたの Twitter の発言に対するほかのユーザーの反応(RT やコメント)を自動的に収集し、解析するサービスです。お好みのキーワードやハッシュタグの検索結果を保存することも可能。ユーザーローカルならではの機能として、フォロ­ワーやキーワード発言者の男女比や地域を集計したり、影響力を 5 段階に分類して推定したりできます。またバブルチャートやランキングなど、見やすく興味をそそる機能を備えています。
Twitter を楽しみたい一般ユーザーから、ユーザーの動向を探りたい企業のマーケティング担当者まで幅広く活用いただけます。
http://agilemedia.jp/wish2010/presenter-twitraq/



ツイッターアクセス解析(bitly)の使い方。
http://www.youtube.com/watch?v=6Qs3DLd4a1o
pasojyukuさんが 2010/03/15 にアップロード
ツイッターアクセス解析(bitly)の使い方。商売繁盛に役立つツイッター情報はこちら
http://www.toritsugimanabu.com/twitter/




分かりにくいツイッター(twitter)の専門用語解説動画
http://www.youtube.com/watch?v=4r4qJaNTBGs&feature=relmfu
pasojyukuさんが 2010/03/15 にアップロード
ツイッター(twitter)を商売繁盛に役立てたい方はこちら を御覧下さい。 ツイッターを商売繁盛に役立てる方法解説ページ。 http://www.toritsugimanabu.com/twitter/
(※きれいな動画で解説をみることができます)





ツイッターフェイスブックからのアクセス解析
http://www.youtube.com/watch?v=VP3pFezS3lc
exhigeさんが 2010/11/17 にアップロード
ツイッター、フェイスブックなどソーシャルメディアからのホームページアクセスの現状の解説:ソーシャルメディアマーケティング協会





中小企業のためのフェイスブック活用セミナー 第22回 プロローグ
http://www.youtube.com/watch?v=h_lQ5vGLgzY&feature=related
youakihoさんが 2011/03/01 にアップロード
セミナー資料76ページは http://www.slideshare.net/slideakiho/2011223 
3/23 大阪でセミナーやります http://on.fb.me/ihqzBG 
facebookページ ↓『いいね!』しておくといいね!ってことが(笑)
 http://www.facebook.com/adachiakiho








動画 テキストマイニング



さくさくテキストマイニング 入門セッション@AntiBayes
http://www.ustream.tv/recorded/17884570
さくさくテキストマイニング 入門セッション


yokkuns : 「R言語によるはじめてのテキストマイニング」 - Ustream
http://www.ustream.tv/recorded/14062079
Rパッケージガイドブック


todesking : 「概観テキストマイニング」
http://www.ustream.tv/recorded/14061248


海外でのTwitter利用事例 @fumi
http://www.ustream.tv/recorded/2713990
海外でのTwitterの利用について、政治での利用・ビジネスでの利用など、事例を中心にお話します。



テキストマイニングの前のコーパス収集 @gepuro
http://www.ustream.tv/recorded/15152382


テキスト/データマイニングと業務 @tks
http://www.ustream.tv/recorded/15153898


ts_3156 : 「~『可視化するだけ』でも面白い~ テキストマイニング最初の一歩」
http://www.ustream.tv/recorded/14060574



toilet_lunch : 「今日から使える! みんなのクラスタリング超入門」
http://www.ustream.tv/recorded/14059865
toilet_lunch : 「今日から使える! みんなのクラスタリング超入門」 さくさくテキストマイニング



toilet_lunch : テキストクリーニング入門 ? 精度は細部に宿る
http://www.ustream.tv/recorded/17884933



テキストマイニングツール「見える化エンジン」 デモムービー
http://www.pa-consul.co.jp/movie/




RMeCab Tips (documents and others)


RMeCab Functions
http://rmecab.jp/wiki/index.php?RMeCabFunctions




Rの代表的操作コマンドリスト(pdf)
http://cran.md.tsukuba.ac.jp/doc/contrib/Short-refcard.pdf



Rの備忘録
http://rmecab.jp/wiki/index.php?R%A4%CE%C8%F7%CB%BA%CF%BF






『RMeCab の使い方』 (code、他)


『RMeCab の使い方』
http://rmecab.jp/wiki/index.php?plugin=attach&refer=RMeCab&openfile=manual.pdf より


RMeCabC() 関数
> res <- RMeCabC("すもももももももものうち")
> res[[1]] # リストの各要素,つまり各形態素にアクセスする
> unlist(res)

> x <- "すもももももももものうち" # オブジェクトに代入してもよい
> res <- RMeCabC(x)

> res <- RMeCabC("ご飯を食べた", 1)
> unlist(res) # 形態素原形を出力

> res <- RMeCabC("ご飯を食べた", 0)
> unlist(res) # 形態素表層形を出力


> res <- RMeCabC("すもももももももものうち")
> res2 <- unlist(res)
> res2[names(res2) == "名詞"]
> names(res2) == "名詞" # 比較演算子の働きを確認
> res3 <- names(res2) == "名詞"
> res3
> which(res3)
> any(res3)



RMeCabFreq() 関数
RMeCabFreq() 関数は指定されたファイルを形態素解析し,活用形は原形に変換した上で,その頻度を数え,結果をデータフレームとして返す.なお出力には句読点などの記号とその頻度も含まれている.

> pt1 <- proc.time()  # 起動後の経過を取得
> res <- RMeCabFreq("kumo.txt")
> pt2 <- proc.time()  # 実行時間を見る
> pt2 - pt1          # 単純な引き算



ターム・文書行列
テキストマイニングを実行する場合,対象とするテキストの集合から,ターム・文書行列(term-document matrix) を作成することがある.ターム・文書行列とは次のような行列である.

Term doc1 doc2 doc3
は    1   1   1
学生   1   1   0
僕    1   0   0
彼女   0    1    1
で    0    0    1
を    0    0    1
数学  0   0   1

テキストマイニングでは,文書間の内容的な近さを分析しようとすることがしばしばある.その際,一部のテキストの集合では高い頻度で使われているタームが,別のテキストの集合ではほとんど出現しないことがある.このようなタームは,テキストをテーマごとに分類する手がかりになることが多い.そこで,あるタームがある文書で出現している頻度をまとめた表を作成すると便利である.そのような表をターム・文書行列と呼び,テキスト解析の出発点となる.
=> docMatrix() 関数は第1 引数で指定されたフォルダ内のすべてのファイルを読み込んで,ターム・文書行列を作成する


テキスト解析では,タームを内容語と機能語に分けることがある.
内容語とは,名詞や形容詞,動詞であり,これらはテキストの内容を直接表現する単語類である.
一方,機能語は助詞などであり,テキストを文法的に成立させるために必要な要素類である.

内容語は,テキスト集合をテーマごとに分類するという課題では重要なターム
機能語は、解析の目的が書き手の癖を抽出するような場合には,使われ方が重要


行列の重み付け

テキストをタームの頻度をもとに分析する場合,タームの頻度をそのまま利用するのではなく,そ
のタームがテキスト内に占める重要度を考慮すべきである.これはテキストマイニングにおいては重みとして実現することができる.重みとは,ある文書におけるタームの相対的重要度を示す概念である.
重みには

「局所的重み(local weight)」
「大域的重み(global weight)」
「正規化(normalization)」

の3 種がある.

局所的重みは索引語頻度(term frequency; TF) などとも呼ばれ,ある文書に多く現れる語ほど大きな重みを与えられる.単純にはその語の出現頻度が使われる.
一方,大域的重みは文書集合全体を考慮して各語に重み付けを行うもので,IDF (inverse document frequency) と呼ばれる指標が使われる場合が多い.これは,すべての文書に出現しているタームよりは,一部の文書にのみ出現するタームに大きな重みを与える方法である.
最後の正規化は,長い文書ほど含まれる語が多くなるため,重みも大きくなってしまうが,こうし
た文書の長さによる影響を調整することである.
ターム・文書行列の重みは,これら三つの重みを組み合わせて作成される.重みについて詳細は北他(2002) や徳永(1999) を参照


docMatrix() 関数は,抽出された各形態素の頻度に「重み」を付けることができる.この関数は,局所的重みとしてtf (索引語頻度), tf2 (対数化索引語頻度: logarithimic TF),tf3 (2 進重み: binary weight) を,また大域的重みとしてidf (文書頻度の逆数),idf2 (大域的IDF),idf3 (確率的IDF),idf4 (エントロピー) を,さらに正規化についてはnorm (コサイン正規化) を実装している.これらの重み付けを利用する場合はweight引数に,それぞれの重みを* でつなげた文字列を指定する.

> res <- docMatrix("doc", pos = c("名詞","形容詞","助詞"), weight = "tf")
> res <- docMatrix("doc", pos = c("名詞","形容詞","助詞"), weight = "tf*idf")
> res <- docMatrix("doc", pos = c("名詞","形容詞","助詞"), weight = "tf*idf*norm")



N-gram

N-gram とは文字あるいは形態素,または品詞がN 個つながった組み合わせのことである.例えば「国境の長いトンネル」という文字列を,文字を単位として区切ることにし,さらにN を2 に取れば,下の組み合わせになる.すると,最初に[国- 境] の二文字のペア,さらに右に移動すると[境- の] の二文字のペアが認められ,以下同様にして,最後に[ネ- ル] の組み合わがある.なおN が2 の場合をbi-gram (バイグラム)という.

国 境
境 の
の 長
長 い
い ト
ト ン
ン ネ
ネ ル

形態素単位で分割し,N を2 に取るならば,以下の組み合わせとなる.
国境  の
の   長い
長い  トンネル

品詞情報でbi-gram を作れば,「国境」は名詞,「の」は助詞,「長い」は形容詞,そして「トンネル」は名詞と判断されて,bi-gram は表2–5 の組み合わせとなる.

名詞   助詞
助詞   形容詞
形容詞 名詞
 Ngram() 関数は,文字あるいは形態素,または品詞がN 個つながった組み合わせの総数を求める.





語の共起関係


言語学で共起(collocation) とは,ある語が別の特定の語と隣接して現れる(共起する) ことをいう.

collocate() 関数

> res <- collocate("kumo.txt", node = "極楽", span = 3)

出力されるデータフレームにはキーワード自身も含まれているので注意されたい.Span 列は指定されたウィンドウでの出現頻度,Total はテキスト全体での出現頻度である.またデータフレーム末尾の2 行で[[MORPHEMS]] は形態素の種類の数を,[[TOKENS]] は総語数を意味する.なお,どちらにも中心語自身の頻度が含まれている.

T: (実測値- 期待値) ÷ 実測値の平方根
MI: (共起回数÷ 共起語の期待値) の対数  log2( 4 / ((4/1808) * 10 * 3 * 2))

> res2 <- collScores(res, node = "極楽", span = 3)
> res2[25:33,]

極楽は中心語であるので各指標は計算されずNA で埋められる.同じく[[MORPHEMS]] と[[TOKENS]] の指標もNA とされている.この場合,T 値は約1.9 *であり,2 に近い.「極楽」と「蓮池」の共起回数は有意に多いと考えてよいであろう.またMI に関しても約4.9 であり,先ほど記述した基準の1.58 を大きく越えている.
従って,二つのタームの間には強い共起の関係があると考えてよいだろう.

*:T 値の評価であるが,統計学では,T の絶対値が2 が越えるかどうかを簡易的な目安にすることがあるが,コーパス言語学では1.65 以上であれば,二つのタームの共起は偶然ではないと考えるようである(Churchet al., 1991).



参考文献
Barnbrook, Geoff (1996) Language and Computers: Edinburgh.

Church, K. W., W. Gale, P. Hanks, and D. Hindle (1991) “Using statistics in lexical analysis”, in Using On-line Resources to Build a Lexicon: Lawrence Erlbaum, pp. 115–164.

ブライアン・エヴェリット(2007) 『R とS-PLUS による多変量解析』,シュプリンガー・ジャパン,第1 版. 石田基広,石田和枝,掛井秀一訳.

徳永健伸(1999) 『言語と計算5 - 情報検索と言語処理』,東京大学出版会.

北研二・津田和彦・獅子堀正幹(2002) 『情報検索アルゴリズム』,共立出版.

ウーヴェ・リゲス(2006) 『R の基礎とプログラミング技法』,シュプリンガー・ジャパン,第3 版.石田基広訳.





RMeCab インストール (for windows)



『RMeCab の使い方』
http://rmecab.jp/wiki/index.php?plugin=attach&refer=RMeCab&openfile=manual.pdf

・ MeCab インストール
http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html#download

・ R インストール
http://www.kkaneko.com/rinkou/r/rinstall.html
http://cran.r-project.org/

・ RMeCab (パッケージ) インストール
http://sites.google.com/site/rmecab/
http://rmecab.jp/wiki/index.php?RMeCab
http://rmecab.jp/wiki/index.php?cmd=read&page=SoftArchive&word=RMeCabInstall




[Tips]

RMeCabInstall.bat:右クリック -> 管理者として実行



Readmeから

実装関数の解説ページ
『Rによるテキストマイニング入門』に記載の無い関数を含めて解説
http://rmecab.jp/wiki/index.php?RMeCabFunctions


本書の p.47 でコマンドラインから mecabを実行する方法について
 [スタート]->[すべてのプログラム]->[アクセサリ]->[コマンドプロンプト]
 Windows の場合,以下のように修正のうえ、実行してください.
 すなわち bin>mecab>  を bin\mecab に修正してください.

 C:\Program Files\MeCab\bin\mecab  c:\work\test.txt > c:\work\res.txt

 なお
  [スタート]->[すべてのプログラム]->[プログラム]->[MeCab]->[MeCab]
 を実行すると、mecabを単独で実行できます.
 黒い画面内にテキストを入力しますが,日本語を入力するには, [ALT] キーを押しながら[全角/半角] ボタンを押して入力します



PDFから

作業フォルダ:R のコンソール画面でgetwd() を実行

RMeCabFreq() 関数の実行直後にlength =447 と表示されているが,これはテキスト内の形態素のタイプ数(異なり語数) が(句読点などの記号を含め)447 個であったことを意味する


MeCab の辞書整備
 追加したいタームが活用するような場合は,その活用形をすべてユーザー定義しなければならない.詳細は
http://mecab.sourceforge.net/dic.html






『Rによるテキストマイニング入門』

購入。

Rによるテキストマイニング入門

配達待ち

到着


石田 基広 教授
http://pub2.db.tokushima-u.ac.jp/survey/person/60564/index.html


実装関数の解説ページ
『Rによるテキストマイニング入門』に記載の無い関数を含めて解説
http://rmecab.jp/wiki/index.php?RMeCabFunctions



サポートページ(正誤表)
http://www.morikita.co.jp/soft/84841/index.html


R によるテキストマイニング入門–初級 石田基広 2009.pdf
http://rmecab.jp/wiki/index.php?plugin=attach&pcmd=open&file=ism091124doc.pdf&refer=RMeCabFunctions




p.14
Rに関しては豊富な情報がインターネット上に公開されている、日本ではRjpWikiが有名

英語の情報源では、メーリングリストR-helpがある。メーリングリストの内容はサイトのデータベースに蓄積されている

カイ自乗検定の関数chisq.test()がある、この関数の使い方は?chisq.testをRのコンソールに入力して[Enter]キーを押せば関数のヘルプが表示される(英語)
さらに詳細な情報が必要な場合は、RSiteSearch("chisq.test")を実行する。自動的にブラウザが起動して回答が記述されたページへのリンクを確認できる
そもそもカイ自乗検定をRで実行する方法や関数名がわからなくなった場合、関連するキーワードをapropos()関数に指定する(ex. apropos("chi"))


p.17
Rでは変数をオブジェクト、あるいはインスタンスなどと表現する。本書ではオブジェクトと呼ぶ


p.64

*抽出サンプル #全文章を通しての総頻度が1以上のターム

> res <- dm[rowSums(dm) >= 1,]
> res
docs
terms kokoro1_1.txt kokoro1_2.txt kokoro1_3.txt
する 0.3512027 0.4317092 0.3645128
私 0.5755193 0.5224413 0.6031864





p.140
> rgl.open()
> rgl.bg(color=c("white","black"))
> rgl.lines(c(-1,1),0,0,color="gold")
> rgl.lines(0,c(-1,1),0,color="gray")
> rgl.lines(0,0,c(-1,1),color="black")
> rgl.bbox(color="blue",emission="green")
> rgl.texts(dm3[1,],dm3[2,],dm3[3,],dm3.name,color=as.numeric(as.factor(dm3.col)))
> rgl.close()