SlideShare a Scribd company logo
1 of 56
Download to read offline
文献紹介 2014/07/03 
長岡技術科学大学 
自然言語処理研究室 
岡田正平
文献情報 
SajibDasguptaand Vincent Ng 
Mine the Easy, Classify the Hard: A semi- Supervised Approach to Automatic Sentiment Classification 
In Proceedings of the 47th Annual Meeting of the ACL and the 4th IJCNLP of the AFNLP, pp 701-709. 
2009 
2014/7/3 文献紹介 2
概要 
• 
semi-supervised approach to sentiment classification 
• 
はじめに曖昧でないデータだけを分けて,その 結果を利用して曖昧なデータを分類する手法 
2014/7/3 文献紹介 3
背景 
2014/7/3 文献紹介 4
背景 
polarityclassification はtopic-based text classification と比べ曖昧性が多い 
• 
1つのレビュー内で良い部分と悪い部分の両方に 言及する 
• 
長々と解説して,最後にちょっとだけ自分の 意見を言う 
2014/7/3 文献紹介 5
背景 
過去に行われた研究(supervised approach) 
• 
客観的な部分を独立に学習・分類 
• 
positive/negativeの他にneutralも用いる 
• 
sentence-and document-level sentiment analysis を同時に扱うモデル 
 
大量の手動アノテーションが必要 
2014/7/3 文献紹介 6
背景 
unsupervised approachは意義は大きいが 難しい 
• 
domain-specific なことが一因 
• 
一般的なクラスタリング手法では,有効な素性 を同定できない 
2014/7/3 文献紹介 7
背景 
提案手法(semi-supervised) “mine the easy, classify the hard”approach 
• 
最初に曖昧でないレビュー(i.e., “easy”)を同定し ラベル付けを行う 
• 
次に曖昧なレビュー(i.e., “hard”)を扱う 
2014/7/3 文献紹介 8
Spectral Clustering
Spectral Clustering 
k-means法では線形分離不可能なデータに 対応不可 
 
Spectral Clusteringを適用 
– 
情報を保ちつつ低次元空間に移してから クラスタリングを行う 
2014/7/3 文献紹介 10
Spectral Clustering 
푆: 各データ間の類似度行列 
퐺: (푖,푖)の要素が푆の푖番目の行の総和である 対角行列 
퐿: ラプラシアン行列 
퐿=퐺1/2푆퐺−1/2 
2014/7/3 文献紹介 11
Spectral Clustering 
• 
퐿について,固有値の大きい方から푚個の固有ベ クトルで新しい行列をつくる 
– 
各データ点が푚次元空間に移される 
• 
各行を単位長に正規化(各符号は保持) 
• 
k-means法によりクラスタリングを行う 
2014/7/3 文献紹介 12
Spectral Clustering 
※各次元は1つの固有ベクトルにより定義される 
• 
固有値の大きい固有ベクトルはデータに対して 大きい分散を持つ 
 
(クラスタリングのために)重要な次元が選択 されると考えられる 
2014/7/3 文献紹介 13
Spectral Clustering 
1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 14
提案手法
提案手法 
• 
spectral clustering を用いても,うまく 分離できるとは限らない 
– 
曖昧なレビューが存在するため 
 
一度に全てクラスタリングせず,曖昧なレ ビューは別で扱う 
2014/7/3 文献紹介 16
提案手法 
1. 
spectral clustering を用いて曖昧でない(i.e., “easy”)レビューを同定・分類 
2. 
少数の曖昧な(i.e., “hard”)レビューに対し手動で ラベリング 
3. 
これらを使って残りのレビューを分類 
2014/7/3 文献紹介 17
提案手法 
1. 
spectral clustering を用いて曖昧でない(i.e., “easy”)レビューを同定・分類 
2. 
少数の曖昧な(i.e., “hard”)レビューに対し手動で ラベリング 
3. 
これらを使って残りのレビューを分類 
2014/7/3 文献紹介 18
提案手法| step 1 
• 
素性ベクトルはBOW 
– 
句読点, 長さ1の単語,単一のレビューにしか 現れない語を除去 
– 
文書頻度の高い方から1.5%の語も除去 
• 
類似度行列の計算には,内積を用いる 
– 
ただし,対角成分は0とする 
2014/7/3 文献紹介 19
提案手法| step 1 
どの固有ベクトルを用いるか? 
• 
一般に2番目の固有ベクトルのみを用いるのが良 いと言われている 
• 
提案手法の場合は必ずしもそうではない 
 
