Submit Search
Upload
サポーターズ勉強会スライド 2018/2/27
•
0 likes
•
790 views
Kensuke Mitsuzawa
Follow
このイベント向けの解説資料です https://supporterz-seminar.connpass.com/event/79712/
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 70
Download now
Download to read offline
Recommended
サポーターズ勉強会スライド
サポーターズ勉強会スライド
Kensuke Mitsuzawa
形態素解析器の比較できるPythonパッケージつくった話
形態素解析器の比較できるPythonパッケージつくった話
Kensuke Mitsuzawa
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
Toshinori Sato
fastTextの実装を見てみた
fastTextの実装を見てみた
Yoshihiko Shiraki
mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方
Toshinori Sato
言語資源と付き合う
言語資源と付き合う
Yuya Unno
子どもの言語獲得のモデル化とNN Language ModelsNN
子どもの言語獲得のモデル化とNN Language ModelsNN
Chiba Institute of Technology
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
Yuki Arase
Recommended
サポーターズ勉強会スライド
サポーターズ勉強会スライド
Kensuke Mitsuzawa
形態素解析器の比較できるPythonパッケージつくった話
形態素解析器の比較できるPythonパッケージつくった話
Kensuke Mitsuzawa
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
Toshinori Sato
fastTextの実装を見てみた
fastTextの実装を見てみた
Yoshihiko Shiraki
mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方
Toshinori Sato
言語資源と付き合う
言語資源と付き合う
Yuya Unno
子どもの言語獲得のモデル化とNN Language ModelsNN
子どもの言語獲得のモデル化とNN Language ModelsNN
Chiba Institute of Technology
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
Yuki Arase
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
順也 山口
自然言語処理における意味解析と意味理解
自然言語処理における意味解析と意味理解
Kanji Takahashi
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方
Yuki Ishikawa
予測型戦略を知るための機械学習チュートリアル
予測型戦略を知るための機械学習チュートリアル
Yuya Unno
形態素解析の過去・現在・未来
形態素解析の過去・現在・未来
Preferred Networks
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
Yuya Unno
深層学習時代の自然言語処理
深層学習時代の自然言語処理
Yuya Unno
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
Deep Learning JP
クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017
Motohiro Ueki
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
Yuya Unno
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
Yuya Unno
Emnlp読み会資料
Emnlp読み会資料
Jiro Nishitoba
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Satoru Kodaira
ニューラル機械翻訳の動向@IBIS2017
ニューラル機械翻訳の動向@IBIS2017
Toshiaki Nakazawa
XMPPクライアント・プログラミング
XMPPクライアント・プログラミング
隆行 神戸
NLP2017 NMT Tutorial
NLP2017 NMT Tutorial
Toshiaki Nakazawa
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
Yuya Unno
Generating word clouds in python
Generating word clouds in python
AyakaHonda1
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
Takeshi Sakaki
More Related Content
What's hot
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
順也 山口
自然言語処理における意味解析と意味理解
自然言語処理における意味解析と意味理解
Kanji Takahashi
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方
Yuki Ishikawa
予測型戦略を知るための機械学習チュートリアル
予測型戦略を知るための機械学習チュートリアル
Yuya Unno
形態素解析の過去・現在・未来
形態素解析の過去・現在・未来
Preferred Networks
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
Yuya Unno
深層学習時代の自然言語処理
深層学習時代の自然言語処理
Yuya Unno
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
Deep Learning JP
クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017
Motohiro Ueki
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
Yuya Unno
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
Yuya Unno
Emnlp読み会資料
Emnlp読み会資料
Jiro Nishitoba
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Satoru Kodaira
ニューラル機械翻訳の動向@IBIS2017
ニューラル機械翻訳の動向@IBIS2017
Toshiaki Nakazawa
XMPPクライアント・プログラミング
XMPPクライアント・プログラミング
隆行 神戸
NLP2017 NMT Tutorial
NLP2017 NMT Tutorial
Toshiaki Nakazawa
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
Yuya Unno
What's hot
(20)
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
BERT の解剖学: interpret-text による自然言語処理 (NLP) モデル解釈
自然言語処理における意味解析と意味理解
自然言語処理における意味解析と意味理解
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方
予測型戦略を知るための機械学習チュートリアル
予測型戦略を知るための機械学習チュートリアル
形態素解析の過去・現在・未来
形態素解析の過去・現在・未来
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
深層学習時代の自然言語処理
深層学習時代の自然言語処理
Pythonによる黒魔術入門
Pythonによる黒魔術入門
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
情報抽出入門 〜非構造化データを構造化させる技術〜
情報抽出入門 〜非構造化データを構造化させる技術〜
Emnlp読み会資料
Emnlp読み会資料
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ニューラル機械翻訳の動向@IBIS2017
ニューラル機械翻訳の動向@IBIS2017
XMPPクライアント・プログラミング
XMPPクライアント・プログラミング
NLP2017 NMT Tutorial
NLP2017 NMT Tutorial
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
Similar to サポーターズ勉強会スライド 2018/2/27
Generating word clouds in python
Generating word clouds in python
AyakaHonda1
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
Takeshi Sakaki
Interop2017
Interop2017
tak9029
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
Shuji Morisaki
Big data解析ビジネス
Big data解析ビジネス
Mie Mori
Javaユーザに知ってほしいProcessing入門
Javaユーザに知ってほしいProcessing入門
chickenJr
概観テキストマイニング
概観テキストマイニング
tod esking
TypeScriptをオススメする理由
TypeScriptをオススメする理由
Yusuke Naka
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Koichi ITO
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Hironori Washizaki
おとなのテキストマイニング
おとなのテキストマイニング
Munenori Sugimura
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
陽平 山口
蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニング
genroku
Variational Template Machine for Data-to-Text Generation
Variational Template Machine for Data-to-Text Generation
harmonylab
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニング
Yuya Unno
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Yoshitaka Ushiku
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
Yuya Unno
はじめてのテスト技法
はじめてのテスト技法
Tatsuya Saito
大規模データ時代に求められる自然言語処理
大規模データ時代に求められる自然言語処理
Preferred Networks
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
Yasushi Hara
Similar to サポーターズ勉強会スライド 2018/2/27
(20)
Generating word clouds in python
Generating word clouds in python
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
2016.03.11 「論文に書(け|か)ない自然言語処理」 ソーシャルメディア分析サービスにおけるNLPに関する諸問題について by ホットリンク 公開用
Interop2017
Interop2017
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
Big data解析ビジネス
Big data解析ビジネス
Javaユーザに知ってほしいProcessing入門
Javaユーザに知ってほしいProcessing入門
概観テキストマイニング
概観テキストマイニング
TypeScriptをオススメする理由
TypeScriptをオススメする理由
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
おとなのテキストマイニング
おとなのテキストマイニング
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニング
Variational Template Machine for Data-to-Text Generation
Variational Template Machine for Data-to-Text Generation
Jubatusの紹介@第6回さくさくテキストマイニング
Jubatusの紹介@第6回さくさくテキストマイニング
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
Vision-and-Language Navigation: Interpreting visually-grounded navigation ins...
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
はじめてのテスト技法
はじめてのテスト技法
大規模データ時代に求められる自然言語処理
大規模データ時代に求められる自然言語処理
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
経済学のための実践的データ分析2. python, R, Jupyter notebook 事始め/統計ソフトちゃんちゃかちゃん
サポーターズ勉強会スライド 2018/2/27
1.
実務で使う自然言語処理をする 2018/2/27 サポーターズ勉強会 @kensuke3238
2.
Who are you
? 三澤 賢佑 (ミツザワ ケンスケ) Github Qiita 愛知県 出身 2012年 大阪外国語大学 ペルシア語科 卒 2014年 奈良先端科学技術大学院大学 卒 株式会社Insight Tech データサイエンティスト
3.
本日 内容 サンプルコードがあります Github
Kensuke-Mitsuzawa
4.
本日 内容 サンプルコードがあります Github
Kensuke-Mitsuzawa Dockerコンテナもついてるよ!
5.
本日 内容 スライド(公式版)あります
6.
なぜ、いまさら じめ 一歩っぽい自然言語処理な か?
7.
先端 やり技術 ≠
ビジネス最前線で使える技術 ● モデル 中身を理解 不可能。(少なくとも非技術者に ) ● パラメータチューニングもコストがかかる。 ビジネス価値が高い技術と ? ● シンプル、理解しやすい ● 説明可能(間違い 理由を顧客が理解しやすい) ● 早く、安くできる 一方でディープラーニング系 技術 ?
8.
先端技術 = ビジネス最前線技術
いつやってくる? 企業(システム提供者)、システム利用者(一般ユーザー)が みんな「これくらい 間違い しゃーないわな」と納得できるようになった時。 Google photoゴリラ事件 出典 http://jp.wsj.com/articles/SB10468926462754674708104581082773456994848 Google Photoが黒人 人物がうつった写真を 「ゴリラ」と判別してしまった事件。 最初に騒ぎ出した 、Web系 開発者。 人権団体を中心に大きな騒動になった。
9.
先端技術 = ビジネス最前線技術
いつやってくる? 企業(システム提供者)、システム利用者(一般ユーザー)が みんな「これくらい 間違い しゃーないわな」と納得できるようになった時。 Google photoゴリラ事件 出典 http://jp.wsj.com/articles/SB10468926462754674708104581082773456994848 Google Photoが黒人 人物がうつった写真を 「ゴリラ」と判別してしまった事件。 最初に騒ぎ出した 、Web系 開発者 人権団体を中心に大きな騒動になった。 技術系 人物でも、 こ ような間違いに厳しい段階。 非技術者にまで意識が浸透する 、ま だまだ先か?
10.
わかりやすいモデル 不滅 今後 産業界へ技術浸透(主観予想) 産業分野によって
「高い説明可能性」を求められる分野がある。(Ex. 医療系など) わかりやすくて、間違い 理由も理解できるモデル 今後も生き残る。 ディープラーニング系技術 わかりやすいモデル 精度さえよけれ 、 なんでもええわ!系産業 中身 説明を求める系産業
11.
自然言語処理へ 第一歩 1. 形態素分割
12.
Q. 形態素分割と なにか? A.
テキストを単語にバラすこと[1] [1] 厳密に 単語と形態素 異なる。形態素⊆単語と認識すると良い。
13.
Q. 形態素分割と なにか? A.
テキストを単語にバラすこと[1] [1] 厳密に 単語と形態素 異なる。形態素⊆単語と認識すると良い。 なぜ、形態素分割が必要か? ● テキストデータでも集計処理をしたい ● 文、文書 状態だと、機械学習にも適応できない
14.
Q. 形態素分割と なにか? A.
テキストを単語にバラすこと[1] [1] 厳密に 単語と形態素 異なる。形態素⊆単語と認識すると良い。 なぜ、形態素分割が必要か? ● テキストデータでも集計処理をしたい ● 文、文書 状態だと、機械学習にも適応できない “きょう 、サポーターズ オフィスにやってきたよ! あした 、社畜としてバリバリ働くよ。 今週も社畜生活だ ! 社畜といえ 、ぼく 友だち Aが..(こ あとめちゃ長い) .”
15.
Q. 形態素分割と なにか? A.
テキストを単語にバラすこと[1] [1] 厳密に 単語と形態素 異なる。形態素⊆単語と認識すると良い。 なぜ、形態素分割が必要か? ● テキストデータでも集計処理をしたい ● 文、文書 状態だと、機械学習にも適応できない “きょう 、サポーターズ オフィスにやってきたよ! あした 、社畜としてバリバリ働くよ。 今週も社畜生活だ ! 社畜といえ 、ぼく 友だち Aが..(こ あとめちゃ長い) .” テキスト 内容を俯瞰したい。 集計するに どうしたら・・・?
16.
Q. 形態素分割と なにか? A.
テキストを単語にバラすこと[1] [1] 厳密に 単語と形態素 異なる。形態素⊆単語と認識すると良い。 なぜ、形態素分割が必要か? “きょう 、サポーターズ オフィスにやってきたよ! あした 、社畜としてバリバリ働くよ。 今週も社畜生活だ ! 社畜といえ 、ぼく 友だち Aが..(こ あとめちゃ長い) .” 単語 頻度 社畜 23 休日 20 働く 15 ... ... ● テキストデータでも集計処理をしたい ● 文、文書 状態だと、機械学習にも適応できない
17.
えっ、なんだか難しそう・・・? たった1行で完結 on unixコンソール %
echo "きょう 、サポーターズ オフィスにやってきたよ! " | mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd きょう 名詞,副詞可能,*,*,*,*,きょう,キョウ,キョー 助詞,係助詞,*,*,*,*, ,ハ,ワ 、 記号,読点,*,*,*,*,、,、,、 サポーターズ 名詞,一般,*,*,*,*,* 助詞,連体化,*,*,*,*, ,ノ,ノ オフィス 名詞,一般,*,*,*,*,オフィス,オフィス,オフィス に 助詞,格助詞,一般,*,*,*,に,ニ,ニ やってき 動詞,自立,*,*,カ変・クル,連用形,やってくる,ヤッテキ,ヤッテキ た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ よ 助詞,終助詞,*,*,*,*,よ,ヨ,ヨ ! 記号,一般,*,*,*,*,!,!,! EOS
18.
えっ、なんだか難しそう・・・? たった1行で完結 on python In
[2]: from JapaneseTokenizer import MecabWrapper In [3]: MecabWrapper(‘ipadic’). tokenize('きょう 、サポーターズ オフィスにやってきたよ! '). convert_list_object() Out[3]: ['きょう', ' ', '、', 'サポーターズ', ' ', 'オフィス', 'に', 'やってくる', 'た', 'よ', '!']
19.
形態素解析器 仕組み 「辞書データ +
形態素解析モデル」 組み合わせ。 「形態素解析モデル」 、ツールごとに違うアルゴリズムを採用 形態素解析器 辞書データ 形態素解析モデル
20.
形態素解析器 勢力 (主観) ツール名
特徴 Mecab 形態素解析界で一番有名。とりあえず Mecabという風潮がある。 とにかく、動作が早い。 Kuromoji ElasticSearchとペアで使われる鉄板的な存在。 動作アルゴリズムに不透明なところがある。 Juman 人手でパラメタチューニングがされている。味があるツール。 単語 意味分類も教えてくれる。 Juman++ 日本語で最初にディープラーニング系 アルゴリズムを導入した。 いま ところ、最高精度。 Kytea 他と まったく違うアルゴリズム を利用。 形態素解析研究コミュニティが好んでいる傾向がある。 RakutenMA 楽天市場 商品名を精度よく区切るためにチューニングされている Chasen Mecab 1世代前 子。いま 積極的に使われていない
21.
辞書 勢力 (主観) 辞書名
特徴 IPA辞書 Mecab 標準辞書としてアナウンスされている。 IPA-neologd辞書 IPA-Dic 体系で、新語に対応させまくっている。 Web系 新語にとにかく対応したい なら、これ。 Unidc辞書 国立国語研究所で作成されている辞書 解析性能自体 、Unidicが一番高い。 Naist-j 辞書 Naistで作成された辞書。現在 メンテナンスされていない。 Juman辞書 Juman用 辞書。IPA辞書と 別 品詞体系を利用している。 意味分類が細かい。 “駅” -> 「交通・ドメイン」など 辞書 比較詳細に関して 、以下 ページや論文を参加にしてください。 - 形態素解析に使う辞書 何が適切な か? - 形態素解析辞書 ベンチマークテスト
22.
形態素解析 性能とこれから 「きれいな文(新聞記事)」で98%くらい 分割精度(Mecab) チャレンジ内容
「Web分野」や「話し言葉」へ 対応
23.
形態素解析 性能とこれから 「きれいな文(新聞記事)」で98%くらい 分割精度(Mecab) チャレンジ内容
「Web分野」や「話し言葉」へ 対応 Web分野と話し言葉へ 対応 Web文書に 「Mecab + IPA neologd辞書」 組み合わせで処理する人 多い。
24.
Pythonでやってみる形態素分割と単語集計 “JapaneseTokenizer”で基本的なことがカバーできる。 ● Mecab, Juman,
Juman++, Kytea 呼び出し ● 品詞でフィルタリング ● Stopword(分割結果から除外したい語) フィルタリング 形態素分割 単語集計 Python標準 collection.Counterクラスで一発処理 詳しく サンプルコード on Githubを見てください
25.
自然言語処理へ 第一歩 2. キーワード抽出
26.
どうしてキーワード抽出が必要か? 形態素 集計で 、意味がない単語
出現
27.
どうしてキーワード抽出が必要か? 単語 頻度 する 2513 なる
554 演 283 ある 270 信繁 195 Wikipedia 「テレビ番組」に関係する 15文書を集計。 品詞に 「動詞・自立」、「形容詞・自立」、「名詞・固有名詞」を利用。 形態素 集計で 、意味がない単語 出現
28.
どうしてキーワード抽出が必要か? 単語 頻度 する 2513 なる
554 演 283 ある 270 信繁 195 Wikipedia 「テレビ番組」に関係する 15文書を集計。 品詞に 「動詞・自立」、「形容詞・自立」、「名詞・固有名詞」を利用。 単語 CM 視聴者 視聴率 24時間テレビ 制作進行 理想的に こんな感 じ 出力がいい 形態素 集計で 、意味がない単語 出現
29.
キーワード抽出へ アプローチ キーワード抽出へ アプローチ
大きく2つある。 今回 「データ重み付け」アプローチを紹介 データ重み付け データベース照合 文 集合に重み付け計算を行なう。 文や文書につけられた「ラベル」ベース ラベルごと 出現差分を計算に考慮 既存 データベースを「正解」 キーワード 既存 データベースと照合して、キーワード抽出。 Wikipediaがよく使われる。
30.
重み付けアプローチ 実例紹介 不満買取センターで 実例。 「不満で振り返る2016年
各月 注目キーワードTOP5」 【1月】 新成人 正月太り 大寒波 正月三が日 バルス 【2月】 歯舞 春一番 立春 グラミー賞 台湾地震 【3月】 ナベツネ なでしこJAPAN 開花宣言 大相撲三月場所 無観 客試合 【4月】 エイプリル・フール 前震 前田健 桃田 震災対応 (1月分〜4月分までを抜粋) 抽出されたキーワード
31.
重み付けアプローチ 実例紹介 不満買取センターで 実例。 「不満で振り返る2016年
各月 注目キーワードTOP5」 抽出フローチャート 不満買取センター DB 形態素分割 重み付け 計算 キーワード 単語集合
32.
(2分でわかる)重み付け手法 概念 ある単語aについて、ラベルAとあるラベルB 出現差分を比較する。 (ラベルベース重み付け手法
場合) ラベル- テレビ番組 ラベル- 自動車 新車 トヨタ CM 多様な 視聴率 イグニッション 新車 トヨタ 多様な 多様な あう 販売 新車 ホンダ 低燃費 新車 多様な CM 視聴者 多様な CM CM 視聴率 CM 多様な 視聴率 視聴者 視聴率 多様な 新車 多様な CM 視聴率
33.
ある単語aについて、ラベルAとあるラベルB 出現差分を比較する。 ラベル- テレビ番組
ラベル- 自動車 CM 視聴者 多様な CM CM 視聴率 CM 多様な 視聴率 視聴者 視聴率 多様な 新車 多様な CM 視聴率 新車 トヨタ CM 多様な 視聴率 イグニッション 新車 トヨタ 多様な 多様な あう 販売 新車 ホンダ 低燃費 新車 多様な 灰色四角=1文書 単語 文書に出現する単語 (2分でわかる)重み付け手法 概念
34.
(2分でわかる)重み付け手法 概念 ある単語aについて、ラベルAとあるラベルB 出現差分を比較する。 ラベル-
テレビ番組 ラベル- 自動車 新車 トヨタ CM 多様な 視聴率 イグニッション 新車 トヨタ 多様な 多様な あう 販売 新車 ホンダ 低燃費 新車 多様な ラベルつき「複数文書」 「ラベル- テレビ番組」 文書が4文書 CM 視聴者 多様な CM CM 視聴率 CM 多様な 視聴率 視聴者 視聴率 多様な 新車 多様な CM 視聴率
35.
(2分でわかる)重み付け手法 概念 ある単語aについて、ラベルAとあるラベルB 出現差分を比較する。 ラベル-
テレビ番組 ラベル- 自動車 新車 トヨタ CM 多様な 視聴率 イグニッション 新車 トヨタ 多様な 多様な あう 販売 新車 ホンダ 低燃費 新車 多様な ラベルつき「複数文書」 「ラベル- 自動車」 文書が4文書 CM 視聴者 多様な CM CM 視聴率 CM 多様な 視聴率 視聴者 視聴率 多様な 新車 多様な CM 視聴率
36.
ラベルごとに頻度をカウントする ラベルごと 頻度(Documen Frequency);
単語が出現した「文書数」。単語頻度で ない。 ラベル- テレビ番組 ラベル- 自動車 単語 ラベル頻度 CM 3 視聴率 3 多様な 4 新車 1 単語 ラベル頻度 CM 1 視聴率 1 多様な 4 新車 4 (2分でわかる)重み付け手法 概念
37.
ラベル頻度をカウントすると ラベルごと 頻度(Documen Frequency);
単語が出現した「文書数」。単語頻度で ない。 ラベル- テレビ番組 ラベル- 自動車 単語 頻度 差分 CM 3 +2 視聴率 3 +2 多様な 4 0 新車 1 -3 単語 頻度 差分 CM 1 -2 視聴率 1 -2 多様な 4 0 新車 4 +3 (2分でわかる)重み付け手法 概念
38.
ラベル頻度をカウントすると ラベル頻度(Documen Frequency); 単語が出現した「文書数」。単語頻度で
ない。 ラベル- テレビ番組 ラベル- 自動車 単語 頻度 差分 CM 3 +2 視聴率 3 +2 多様な 4 0 新車 1 -3 単語 頻度 差分 CM 1 -2 視聴率 1 -2 多様な 4 0 新車 4 +3 (2分でわかる)重み付け手法 概念 差分が大きい単語 ≒「ラベルに固有 単語」 大きな重みスコア
39.
ラベル頻度をカウントすると ラベル頻度(Documen Frequency); 単語が出現した「文書数」。単語頻度で
ない。 ラベル- テレビ番組 ラベル- 自動車 単語 頻度 差分 CM 3 +2 視聴率 3 +2 多様な 4 0 新車 1 -3 単語 頻度 差分 CM 1 -2 視聴率 1 -2 多様な 4 0 新車 4 +3 (2分でわかる)重み付け手法 概念 差分がない単語 ≒ 「一般的な単語」 低い重みスコア(また 0)
40.
Q. どんなラベルを使え いい
か? A. なんでもいい。それ 使う人が決めること。 そもそも「ラベル」という概念が主観と客観 境界にある ラベル情報 例 ● 「タグ」 ようなメタデータ ● 人手で分類をして、付与してきた「タグ」 ● タイムスタンプ (週単位、月単位に変換して「ラベル」に) ● 人手で最初にキーワード設定。キーワードを「ラベル」にして使う。 などなど。
41.
Q. どんなラベルを使え いい
か? 例え 、Wikipedia 記事をいい感じにラベル付けする(超主観) 記事名 ラベル スターウォーズ 映画 日本酒 アルコール 竹鶴 アルコール 餃子 王将 レストラン 奈良先端科学技術大学院大学 教育
42.
Pythonで重み付けアプローチをやってみる DocumentFeatureSelectionを使え 、TF-IDF, BNS,
PMI, SOAが実行可能 Input データ構 { “ラベル名-1”: [ [文1に出現する単語], [文2に出現する単語], ], “ラベル名-2”: [ [文1に出現する単語], [文2に出現する単語], ], }
43.
Pythonで重み付けアプローチをやってみる Input データ構 { "テレビ番組": [ ["視聴率",
"CM", "CM", "多様な", "新車", "視聴者"], ["トヨタ", "CM", "CM", "多様な", "視聴者"], ["CM", "CM", "多様な", "視聴者", "視聴率"], ], "自動車": [ ["新車", "トヨタ", "視聴率", "CM", "多様な"], ["新車", "トヨタ", "販売", "多様な"], ["新車", "販売店", "低燃費", "トヨタ", "多様な"], ["新車", "販売店", "低燃費", "ホンダ", "多様な"], ]}
44.
Pythonで重み付けアプローチをやってみる In [1]: from
DocumentFeatureSelection import interface In [2] : データ 前スライド 入力データを利用。 input_dict = 前スライド データ In [3]: interface.run_feature_selection(input_dict=input_dict,method='soa').ScoreMatrix2ScoreDictionary() Out[3]: [{'label': 'テレビ番組', 'score': 2.0, 'word': 'CM'}, {'label': '自動車', 'score': 1.5849625007211563, 'word': '新車'}, {'label': 'テレビ番組', 'score': 1.4150374992788437, 'word': '視聴率'}, {'label': '自動車', 'score': 1.1699250014423124, 'word': 'トヨタ'}, {'label': 'テレビ番組', 'score': -1.1699250014423124, 'word': 'トヨタ'}, ...略 サンプルコード
45.
Pythonで重み付けアプローチをやってみる In [1]: from
DocumentFeatureSelection import interface In [2] : データ 前スライド 入力データを利用。 input_dict = 前スライド データ In [3]: interface.run_feature_selection(input_dict=input_dict,method='soa').ScoreMatrix2ScoreDictionary() Out[3]: [{'label': 'テレビ番組', 'score': 2.0, 'word': 'CM'}, {'label': '自動車', 'score': 1.5849625007211563, 'word': '新車'}, {'label': 'テレビ番組', 'score': 1.4150374992788437, 'word': '視聴率'}, {'label': '自動車', 'score': 1.1699250014423124, 'word': 'トヨタ'}, {'label': 'テレビ番組', 'score': -1.1699250014423124, 'word': 'トヨタ'}, ...略 サンプルコード method = ‘手法名’を指定すれ OK
46.
Pythonで重み付けアプローチをやってみる In [1]: from
DocumentFeatureSelection import interface In [2] : データ 前スライド 入力データを利用。 input_dict = 前スライド データ In [3]: interface.run_feature_selection(input_dict=input_dict,method='soa').ScoreMatrix2ScoreDictionary() Out[9]: [{'label': 'テレビ番組', 'score': 2.0, 'word': 'CM'}, {'label': '自動車', 'score': 1.5849625007211563, 'word': '新車'}, {'label': 'テレビ番組', 'score': 1.4150374992788437, 'word': '視聴率'}, {'label': '自動車', 'score': 1.1699250014423124, 'word': 'トヨタ'}, {'label': 'テレビ番組', 'score': -1.1699250014423124, 'word': 'トヨタ'}, ...略 サンプルコード “CM”がテレビ番組, “新車”が自動車 ラベルで高いスコアになった!
47.
Pythonで重み付けアプローチをやってみる ● シンプルにデータ入力できるインターフェース ○ 4手法が利用可能 ●
高 な計算 ○ Cythonを利用 ● 巨大データへ スケール性 ○ 10GB程度まで テキストデータに対応実績あり[1] DocumentFeatureSelection 特徴 [1] 64GBメモリマシンで実行。メモリを 95%程度まで使い切り
48.
自然言語処理へ 第一歩 3. カテゴリ分類(ラベル分類)
49.
カテゴリ分類と 何か? テキストデータを、「内容を考慮して」、カテゴリに分けること。 例:ニュース記事分類 日本経済新聞Web版 1/30
http://www.nikkei.com/article/DGXLASGM30H0T_Q7A130C1MM0000/
50.
カテゴリ分類と 何か? テキストデータを、「内容を考慮して」、カテゴリに分けること。 例:ニュース記事分類 カテゴリ分類 モデル 「国際」カテゴリ
51.
カテゴリ分類と 何か? テキストデータを、「内容を考慮して」、カテゴリに分けること。 例:ニュース記事分類 カテゴリ分類 モデル 「国際」カテゴリ カテゴリ体系 「モデル」を作成する 人が、自由に体系を設計する
52.
カテゴリ分類 アプローチ手法 ルールベース 機械学習ベース
53.
カテゴリ分類 アプローチ手法 ルールベース 機械学習ベース 人手ルールに従った分類 例え ●
「アメリカ」が出現 -> 「国際」カテゴリ ● 「アメリカ」と「トランプ」 -> 「国際」カテゴリ ● など。
54.
カテゴリ分類 アプローチ手法 ルールベース 機械学習ベース スコアリングベース 分類器ベース 計算済み
重み付けスコアを使う。 カテゴリごとにスコアを足し算。 最高値 カテゴリ -> 予測カテゴリ。 予測 カテゴリを一意に出力する 例え ● SVM ● 深層学習 ● など 人手ルールに従った分類 例え ● 「アメリカ」が出現 -> 「国際」カテゴリ ● 「アメリカ」と「トランプ」 -> 「国際」カテゴリ
55.
カテゴリ分類 アプローチ手法 ルールベース 機械学習ベース スコアリングベース 分類器ベース 人手ルールに従った分類 例え ●
「アメリカ」が出現 -> 「国際」カテゴリ ● 「アメリカ」と「トランプ」 -> 「国際」カテゴリ 計算済み 重み付けスコアを使う。 カテゴリごとにスコアを足し算。 最高値 カテゴリ -> 予測カテゴリ。 予測 カテゴリを一意に出力する 例え ● SVM ● 深層学習 ● など
56.
スコアリングベース、カテゴリ分類 処理フロー ラベル付き テキストデータ 重み付け手法 重みスコアデータ ラベルなし テキストデータ 形態素分割 カテゴリ スコア計算 予測 カテゴリ 2章 内容 形態素分割
57.
Pythonでカテゴリ分類をやってみる サンプルコード こちら スコアリング関数 ゆるふわ疑似コード seq_input_tokens;
形態素分割をした入力文List[str] dict_weight_score; 重み付けをした辞書データ。Ex.{‘単語’: [ (‘自動車ラベル’, 4.023) ]} dict_label_score = {} // ラベルごと スコア足し算結果を保存するハッシュマップ for token in seq_input_tokens { 1. “token” が “dict_weight_score” にあるかチェックする。なけれ 、next 2. “token” ラベルごと スコアをdict_label_score に保存する。 }
58.
Pythonでカテゴリ分類をやってみる サンプルコード こちら スコアリング関数 ゆるふわ疑似コード { “自動車ラベル”:
67.322, “テレビ番組ラベル”: 32.1345, “映画ラベル”: 23.432, ... } 出力(dict_label_score) こ ようになる。(数値 適当な例)
59.
Pythonでカテゴリ分類をやってみる サンプルコード こちら スコアリング関数 ゆるふわ疑似コード { “自動車ラベル”:
67.322, “テレビ番組ラベル”: 32.1345, “映画ラベル”: 23.432, ... } 出力(dict_label_score) こ ようになる。(数値 適当な例) 予測結果を1つだけにしたい。 -> スコアが最大なTop1だけ使う。 予測ラベルを複数つけたい。 -> 上からスコア多い順にN件使う。
60.
モデル 性能評価をしよう。 「ワイが作ったモデルみてや〜。すごいんやで〜」と自慢するために 、 性能数値が不可欠 Accuracy指標 「予測結果が正しかった割合」を示す数値。 Accuracy指標
= N(予測が正解 データ) / N(評価用 データ)
61.
モデル 性能評価をしよう。 「ワイが作ったモデルみてや〜。すごいんやで〜」と自慢するために 、 性能数値が不可欠 Accuracy指標 評価用データ
ラベル 予測結果 ラベル 自動車 自動車 テレビ番組 自動車 テレビ番組 テレビ番組 映画 映画 Accuracy指標; 0.75 = 3 / 4
62.
評価データ 用意方法 重みスコア 作成元に「使わなかった」データを評価に 利用可能なラベル付きデータ
63.
評価データ 用意方法 重み付けスコア作成データ 評価用データ 重みスコア
作成元に「使わなかった」データを評価に 注:分類器ベース モデルで 「 N-fold 交差検定」という検証法をよく使います。興味がある人 検索 DA☆
64.
ちなみに・・・ サンプルコードで モデル性能 k(Top-kに正解があったら正解とみなす) Accuracy 1
0.47 (10/21) 3 0.9 (19/21)
65.
不満買取センターモデル辞書 紹介 不満買取センター 100くらい
カテゴリラベルから作った重みスコア辞書 重み付きモデル 準備がめんどい・・人 ために! 不満カテゴリ辞書 ● 「レストラン」、「カフェ・喫茶」、「テレビ番組」等、細かい単位 ラベル ● 80%くらい Accuracy性能がある (Wikipedia文書で評価) ● 無料で利用可能!申し込みフォームに入力したら、即ダウンロード!
66.
不満買取センターモデル辞書 紹介 不満カテゴリ辞書
67.
まとめ ● 形態素分割と単語集計 ● 重み付けスコアリング法とキーワード抽出 ●
重み付けスコアリング法とカテゴリ予測 「今すぐできる基礎レベル」を中心に紹介。 「すごいプロジェクト立ち上げるぜ!」 前に こっそりと個人でやってみることをオススメします☆
68.
自然言語処理 もっと先に進みたい人へ ● 分類器ベース
カテゴリ分類予測 ● 単語 分散表現 (word2vec) ● 単語を越えた分散表現 ○ 言語モデル (LSTM) ○ フレーズ対訳モデル (seq2seq) 「こんな感じ こと知っておくといいお」技術
69.
70.
重み付け手法 選び方 ラベル 有無、ラベル
数、欲しい結果 数値などによって変わってきます。 データにラベルをつけられるか? ラベル 数 2つで、 データ 数に偏りがあるか? 結果 数値範囲 マイナス から プラス 方がよいか? TF-IDF SOA PMI BNS Yes Yes Yes No No No
Download now