MTMineR
を用いた
テキストマイニングの基礎
同志社大学
文化情報学研究科
データサイエンス研究室
TM2018
講習会資料
21.
イントロダクション
・ テキストマイニングのプロセス2. R
言語基礎
・R言語・環境 ・Rデータ型と構造 ・ グラフィックスの作成 ・ 基礎統計解析 ・ 外部データ読み込み3.
テキストマイニングのための環境整備
・JavaとRのインストール ・ 日本語形態素解析器(MeCab)の演習 ・ 日本語係り受け解析器(CaboCha)の演習目次
1.
イントロダクション
・ テキストマイニングのプロセス2. R
言語基礎
・ R言語・環境 ・ Rデータ型と構造 ・ グラフィックスの作成 ・ 基礎統計解析 ・ 外部データ読み込み3.
テキストマイニングのための環境整備
・ JavaとRのインストール ・ 日本語形態素解析器(MeCab)の演習目次
テキストマイニングのプロセス
1/4
■テキストマイニングの全体像
・ 大量のテキストから有益の情報獲得 データ抽出 変数 … テキスト … … … … … テキスト統計解析
結果解釈
テキストマイニングのプロセス
1/4
5 ■テキストマイニングのプロセス
・ テキストから抽出した特徴データに統計解析を行う STEP1: テキストファイルから特徴抽出・集計 データセット 変数 … テキスト … … … … … テキストテキストマイニングのプロセス
1/4
6 ■テキストマイニングのプロセス
・ テキストから抽出した特徴データに統計解析を行う STEP1: テキストファイルから特徴抽出・集計 STEP2: 特徴データに対して統計解析を行う 特徴データ 変数 … テキスト … … … … … ・ 記述統計(平均・分散など) ・ 推測統計(推定・検定など) ・ 多変量解析(主成分分析など)テキストマイニングのプロセス
1/4
■テキストマイニングのプロセス
・ テキストから抽出した特徴データに統計解析を行う STEP1: テキストファイルから特徴抽出・集計 STEP2: 特徴データに対して統計解析を行う STEP3: 結果の可視化、統計モデルの解釈 特徴データ 変数 … テキスト … … … … … ・ 記述統計(平均・分散など) ・ 推測統計(推定・検定など) ・ 多変量解析(主成分分析など)テキストマイニングのプロセス
2/4
■特徴データ
・ 目的に沿ってテキストから抽出したデータセット ■目的は多種多様
・ 歌詞 ・ ブログ ・ 音程、音高 ・ 人称代名詞の研究 (私、僕、彼など) ・ 男女の言葉の違い (男性と女性の会話文) ・ 文体変化や著者識別などの研究 (助詞などの文体特徴量)テキストマイニングのプロセス
2/4
9 ■特徴データ例
・ 川端康成と三島由紀夫の助詞使用状況を考察 特徴データ 作品名/変数名 の は に て … K_たまゆら 340 226 213 161 … K_みづうみ 1940 1510 1317 1349 … K_再婚者 1051 800 806 680 … K_小春日 157 122 86 102 … … … … … M_孤閨悶々 363 260 264 301 … M_家庭裁判 396 287 279 265 … M_携帯用 334 295 272 241 … M_月 372 239 228 221 … … … … …テキストマイニングのプロセス
3/4
10 ■統計解析
・ 例: 主成分分析テキストマイニングのプロセス
3/4
■統計解析
・ 例: 主成分分析 川端康成 三島由紀夫テキストマイニングのプロセス
3/4
■統計解析
・ 例: 主成分分析・ 三島由紀夫
「
を、に
」の多用
・ 川端康成
「
と、も
」の多用
川端康成 三島由紀夫テキストマイニングのプロセス
3/4
13 ■統計解析
・ 例: 階層的クラスター分析 川端康成 三島由紀夫テキストマイニングのプロセス
3/4
14 ■テキストマイニングのツール
・ 市販のソフト- Text Mining Studio
- IBM SPSS Text Analytics for Surveys ・ 研究用のソフト - KHCoder (樋口先生) - TinyTextMiner (松村先生)
テキストマイニングのプロセス
3/4
■テキストマイニングのツール
・ 市販のソフト- Text Mining Studio
- IBM SPSS Text Analytics for Surveys ・ 研究用の無料ソフト
- KHCoder (樋口先生) - TinyTextMiner (松村先生)
M
ultilingual
T
ext
Mine
r with
R
= MTMineR
1.
イントロダクション
・ テキストマイニングのプロセス2.
テキストマイニングのための環境整備
・JavaとRのインストール ・ 日本語形態素解析器(MeCab)の演習 ・ 日本語係り受け解析器(CaboCha)の演習3. R
言語基礎
・R言語・環境 ・Rデータ型と構造 ・ グラフィックスの作成 ・ 基礎統計解析 ・ 外部データ読み込み目次
17
1.
イントロダクション
・ テキストマイニングのプロセス2. R
言語基礎
・ R言語・環境 ・ Rデータ型と構造 ・ グラフィックスの作成 ・ 基礎統計解析 ・ 外部データ読み込み3.
テキストマイニングのための環境整備
・ JavaとRのインストール ・ 日本語形態素解析器(MeCab)の演習 ・ 日本語係り受け解析器(CaboCha)の演習目次
R
言語・環境
1/3
18 ■R言語
・ 統計解析向けのプログラミング言語である。 RのコンソールR
言語・環境
2/3
■電卓としての
R
・ 四則演算
:
+、-、
*
(掛け算)、
/
(割り算)
・ 余り
: 10%%3
R
言語・環境
3/3
■変数代入
・ 変数: データを一定期間記憶する ・ 変数の保存: <ー または = ・ 変数の型の確認: class()R
のデータ型と構造
1/4
21 ■ベクトル
・ 複数の数値または文字列を一つにまとめたもの ・ 関数c(カンマで区切った数字または文字列)R
のデータ型と構造
2/4
22 ■行列(マトリックス)
・ 複数の数値または文字列のまとまり ・ 関数matrix(データ, 行数, 列数, 埋め込み方向)R
のデータ型と構造
3/4
■データフレーム
・ 異なるデータ型(数値、文字)のまとまり ・ 関数: data.frame()R
のデータ型と構造
4/4
■リスト
・ ベクトル、行列とデータフレームのまとまり ・ 関数: list()グラフィックス作成
1/6
25
■ アイリスデータ説明
・ 3種類のアヤメ: setosa, versicolor,virginica ・ 4つの計測値:
- がく片長(Sepal Length),がく片幅(Sepal Width) - 花びら長(Petal Length) ,花びら幅(Petal Width) - 種(Species) ・ fix (iris)
グラフィックス作成
1/6
26 ■ ボーグラフ ・ 関数: barplot() ・ barplot(iris[1:5,1],col=c(1:5)) #shitosaがく片長さ1~5番グラフィックス作成
2/6
■折れ線グラフ
・ 関数: matplot() ・matplot(iris[1:5,1],type = “l”)
#shitosaがく片長さ1~5番グラフィックス作成
2/6
■折れ線グラフ
・ 関数: matplot() ・matplot(iris[1:5,1],type = “l”)
・ 4番目のがく片が より短いグラフィックス作成
2/6
29 ■折れ線グラフ
・ 関数: matplot() ・matplot(iris[1:5,1],type = “l”)
グラフィックス作成
5/6
30 ■ヒストグラム
・ データの分布を視覚的に示す ・ 関数: hist()・hist(iris[1:50,1], col = "blue") ・hist(iris[101:150,1], col = "red")
グラフィックス作成
6/6
■散布図
・ 関数plot() ・ plot(iris[,1], iris[,3]) ・ text(iris[,1], iris[,3]) #萼片長と花びら長 Setosa 1~50Virginica
101~150Versicolor
51~100グラフィックス作成
6/6
■散布図
・ iris.label <- rep(c(“S”, “C”, “V”),rep(50,3)) ・ plot(iris[,1], iris[,3], type =“n”)
・ text(iris[,1], iris[,3], iris.label)
Setosa
Virginica
Versicolor
グラフィックス作成
6/6
33
■
散布図
・ iris.label <- rep(c(“S”, “C”, “V”),rep(50,3)) ・ plot(iris[,1], iris[,3], type =“n”)
・ text(iris[,1], iris[,3], iris.label)
記述統計
1/2
34
■
平均、中位数、分散、四分位数
・ 関数: mean(), median(), var(), summary()など
記述統計
2/2
■箱ひげ図
・ 関数: boxplot() ・ boxplot(iris[1:50,1],main="setosaがく片の長さの箱 ひげ図") 1stQu. Median 3rdQu.推測統計
■t
検定
・ 2つの母集団の間に平均の差があるか ・ 母集団の等分散性仮定(student’s t/Welch’s t) ・ 関数: t.test() ・ # 母集団の等分散性を判断するF検定 # 帰無仮説:SとVがく片の長さの分散には差がない var.test(iris[1:50,1],iris[101:150,1]) ・ # 母集団の等分散性を仮定できないWelch’s t t.test(iris[1:50,1],iris[101:150,1],var.equal = FALSE)■
結論
主成分分析
37 ■ 主成分分析 ・ 情報損失を抑えて高次元データを低次元に圧縮 ・ 関数 prcomp(), biplot() ・ biplot(prcomp(iris[,1:4]))階層的クラスター分析
38 ■ 階層的クラスター分析 ・ 距離で似ている個体からクラスタリング ・ 関数 dist(), biplot() ・ iris.dist <- dist(iris[,1:4]) #ユーグリッド距離iris.hclust <- hclust(iris.dist, method = "ward.D2") plot(iris.hclust)
外部データ読み込み
1/2
■外部データ読み込み
・ .csvファイル read.csv() ・ .txtファイル read.table() ・ クリップボードからread.delim(“clipboard”) data <- read.csv(“d:¥KMjoshi.csv”, row.names = 1) ファイルのルート ファイルの行名使用外部データ読み込み
2/2
■外部データ読み込み
外部データによる解析
41 ■ 主成分分析 ・ ベクトル、行列とデータフレームのまとまり ・ 関数: prcomp() 、biplot() ・ biplot(procomp(data))・ 川端康成
「
と、も
」の多用
・ 三島由紀夫
「
を、に
」の多用
川端康成 三島由紀夫 421.
イントロダクション
・ テキストマイニングのプロセス2. R
言語基礎
・R言語・環境 ・Rデータ型と構造 ・ グラフィックスの作成 ・ 基礎統計解析 ・ 外部データ読み込み3.
テキストマイニングのための環境整備
・JavaとRのインストール ・ 日本語形態素解析器(MeCab)の演習 ・ 日本語係り受け解析器(CaboCha)の演習目次
環境整備
1/17
■MTMineR
の起動
・
MTMineR
本体を解凍
・ パソコン
bit
数の確認
・
JRE
のインストール
・
R
言語のインストール
・
MeCab
のインストール、パス
・
CaboCha
のインストール、パス
環境整備
2/17
■MTMineR
の起動
環境整備
3/17
45 ■よくある不具合
・ MTMineRは一瞬で落ちる MTMineRのbit数は、Java、Rと同じではない ・ Rのパネルは起動できない Rのパスを通していない ・ 形態素/構文解析解析がうまくいかない MeCab/CaboChaはインストールされていないか、 パス通していない環境整備
4/17
46 ■PC bit数確認
STEP1: 画面左下のstartボタンをクリック STEP2: 「W」欄のシステムツールをクリック STEP3: コントロールパネルをクリック STEP4: システムアイコンをクリック環境整備
5/10
■PC bit
数確認
環境整備
6/17
■JRE
のインストール
・ https://www.java.com/ja/download/manual.jsp環境整備
7/17
49
■
動作確認
STEP1: Windowキー+ R を同時に押す
STEP2: cmdを入力→Enter
STEP3: C:Users¥[User名]¥にJava→Enter
STEP4: C:Users¥[User名]¥にJava -version→Enter
環境整備
8/17
50 ■動作確認
・ 成功例環境整備
9/17
■R
言語・環境のインストール
・ 統計解析のためのプログラミング言語 ・ https://cran.ism.ac.jp/bin/windows/base/ ・ パスを通す環境整備
10/17
■動作確認
STEP1: Windowキー+ R を同時に押す STEP2: cmdを入力→EnterSTEP3: C:Users¥[User名]¥にr →Enter
環境整備
11/17
53
■
パスを通す
・ OSにソフトウエアを呼び出せるため
STEP1: C:¥C:¥Program Files¥R¥R-3.4.0¥bin
STEP2: コントロールパネルをクリック STEP3: システムアイコン→システム STEP4: システム詳細設定→環境変数 STEP5: 新規→STEP1のパスを貼りつけ STEP6: 確定→終了
環境整備
12/17
54 ■MeCabのインストール
・ 日本語の形態素解析を行うツール ・ http://taku910.github.io/mecab/#download ・ パスを通す環境整備
13/17
■MeCab
の演習
・ 形態素: 意味を表す最小の単位 ・ 品詞の情報も得られる STEP1: Windowキー+ R を同時に押す STEP2: cmdを入力→EnterSTEP3: C:Users¥[User名]¥にmecab→Enter
STEP4: 「学会に参加する。」を入力→Enter
環境整備
14/17
■MeCab
の演習
・ 次に示すような画面が現れたら成功 学会 名詞,一般,*,*,*,*,学会,ガッカイ,ガッカイ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ 参加 名詞,サ変接続,*,*,*,*,参加,サンカ,サンカ する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル 。 記号,句点,*,*,*,*,。,。,。 形態素 品詞環境整備
15/17
57 ■CaboChaのインストール
・ 日本語の係り受け解析を行うツール ・ https://taku910.github.io/cabocha/ ・ パスを通す環境整備
16/17
58 ■CaboChaの演習
・ 文節: 言語として不自然でない程度の最小単位 STEP1: Ctrl + Cを同時に押すSTEP2: cabocha -f1 を入力→Enter
STEP3: 「学会に参加する。」を入力→Enter
環境整備
17/17
■CaboCha
の演習
・ 次に示すような画面が現れたら成功 * 0 1D 0/1 0.000000 学会 名詞,一般,*,*,*,*,学会,ガッカイ,ガッカイ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ * 1 1D 1/1 0.000000 参加 名詞,サ変接続,*,*,*,*,参加,サンカ,サンカ する 動詞,自立,*,*,サ変・スル,基本形,する,スル,スル 。 記号,句点,*,*,*,*,。,。,。 第0文節 第 文節■イントロダクション
・ テキストマイニングのプロセス■テキストデータのクリーニング
・ 正規表現を用いた青空文庫のデータ処理■テキストマイニングのための環境整備
・JavaとRのインストール ・ 日本語形態素解析器(MeCab) ・ 日本語係り受け解析器(CaboCha)■
R
言語基礎
・R環境、データ型とグラフィックスまとめ
61