5番目までの固有ベクトルを用いる (→次ページに続く) 
2014/7/3 文献紹介 20
提案手法| step 1 
各固有ベクトルに対して 
1. 
푛個の要素それぞれを閾値として扱う (푛通りの分割方法が存在することになる) 
2. 
各分割方法についてcut-valueを計算する 
3. 
最小のcut-valueを選ぶ 
最小のcut-valueを持つ固有ベクトルを用いる 
2014/7/3 文献紹介 21
提案手法| step 1 
曖昧なレビューを同定する 
1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 22
提案手法| step 1 
曖昧なレビューを同定する 
1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 23
提案手法| step 1 
曖昧なレビューを同定する 
1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 24
提案手法| step 1 
曖昧なレビューを同定する 
1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 25 
曖昧なレビュー
提案手法| step 1 
曖昧なレビューを同定する 
1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 26
提案手法| step 1 
曖昧なレビューを同定する 
1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 27
提案手法| step 1 
曖昧なレビューを同定する 
1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 28
提案手法| step 1 
1. 
データ点集合퐷から先述の手順に従って ラプラシアン行列の固有ベクトルを選ぶ 
2. 
固有ベクトルにしたがって퐷をソートし 中央の훼個のデータを取り除く 
3. 
データ点の数が훽個になるまで1,2を繰り返す 
4. 
固有ベクトルを用いて,2-meansによる クラスタリングを行う 
2014/7/3 文献紹介 29
提案手法| step 1 
筆者らの実験では 
• 
훼=50 
• 
훽=500 
2014/7/3 文献紹介 30
提案手法| step 1 
得られた2クラスタに対してラベルを付ける 
• 
10点ずつランダムサンプリングし手動で positive/negative のタグ付け 
• 
半数より多くpositiveが付けられたら そのクラスタはpositive,それ以外はnegative 
2014/7/3 文献紹介 31
提案手法| step 1 
評価データセットに対するseedの分類精度 
2014/7/3 文献紹介 32
提案手法| step 1 
• 
Book およびDVD を除き,80%超え 
• 
不完全なseedデータでも,よりよく分類器を 学習させる 
2014/7/3 文献紹介 33
提案手法 
1. 
spectral clustering を用いて曖昧でない(i.e., “easy”)レビューを同定・分類 
2. 
少数の曖昧な(i.e., “hard”)レビューに対し手動で ラベリング 
3. 
これらを使って残りのレビューを分類 
2014/7/3 文献紹介 34
提案手法| step 2 
クラスタリング手法だけでは各素性が有効か そうでないかを同定できない 
• 
seed set を用いて極性分類に有効な素性を同定 
2014/7/3 文献紹介 35
提案手法| step 2 
seed set が高精度であっても,残りのデータを 精度よく分類できないことが予測される 
• 
曖昧なレビューとそうでないレビューの両方で 学習しなければ高精度は達成できないと仮定 
• 
曖昧なレビューの中でも特に曖昧さが大きい ものから学習する方が効率がいい 
2014/7/3 文献紹介 36
提案手法| step 2 
active learning を適用 
• 
seed set を用いてSVMを学習させる 
• 
SVMに残りのデータを入力 
• 
SVMの分離超平面に近いデータ点(=曖昧な点) 10個ずつを人手でタグ付け,それを含めて再学習 
 
繰り返すことで,計100個の人手によるラベル付き データを得る 
2014/7/3 文献紹介 37
提案手法 
1. 
spectral clustering を用いて曖昧でない(i.e., “easy”)レビューを同定・分類 
2. 
少数の曖昧な(i.e., “hard”)レビューに対し手動で ラベリング 
3. 
これらを使って残りのレビューを分類 
2014/7/3 文献紹介 38
提案手法| step 3 
transductiveSVMを適用 
• 
step 1で得られたラベル付きデータ(低精度) の数の方が大きい 
(step 1: 500,step 2: 100) 
– 
分離超平面の決定時に支配的に振る舞う 
2014/7/3 文献紹介 39
提案手法| step 3 
step 2で得られたラベル付きデータ(高精度)を 効率良く使い,またノイズに強い分類器を 構築したい 
 
