Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
感情分析に使う極性辞書を生成してみる
Search
g-k
June 26, 2020
Programming
1.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
感情分析に使う極性辞書を生成してみる
g-k
June 26, 2020
Other Decks in Programming
See All in Programming
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.9k
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
140
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
200
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
560
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
150
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
210
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.5k
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
130
フィードバックで育てるAI開発
kotaminato
1
110
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
320
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
280
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
330
HDC tutorial
michielstock
2
740
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
190
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
200
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
220
Documentation Writing (for coders)
carmenintech
77
5.4k
Being A Developer After 40
akosma
91
590k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
410
Transcript
感情分析に使う 極性辞書を⽣成してみる 2020/06/26 @Menbers.data機械学習LT編 Goda kanto
⾃⼰紹介 1 • Goda Kanto • この会を主催している会社の⼈です • 機械学習に関わっているデータアナリスト •
やってみた系LTなのでゆるくお聞きください • Qiita https://qiita.com/g-k • Twitter @G_K_data
感情分析とは 2 いわゆるネガポジ分析です ポジティブ ニュートラル ネガティブ ⽂書 分類器
感情分析をやりたいと思うと 3 極性辞書ベース ディープラーニング系の教師あり学習 既存の感情分析API (Cloud Natural Languge APIとか) だいたいこの3つ⼿段を取ることになると思います
感情分析をやりたいと思うと 4 極性辞書ベース ディープラーニング系の教師あり学習 既存の感情分析API (Cloud Natural Languge APIとか) 今回は極性辞書ベースの話
いまさら極性辞書? 5 極性辞書ベース ディープラーニング系の教師あり学習 既存の感情分析API (Cloud Natural Languge APIとか) 極性辞書ベースのメリット
ü ロジックがシンプル ü 解釈が容易
超有名な極性辞書が2つ 6 やってみた系記事はだいたいこれが使⽤されている ⽇本語極性辞書 ※1 • 東北⼤学 乾・岡崎研究室が公開 • 「ネガティブ」「ポジティブ」「ニュートラル」のよう
に⽤語や単語にフラグ付けがなされる • 「⽇本語極性辞書(⽤語編)」と「⽇本語極性辞書(名詞 編)」がある • クレジット表記すれば商⽤利⽤可 単語極性対応表 ※2 • 東⼯⼤の⾼村教授が公開 • 各単語に「-1〜1」の連続的な極性値がふられている • 良い:よい:形容詞:0.999995 • 祝う:いわう:動詞:0.999122 • 酷い:ひどい:形容詞:-0.999997 • 商⽤不可 ※1 https://www.cl.ecei.tohoku.ac.jp/index.php?Open%20Resources%2FJapanese%20Sentiment%20Polarity%20Dictionary ※2 http://www.lr.pi.titech.ac.jp/~takamura/pndic_ja.html
使える極性辞書少ない問題 7 既存の極性辞書の問題点 感覚に合致しない判断が場合が多々ある チューニングが⾮常に⾯倒 全ての単語を網羅されている訳では無い
極性辞書を作ろう 8 既存の問題点を解決した極性辞書 感覚に合致しない判断が場合が多々ある チューニングが⾮常に⾯倒 全ての単語を網羅されている訳では無い fastTextを使⽤した 極性辞書の⽣成
fastTextとは? 9 • Facebookの研究チームが2015年に発表した単語分散表現獲得モデル • Word2Vecの進化系 • Word2VecにSubwordの考え⽅を追加して精度を向上させた (字⾯の近い単語同⼠により意味のまとまり持たせる) •
Word2Vecより反意語に強い(肌感)
アイデア 10 ⽇本語ウィキペディア全量を素材として学習して単語の分散表現を 得るモデルを作成
アイデア 11 各単語の「ポジティブ語群」との平均類似度と「ネガティブ語群」 との平均類似度を計算し、近い⽅を極性値として採⽤ • 優れる • 嬉しい • 喜ぶ
• 良い • 祝う • めでたい • 素敵 • 褒める …etc • 悪い • 嫌 • 苦しい • ⾟い • 死ぬ • 悲しい • 残念 • 罵る …etc 幸せ 類似度計算 類似度計算 ポジティブ 語群 ネガティブ 語群 0.70 0.23 より近い⽅を採⽤※
⽣成された極性辞書 12 Livedoorニュースコーパスの記事を形態素解析した結果の各形態素 対して先程のロジックで極性値を振りました※ ポジティブTOP10 ネガティブTOP10 ※最終的に極性値を-1〜1の間でスケーリングしています
この極性辞書の良いところ 13 先程の問題点を解消している 感覚に合致しない判断が場合が多々ある チューニングが⾮常に⾯倒 全ての単語を網羅されている訳では無い ü ネガティブ語群とポジ ティブ語群の単語を調整 するだけでOK
ü 全ての単語に極性値が割 り振られる
参考 14 同内容をQiitaにまとめているので興味のある⽅はご参照ください • 感情分析に⽤いる極性辞書を⾃動⽣成する https://qiita.com/g-k/items/1b7c765fa6520297ca7c • 感情分析でニュース記事のネガポジ度合いをスコア化する https://qiita.com/g-k/items/e49f68d7e2fed6e300ea