5つの分類器を別々に学習させる 
– 
それぞれ100個の高精度ラベル付きデータ (共通)と,100個の低精度ラベル付き データ(別々)で学習を行う 
2014/7/3 文献紹介 40
提案手法| step 3 
データセットの分け方 
• 
step 1 の最終的な固有値ベクトルの要素値に 基づき昇順にソート 
• 
푖番目のデータを(푖 mod 5)番目のセットに含める 
 
ただ分けるだけでなく,信頼性の高い/低い データ点を等しく分ける 
2014/7/3 文献紹介 41
提案手法| step 3 
最終的に,ラベル無しデータに対して 
• 
5つの分類器のconfidence value (符号付)の 総和をとる 
• 
0以上ならpositive,それ以外ならnegative 
2014/7/3 文献紹介 42
評価
評価| データセット 
• 
movie (MOV), books (BOO), DVDs (DVD), electronics (ELE), kitchen appliances (KIT) の 5種類のレビューデータセット(ラベル付き) を使用 
• 
各データセットのサイズは2000(positive, negative それぞれが1000ずつ) 
2014/7/3 文献紹介 44
評価| 指標 
• 
10分割交差検定を用いて精度を評価 
• 
Adjusted Rand Index でも評価 
– 
−1から1の値を取り,大きいほど良い指標 
2014/7/3 文献紹介 45
評価| ベースライン 
公平を期すため,各ベースラインは 100個のデータのラベルを使用できる 
• 
Semi-supervised spectral clustering 
• 
TransductiveSVM 
• 
Active learning 
2014/7/3 文献紹介 46
評価| 結果 
2014/7/3 文献紹介 47
評価| 結果 
2014/7/3 文献紹介 48
評価| 結果 
• 
いずれのデータセット・評価指標でも, 提案手法が最高結果を達成 
• 
step 1 の段階でも,ベースラインに匹敵する 精度を達成 
• 
ステップを追うごとに精度は向上していく 
2014/7/3 文献紹介 49
評価| 追加実験 
どの部分が性能に影響を与えているのかを調べる 
 
次の7つの手法を評価する 
2014/7/3 文献紹介 50
評価| 追加実験 
• 
seeds を得る際にsingle step で行う 
• 
seeds を用いない 
• 
曖昧さの小さい方から100個のみをseeds とする 
• 
分類器を5つに分けない 
• 
passive learningを用いる(100個をランダムに選ぶ) 
• 
active learning で500個のデータを得る 
• 
fully supervised 
2014/7/3 文献紹介 51
評価| 追加実験 
2014/7/3 文献紹介 52
評価| 追加実験 
2014/7/3 文献紹介 53
評価| 追加実験 
• 
seeds, ensemble, active learningのいずれも精度 向上に貢献している 
• 
seedsは低精度であっても貢献している 
• 
3つのデータセットについては,人手による ラベル付きデータを500個程度用意することで, fully-supervised の精度をほぼ達成している 
2014/7/3 文献紹介 54
結論
結論 
• 
感情極性分類のsemi-supervised なアプローチ 
• 
“mine the easy, classify the hard” apprach 
• 
高い精度を達成 
• 
次の観点から拡張可能 
– 
この手法は感情の分類に特化していない 
– 
素性はBOWしか使っていない 
2014/7/3 文献紹介 56

More Related Content

Viewers also liked

20102010年 釧路 厳島神社 夏祭り
20102010年 釧路 厳島神社 夏祭り20102010年 釧路 厳島神社 夏祭り
20102010年 釧路 厳島神社 夏祭り
water-mind
 
旅の設計図123. アンコール遺跡群とチェンマイの祭り(後篇)/Angkor and Chiang Mai festival (No.2/2) By Sa...
旅の設計図123. アンコール遺跡群とチェンマイの祭り(後篇)/Angkor and Chiang Mai festival (No.2/2) By Sa...旅の設計図123. アンコール遺跡群とチェンマイの祭り(後篇)/Angkor and Chiang Mai festival (No.2/2) By Sa...
旅の設計図123. アンコール遺跡群とチェンマイの祭り(後篇)/Angkor and Chiang Mai festival (No.2/2) By Sa...
旅の設計図会
 
東海大学広報メディア学科河井ゼミ アニメ聖地巡礼2014
東海大学広報メディア学科河井ゼミ アニメ聖地巡礼2014東海大学広報メディア学科河井ゼミ アニメ聖地巡礼2014
東海大学広報メディア学科河井ゼミ アニメ聖地巡礼2014
河井 孝仁
 

Viewers also liked (11)

20102010年 釧路 厳島神社 夏祭り
20102010年 釧路 厳島神社 夏祭り20102010年 釧路 厳島神社 夏祭り
20102010年 釧路 厳島神社 夏祭り
 
旅の設計図123. アンコール遺跡群とチェンマイの祭り(後篇)/Angkor and Chiang Mai festival (No.2/2) By Sa...
旅の設計図123. アンコール遺跡群とチェンマイの祭り(後篇)/Angkor and Chiang Mai festival (No.2/2) By Sa...旅の設計図123. アンコール遺跡群とチェンマイの祭り(後篇)/Angkor and Chiang Mai festival (No.2/2) By Sa...
旅の設計図123. アンコール遺跡群とチェンマイの祭り(後篇)/Angkor and Chiang Mai festival (No.2/2) By Sa...
 
私の出身地.Pptx 大隈
私の出身地.Pptx 大隈私の出身地.Pptx 大隈
私の出身地.Pptx 大隈
 
分析サンプル_ねぶた祭の印象把握調査
分析サンプル_ねぶた祭の印象把握調査分析サンプル_ねぶた祭の印象把握調査
分析サンプル_ねぶた祭の印象把握調査
 
発表用_20161203-1204UDCハッカソン資料
発表用_20161203-1204UDCハッカソン資料発表用_20161203-1204UDCハッカソン資料
発表用_20161203-1204UDCハッカソン資料
 
ディズニーランド計画プレゼン〜夏祭り&30周年 ザ・ハピネス・イヤー篇〜
ディズニーランド計画プレゼン〜夏祭り&30周年 ザ・ハピネス・イヤー篇〜ディズニーランド計画プレゼン〜夏祭り&30周年 ザ・ハピネス・イヤー篇〜
ディズニーランド計画プレゼン〜夏祭り&30周年 ザ・ハピネス・イヤー篇〜
 
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
Three Out Change !!〜アウトについて語ろう BPstudy #79 2014/3/26
 
英語教育研究における「日本文化/異文化」 理解の問題点
英語教育研究における「日本文化/異文化」理解の問題点英語教育研究における「日本文化/異文化」理解の問題点
英語教育研究における「日本文化/異文化」 理解の問題点
 
[XP祭り2015]野良LT~重音楽戦士特攻隊長の戯言~(公開版)
[XP祭り2015]野良LT~重音楽戦士特攻隊長の戯言~(公開版)[XP祭り2015]野良LT~重音楽戦士特攻隊長の戯言~(公開版)
[XP祭り2015]野良LT~重音楽戦士特攻隊長の戯言~(公開版)
 
東海大学広報メディア学科河井ゼミ アニメ聖地巡礼2014
東海大学広報メディア学科河井ゼミ アニメ聖地巡礼2014東海大学広報メディア学科河井ゼミ アニメ聖地巡礼2014
東海大学広報メディア学科河井ゼミ アニメ聖地巡礼2014
 
MT東京 ぱくたそ/PAKUTASO
MT東京 ぱくたそ/PAKUTASOMT東京 ぱくたそ/PAKUTASO
MT東京 ぱくたそ/PAKUTASO
 

Similar to 文献紹介:Mine the Easy, Classify the Hard: A Semi-Supervised Approach to Automatic Sentiment Classification

データマイニングにおける属性構築、事例選択
データマイニングにおける属性構築、事例選択データマイニングにおける属性構築、事例選択
データマイニングにおける属性構築、事例選択
無職
 
変分推論と Normalizing Flow
変分推論と Normalizing Flow変分推論と Normalizing Flow
変分推論と Normalizing Flow
Akihiro Nitta
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tatsuya Tojima
 

Similar to 文献紹介:Mine the Easy, Classify the Hard: A Semi-Supervised Approach to Automatic Sentiment Classification (13)

文献紹介:Extracting Opinion Expression with semi-Markov Conditional Random Fields
文献紹介:Extracting Opinion Expression with semi-Markov Conditional Random Fields文献紹介:Extracting Opinion Expression with semi-Markov Conditional Random Fields
文献紹介:Extracting Opinion Expression with semi-Markov Conditional Random Fields
 
データマイニングにおける属性構築、事例選択
データマイニングにおける属性構築、事例選択データマイニングにおける属性構築、事例選択
データマイニングにおける属性構築、事例選択
 
変分推論と Normalizing Flow
変分推論と Normalizing Flow変分推論と Normalizing Flow
変分推論と Normalizing Flow
 
第3回nips読み会・関西『variational inference foundations and modern methods』
第3回nips読み会・関西『variational inference  foundations and modern methods』第3回nips読み会・関西『variational inference  foundations and modern methods』
第3回nips読み会・関西『variational inference foundations and modern methods』
 
WWW2017 Recommender Systems ふりかえり
WWW2017 Recommender Systems ふりかえりWWW2017 Recommender Systems ふりかえり
WWW2017 Recommender Systems ふりかえり
 
外国語教育研究におけるRを用いた統計処理入門
外国語教育研究におけるRを用いた統計処理入門外国語教育研究におけるRを用いた統計処理入門
外国語教育研究におけるRを用いた統計処理入門
 
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17
 
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
[DL輪読会]Meta-Learning Probabilistic Inference for Prediction
 
20161222 srws第五回 Risk of Bias 2.0 toolを用いた文献評価
20161222 srws第五回 Risk of Bias 2.0 toolを用いた文献評価20161222 srws第五回 Risk of Bias 2.0 toolを用いた文献評価
20161222 srws第五回 Risk of Bias 2.0 toolを用いた文献評価
 
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
Tree-to-Sequence Attentional Neural Machine Translation (ACL 2016)
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
Icra2020 v1
Icra2020 v1Icra2020 v1
Icra2020 v1
 
ランダムフォレスト
ランダムフォレストランダムフォレスト
ランダムフォレスト
 

More from Shohei Okada

More from Shohei Okada (20)

「登壇しているひとは偉い」という話
「登壇しているひとは偉い」という話「登壇しているひとは偉い」という話
「登壇しているひとは偉い」という話
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 
PHP 8.0 の新記法を試してみよう!
PHP 8.0 の新記法を試してみよう!PHP 8.0 の新記法を試してみよう!
PHP 8.0 の新記法を試してみよう!
 
自分たちのコードを Composer パッケージに分割して開発する
自分たちのコードを Composer パッケージに分割して開発する自分たちのコードを Composer パッケージに分割して開発する
自分たちのコードを Composer パッケージに分割して開発する
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumaiクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondoクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
 
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfukLaravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
 
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyoエラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
エラー時にログに出力する情報と画面に表示する情報を分ける #LaravelTokyo
 
スペシャリストとして組織をつくる、というキャリア
スペシャリストとして組織をつくる、というキャリアスペシャリストとして組織をつくる、というキャリア
スペシャリストとして組織をつくる、というキャリア
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる Makefile
 
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよはじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
はじめての Go 言語のプロジェクトを AWS Lambda + API Gateway でやったのでパッケージ構成を晒すよ
 
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
 
働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード働き方が大きく変わった 入社3年目のときのとあるエピソード
働き方が大きく変わった 入社3年目のときのとあるエピソード
 
Laravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するならLaravel で API バージョニングを実装するなら
Laravel で API バージョニングを実装するなら
 
Laravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミLaravel における Blade 拡張のツラミ
Laravel における Blade 拡張のツラミ
 
Laravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのかLaravel の paginate は一体何をやっているのか
Laravel の paginate は一体何をやっているのか
 
2017 年度を振り返って ~アウトプット編~
2017 年度を振り返って ~アウトプット編~2017 年度を振り返って ~アウトプット編~
2017 年度を振り返って ~アウトプット編~
 
Laravel × レイヤードアーキテクチャをやってみている話
Laravel × レイヤードアーキテクチャをやってみている話Laravel × レイヤードアーキテクチャをやってみている話
Laravel × レイヤードアーキテクチャをやってみている話
 
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみたLaravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
Laravel 5.6 デフォルトの例外ハンドリング処理をまとめてみた
 

文献紹介:Mine the Easy, Classify the Hard: A Semi-Supervised Approach to Automatic Sentiment Classification

  • 1. 文献紹介 2014/07/03 長岡技術科学大学 自然言語処理研究室 岡田正平
  • 2. 文献情報 SajibDasguptaand Vincent Ng Mine the Easy, Classify the Hard: A semi- Supervised Approach to Automatic Sentiment Classification In Proceedings of the 47th Annual Meeting of the ACL and the 4th IJCNLP of the AFNLP, pp 701-709. 2009 2014/7/3 文献紹介 2
  • 3. 概要 • semi-supervised approach to sentiment classification • はじめに曖昧でないデータだけを分けて,その 結果を利用して曖昧なデータを分類する手法 2014/7/3 文献紹介 3
  • 5. 背景 polarityclassification はtopic-based text classification と比べ曖昧性が多い • 1つのレビュー内で良い部分と悪い部分の両方に 言及する • 長々と解説して,最後にちょっとだけ自分の 意見を言う 2014/7/3 文献紹介 5
  • 6. 背景 過去に行われた研究(supervised approach) • 客観的な部分を独立に学習・分類 • positive/negativeの他にneutralも用いる • sentence-and document-level sentiment analysis を同時に扱うモデル  大量の手動アノテーションが必要 2014/7/3 文献紹介 6
  • 7. 背景 unsupervised approachは意義は大きいが 難しい • domain-specific なことが一因 • 一般的なクラスタリング手法では,有効な素性 を同定できない 2014/7/3 文献紹介 7
  • 8. 背景 提案手法(semi-supervised) “mine the easy, classify the hard”approach • 最初に曖昧でないレビュー(i.e., “easy”)を同定し ラベル付けを行う • 次に曖昧なレビュー(i.e., “hard”)を扱う 2014/7/3 文献紹介 8
  • 10. Spectral Clustering k-means法では線形分離不可能なデータに 対応不可  Spectral Clusteringを適用 – 情報を保ちつつ低次元空間に移してから クラスタリングを行う 2014/7/3 文献紹介 10
  • 11. Spectral Clustering 푆: 各データ間の類似度行列 퐺: (푖,푖)の要素が푆の푖番目の行の総和である 対角行列 퐿: ラプラシアン行列 퐿=퐺1/2푆퐺−1/2 2014/7/3 文献紹介 11
  • 12. Spectral Clustering • 퐿について,固有値の大きい方から푚個の固有ベ クトルで新しい行列をつくる – 各データ点が푚次元空間に移される • 各行を単位長に正規化(各符号は保持) • k-means法によりクラスタリングを行う 2014/7/3 文献紹介 12
  • 13. Spectral Clustering ※各次元は1つの固有ベクトルにより定義される • 固有値の大きい固有ベクトルはデータに対して 大きい分散を持つ  (クラスタリングのために)重要な次元が選択 されると考えられる 2014/7/3 文献紹介 13
  • 14. Spectral Clustering 1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 14
  • 16. 提案手法 • spectral clustering を用いても,うまく 分離できるとは限らない – 曖昧なレビューが存在するため  一度に全てクラスタリングせず,曖昧なレ ビューは別で扱う 2014/7/3 文献紹介 16
  • 17. 提案手法 1. spectral clustering を用いて曖昧でない(i.e., “easy”)レビューを同定・分類 2. 少数の曖昧な(i.e., “hard”)レビューに対し手動で ラベリング 3. これらを使って残りのレビューを分類 2014/7/3 文献紹介 17
  • 18. 提案手法 1. spectral clustering を用いて曖昧でない(i.e., “easy”)レビューを同定・分類 2. 少数の曖昧な(i.e., “hard”)レビューに対し手動で ラベリング 3. これらを使って残りのレビューを分類 2014/7/3 文献紹介 18
  • 19. 提案手法| step 1 • 素性ベクトルはBOW – 句読点, 長さ1の単語,単一のレビューにしか 現れない語を除去 – 文書頻度の高い方から1.5%の語も除去 • 類似度行列の計算には,内積を用いる – ただし,対角成分は0とする 2014/7/3 文献紹介 19
  • 20. 提案手法| step 1 どの固有ベクトルを用いるか? • 一般に2番目の固有ベクトルのみを用いるのが良 いと言われている • 提案手法の場合は必ずしもそうではない  5番目までの固有ベクトルを用いる (→次ページに続く) 2014/7/3 文献紹介 20
  • 21. 提案手法| step 1 各固有ベクトルに対して 1. 푛個の要素それぞれを閾値として扱う (푛通りの分割方法が存在することになる) 2. 各分割方法についてcut-valueを計算する 3. 最小のcut-valueを選ぶ 最小のcut-valueを持つ固有ベクトルを用いる 2014/7/3 文献紹介 21
  • 22. 提案手法| step 1 曖昧なレビューを同定する 1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 22
  • 23. 提案手法| step 1 曖昧なレビューを同定する 1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 23
  • 24. 提案手法| step 1 曖昧なレビューを同定する 1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 24
  • 25. 提案手法| step 1 曖昧なレビューを同定する 1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 25 曖昧なレビュー
  • 26. 提案手法| step 1 曖昧なレビューを同定する 1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 26
  • 27. 提案手法| step 1 曖昧なレビューを同定する 1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 27
  • 28. 提案手法| step 1 曖昧なレビューを同定する 1110011100001100001100011 −0.69830.7158−0.69830.7158−0.9869−0.1616−0.6224−0.7827−0.6224−0.7827 2014/7/3 文献紹介 28
  • 29. 提案手法| step 1 1. データ点集合퐷から先述の手順に従って ラプラシアン行列の固有ベクトルを選ぶ 2. 固有ベクトルにしたがって퐷をソートし 中央の훼個のデータを取り除く 3. データ点の数が훽個になるまで1,2を繰り返す 4. 固有ベクトルを用いて,2-meansによる クラスタリングを行う 2014/7/3 文献紹介 29
  • 30. 提案手法| step 1 筆者らの実験では • 훼=50 • 훽=500 2014/7/3 文献紹介 30
  • 31. 提案手法| step 1 得られた2クラスタに対してラベルを付ける • 10点ずつランダムサンプリングし手動で positive/negative のタグ付け • 半数より多くpositiveが付けられたら そのクラスタはpositive,それ以外はnegative 2014/7/3 文献紹介 31
  • 32. 提案手法| step 1 評価データセットに対するseedの分類精度 2014/7/3 文献紹介 32
  • 33. 提案手法| step 1 • Book およびDVD を除き,80%超え • 不完全なseedデータでも,よりよく分類器を 学習させる 2014/7/3 文献紹介 33
  • 34. 提案手法 1. spectral clustering を用いて曖昧でない(i.e., “easy”)レビューを同定・分類 2. 少数の曖昧な(i.e., “hard”)レビューに対し手動で ラベリング 3. これらを使って残りのレビューを分類 2014/7/3 文献紹介 34
  • 35. 提案手法| step 2 クラスタリング手法だけでは各素性が有効か そうでないかを同定できない • seed set を用いて極性分類に有効な素性を同定 2014/7/3 文献紹介 35
  • 36. 提案手法| step 2 seed set が高精度であっても,残りのデータを 精度よく分類できないことが予測される • 曖昧なレビューとそうでないレビューの両方で 学習しなければ高精度は達成できないと仮定 • 曖昧なレビューの中でも特に曖昧さが大きい ものから学習する方が効率がいい 2014/7/3 文献紹介 36
  • 37. 提案手法| step 2 active learning を適用 • seed set を用いてSVMを学習させる • SVMに残りのデータを入力 • SVMの分離超平面に近いデータ点(=曖昧な点) 10個ずつを人手でタグ付け,それを含めて再学習  繰り返すことで,計100個の人手によるラベル付き データを得る 2014/7/3 文献紹介 37
  • 38. 提案手法 1. spectral clustering を用いて曖昧でない(i.e., “easy”)レビューを同定・分類 2. 少数の曖昧な(i.e., “hard”)レビューに対し手動で ラベリング 3. これらを使って残りのレビューを分類 2014/7/3 文献紹介 38
  • 39. 提案手法| step 3 transductiveSVMを適用 • step 1で得られたラベル付きデータ(低精度) の数の方が大きい (step 1: 500,step 2: 100) – 分離超平面の決定時に支配的に振る舞う 2014/7/3 文献紹介 39
  • 40. 提案手法| step 3 step 2で得られたラベル付きデータ(高精度)を 効率良く使い,またノイズに強い分類器を 構築したい  5つの分類器を別々に学習させる – それぞれ100個の高精度ラベル付きデータ (共通)と,100個の低精度ラベル付き データ(別々)で学習を行う 2014/7/3 文献紹介 40
  • 41. 提案手法| step 3 データセットの分け方 • step 1 の最終的な固有値ベクトルの要素値に 基づき昇順にソート • 푖番目のデータを(푖 mod 5)番目のセットに含める  ただ分けるだけでなく,信頼性の高い/低い データ点を等しく分ける 2014/7/3 文献紹介 41
  • 42. 提案手法| step 3 最終的に,ラベル無しデータに対して • 5つの分類器のconfidence value (符号付)の 総和をとる • 0以上ならpositive,それ以外ならnegative 2014/7/3 文献紹介 42
  • 44. 評価| データセット • movie (MOV), books (BOO), DVDs (DVD), electronics (ELE), kitchen appliances (KIT) の 5種類のレビューデータセット(ラベル付き) を使用 • 各データセットのサイズは2000(positive, negative それぞれが1000ずつ) 2014/7/3 文献紹介 44
  • 45. 評価| 指標 • 10分割交差検定を用いて精度を評価 • Adjusted Rand Index でも評価 – −1から1の値を取り,大きいほど良い指標 2014/7/3 文献紹介 45
  • 46. 評価| ベースライン 公平を期すため,各ベースラインは 100個のデータのラベルを使用できる • Semi-supervised spectral clustering • TransductiveSVM • Active learning 2014/7/3 文献紹介 46
  • 47. 評価| 結果 2014/7/3 文献紹介 47
  • 48. 評価| 結果 2014/7/3 文献紹介 48
  • 49. 評価| 結果 • いずれのデータセット・評価指標でも, 提案手法が最高結果を達成 • step 1 の段階でも,ベースラインに匹敵する 精度を達成 • ステップを追うごとに精度は向上していく 2014/7/3 文献紹介 49
  • 50. 評価| 追加実験 どの部分が性能に影響を与えているのかを調べる  次の7つの手法を評価する 2014/7/3 文献紹介 50
  • 51. 評価| 追加実験 • seeds を得る際にsingle step で行う • seeds を用いない • 曖昧さの小さい方から100個のみをseeds とする • 分類器を5つに分けない • passive learningを用いる(100個をランダムに選ぶ) • active learning で500個のデータを得る • fully supervised 2014/7/3 文献紹介 51
  • 52. 評価| 追加実験 2014/7/3 文献紹介 52
  • 53. 評価| 追加実験 2014/7/3 文献紹介 53
  • 54. 評価| 追加実験 • seeds, ensemble, active learningのいずれも精度 向上に貢献している • seedsは低精度であっても貢献している • 3つのデータセットについては,人手による ラベル付きデータを500個程度用意することで, fully-supervised の精度をほぼ達成している 2014/7/3 文献紹介 54
  • 56. 結論 • 感情極性分類のsemi-supervised なアプローチ • “mine the easy, classify the hard” apprach • 高い精度を達成 • 次の観点から拡張可能 – この手法は感情の分類に特化していない – 素性はBOWしか使っていない 2014/7/3 文献紹介 56