SlideShare a Scribd company logo
1 of 36
Download to read offline
ゼロから始める自然言語処理
大阪大学大学院情報科学研究科
荒瀬由紀
自己紹介
荒瀬由紀
2010年:
博士号(情報科学)取得
2010年~2014年:
Microsoft Research (Beijing)にて
自然言語処理研究に従事
2014年~:
大阪大学大学院情報科学研究科 准教授
初めて自然言語
処理に触れる!
自然言語処理に初めてふれる方の:
・テキストデータを扱いたい!
・テキストから知識を抽出したい!
をお助けするためのチュートリアルです.
例題:
Twitterから話題のポケGo用語を抽出
処理の流れ
• データの準備
• データクリーニング
• 前処理
• 形態素解析
• 後処理
• 特徴語抽出
処理の流れ
• データの準備
• データクリーニング
• 前処理
• 形態素解析
• 後処理
• 特徴語抽出
データ準備
• ダウンロードする
– アノテーション付データが多い
– 研究機関が作成・公開していることが多い
• NII 情報学研究データリポジトリ
http://www.nii.ac.jp/dsc/idr/datalist.html
• ALAGIN 言語資源・音声資源サイト
https://alaginrc.nict.go.jp/
– Pros:
• 既存研究と実験結果を比較できる.
• 無料!
– Cons:
• 最新のデータは手に入りにくい.
データ準備
• 購入する
– 新聞記事,アノテーション付データ
– Pros:
• フォーマットされている
• ノイズが少ない(ことが多い)
– Cons:
• 結構高い
• 契約の年次更新が必要なことも
データ準備
• 自分でクロールする
– Pros:
• 欲しいデータが手に入る
• 速報性
– Cons:
• ノイズ除去が大変
• 時間がかかる.テクニックも必要.
データクローリング
• クローリングのマナー
– 相手のサーバに負荷をかけない.
– API利用制限
Twitter search API:
180 requests/queries per 15 minutes
– 違反すると,所属全体のIPがBanされたり怒られた
り.
• 取得失敗時のリカバリ
– 壊れたデータを保存しないようロールバック
– 重複チェック
• ネットワーク障害,サーバダウン,停電,etc.
処理の流れ
• データの準備
• データクリーニング
• 前処理
• 形態素解析
• 後処理
• 特徴語抽出
形態素解析
• 形態素への分割と品詞タグ付け
– 意味を構成する最小単位
• 精度の高いツールがあります!
– Chasen,Mecab
http://chasen-legacy.osdn.jp/
http://taku910.github.io/mecab/
– JUMAN
http://nlp.ist.i.kyoto-
u.ac.jp/index.php?JUMAN
Mecabの分析例
新宿 名詞,固有名詞,地域,一般,*,*,新宿,シンジュク,シンジュク
御苑 名詞,一般,*,*,*,*,御苑,ギョエン,ギョエン
で 助詞,格助詞,一般,*,*,*,で,デ,デ
ピカチュウ 名詞,固有名詞,一般,*,*,*,ピカチュウ,ピカチュウ,ピカチュウ
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
会い 動詞,自立,*,*,五段・ワ行促音便,連用形,会う,アイ,アイ
たかっ 助動詞,*,*,*,特殊・タイ,連用タ接続,たい,タカッ,タカッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
形態素の
表層 読み
原形
品詞情報 発音
処理の流れ
• データの準備
• データクリーニング
• 前処理
• 形態素解析
• 後処理
• 特徴語抽出
特徴語抽出
• TF-IDF強し
– Term Frequency
– Inverse Document Frequency
TF−IDF = tf 𝑡𝑡, 𝑑𝑑 idf 𝑡𝑡, 𝐷𝐷
idf 𝑡𝑡, 𝐷𝐷 = log
𝑁𝑁
𝑑𝑑𝑑𝑑(𝑡𝑡, 𝐷𝐷)
tf 𝑡𝑡, 𝑑𝑑 :ターム𝑡𝑡のドキュメント𝑑𝑑での頻度
𝑑𝑑𝑑𝑑(𝑡𝑡, 𝐷𝐷): 全てのドキュメント𝐷𝐷で𝑡𝑡を含む𝑑𝑑の数
𝑁𝑁:ドキュメント数
TF-IDFの注意点
• 𝐷𝐷を定義(用意)できるか?
• ドキュメントを扱う場合IDFは重要
• Tweetのような短文ではTFのみで良
いことも
やってみる.
こうなる
あれ,思てたんと違う…
…
処理の流れ
• データの準備
• データクリーニング
• 前処理
• 形態素解析
• 後処理
• 特徴語抽出
データクリーニング
現実のデータは…
ノイズだらけ!
よくあるノイズ
• URL
• 非文(@mention,hashtag,商品コー
ド,etc.)
• アクセント記号:ã,ä,é
• 対象以外の言語データ
• 記号のバリエーション
--﹣ ‐ - ⁃ ˗ − ➖ ‒ –
~ ~ ∼ ˜ ˷ ∽ ∾ ∿ 〜 〰 ﹏
• 謎のUnicode文字
ノイズ除去
• URL,非テキスト,記号のバリエーション
-->データに頻繁に出現するパターンを観察して,
ルールで除去
• アクセント記号
-->文字コードに注意すれば大丈夫.
HTMLでは特殊記号に置き替えられるので置換
• 対象言語以外
-->Unicodeの範囲指定である程度何とかなる.
本気を出すならLanguage Identification
• 謎のUnicode文字
-->テキストをまずデコード,失敗したものは排除.
リュウ
「単語」とのずれ
「単語」とのずれ
• 形態素解析の単位は「形態素」
• 「単語」って実はすごく曖昧
– 「大阪」「大学」vs「大阪大学」
• ルールで形態素を合併
– 連続した(固有)名詞はつなげる
• 辞書の追加
• URL, @mentionの除去
• 「。!?」でテキストを
分割
• ポケモン,ポケモン技の
辞書作成
• 形態素解析の結果,ポケ
モンとポケモンの技のみ
抽出
• 出現頻度カウント
発展編
• 単語ペアを扱う!
--> コロケーション抽出
• 文の意味を考慮したい!
--> 係り受け解析
コロケーション抽出
• 頻繁に共起する単語のペアを特定
• Pointwise Mutual Information
(PMI)
𝑃𝑃𝑃𝑃𝑃𝑃 𝑡𝑡1, 𝑡𝑡2 = log
𝑝𝑝(𝑡𝑡1, 𝑡𝑡2)
𝑝𝑝 𝑡𝑡1 𝑝𝑝(𝑡𝑡2)
– 𝑃𝑃𝑃𝑃𝑃𝑃 𝑡𝑡1, 𝑡𝑡2 > 0:共起しやすい
– 𝑃𝑃𝑃𝑃𝑃𝑃 𝑡𝑡1, 𝑡𝑡2 = 0:関連無し(独立)
– 𝑃𝑃𝑃𝑃𝑃𝑃 𝑡𝑡1, 𝑡𝑡2 < 0:共起しにくい
コロケーション抽出
• 単語の出現確率 𝑝𝑝 𝑡𝑡1 の推定
– 簡単なのは最尤推定
𝑝𝑝 ピカチュウ = 200/1000000
– 低頻度の単語ペアのPMI値が非常に高く
なってしまう
-->出現確率の推定が正しくない
• 解決策
– 頻度を考慮する
– 事後分布最大化推定値
コロケーション抽出
係り受け解析
• 係り受けを解析
– 文節単位
• 固有表現抽出
上野公園で 強い ギャラドスに 会いたかった
LOC ART
係り受け解析
• 「誰が」「どうした」を抽出できる.
• 単純な単語の共起よりも,文の意味を反
映した情報抽出が可能
• 精度の高いツールあります!
– Cabocha
https://taku910.github.io/cabocha/
– KNP
http://nlp.ist.i.kyoto-
u.ac.jp/index.php?KNP
係り受け解析 & PMI
イーブイって 出やすいのか?
ソーラービームが 強すぎる!
カイリューゲットしたんだけど 育てるべき?
ラプラスが れいとうビームだったんだけど
「はがねのつばさカイ
リュー」って
ハズレなの?
カイリューに 勝てる・・・だと?
ミュウツーを GETするには?
ギャラドス 作って
フーディンって 強いの?
かえんほうしゃは、 はずれだよね?
シャワーズ虐めすぎたら 調整入るぞ!
イワークが 捕まらない
おまけ:おススメの環境
• Python
– 強力な文字列処理ライブラリ
– 自然言語処理・機械学習ライブラリも充実
NLTK:http://www.nltk.org/
scikit-learn:http://scikit-
learn.org/stable/
– MecabなどのNLPツールとバインディング
• C#, Java, Perl もよい
• 速度を求めるならC++
まとめ
• 利用できるデータは積極的に利用
• 自然言語処理ツールはたくさん
– 辞書,ルールの活用
• 地道なノイズ除去が肝心
– データの観察
– 諦めも大事

More Related Content

What's hot

What's hot (20)

[DL輪読会]Reward Augmented Maximum Likelihood for Neural Structured Prediction
[DL輪読会]Reward Augmented Maximum Likelihood for Neural Structured Prediction[DL輪読会]Reward Augmented Maximum Likelihood for Neural Structured Prediction
[DL輪読会]Reward Augmented Maximum Likelihood for Neural Structured Prediction
 
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
SSII2022 [SS2] 少ないデータやラベルを効率的に活用する機械学習技術 〜 足りない情報をどのように補うか?〜
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
 
Attentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門までAttentionの基礎からTransformerの入門まで
Attentionの基礎からTransformerの入門まで
 
【DL輪読会】Learning Physics Constrained Dynamics Using Autoencoders
【DL輪読会】Learning Physics Constrained Dynamics Using Autoencoders【DL輪読会】Learning Physics Constrained Dynamics Using Autoencoders
【DL輪読会】Learning Physics Constrained Dynamics Using Autoencoders
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
 
マルチモーダル深層学習の研究動向
マルチモーダル深層学習の研究動向マルチモーダル深層学習の研究動向
マルチモーダル深層学習の研究動向
 
【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models【DL輪読会】Scaling Laws for Neural Language Models
【DL輪読会】Scaling Laws for Neural Language Models
 
画像キャプションの自動生成
画像キャプションの自動生成画像キャプションの自動生成
画像キャプションの自動生成
 
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
【DL輪読会】Toolformer: Language Models Can Teach Themselves to Use Tools
 
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
【DL輪読会】Factory: Fast Contact for Robotic Assembly
【DL輪読会】Factory: Fast Contact for Robotic Assembly【DL輪読会】Factory: Fast Contact for Robotic Assembly
【DL輪読会】Factory: Fast Contact for Robotic Assembly
 
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning   画像×言語の大規模基盤モ...
【DL輪読会】Flamingo: a Visual Language Model for Few-Shot Learning 画像×言語の大規模基盤モ...
 
【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
BERT入門
BERT入門BERT入門
BERT入門
 

Similar to ゼロから始める自然言語処理 【FIT2016チュートリアル】

さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッションさくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッション
antibayesian 俺がS式だ
 
20150702文章読解支援のための日本語の語彙平易化システム
20150702文章読解支援のための日本語の語彙平易化システム20150702文章読解支援のための日本語の語彙平易化システム
20150702文章読解支援のための日本語の語彙平易化システム
Tomoyuki Kajiwara
 
研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011
Preferred Networks
 

Similar to ゼロから始める自然言語処理 【FIT2016チュートリアル】 (20)

マイニング探検会#12
マイニング探検会#12マイニング探検会#12
マイニング探検会#12
 
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
 
人生の意思決定を支える社会インフラとしての図書館
人生の意思決定を支える社会インフラとしての図書館人生の意思決定を支える社会インフラとしての図書館
人生の意思決定を支える社会インフラとしての図書館
 
研究室紹介
研究室紹介研究室紹介
研究室紹介
 
Unsupervised Object Discovery and Localization in the Wild: Part-Based Match...
Unsupervised Object Discovery and Localization in the Wild:Part-Based Match...Unsupervised Object Discovery and Localization in the Wild:Part-Based Match...
Unsupervised Object Discovery and Localization in the Wild: Part-Based Match...
 
論文執筆の環境をめぐる最新の状況と、学会の査読・編集システムを持続可能とするための方策の検討
論文執筆の環境をめぐる最新の状況と、学会の査読・編集システムを持続可能とするための方策の検討論文執筆の環境をめぐる最新の状況と、学会の査読・編集システムを持続可能とするための方策の検討
論文執筆の環境をめぐる最新の状況と、学会の査読・編集システムを持続可能とするための方策の検討
 
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
 
さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッションさくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッション
 
20150702文章読解支援のための日本語の語彙平易化システム
20150702文章読解支援のための日本語の語彙平易化システム20150702文章読解支援のための日本語の語彙平易化システム
20150702文章読解支援のための日本語の語彙平易化システム
 
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
Twitterにおける即時話題推定技術「どたばたかいぎ」の開発
 
内省するTensorFlow
内省するTensorFlow内省するTensorFlow
内省するTensorFlow
 
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)
PRMU研究会の今後のあり方について(NLP分野での取り組み紹介)
 
研究室紹介:高久研究室
研究室紹介:高久研究室研究室紹介:高久研究室
研究室紹介:高久研究室
 
ヤフー音声認識のご紹介#yjdsw1
ヤフー音声認識のご紹介#yjdsw1ヤフー音声認識のご紹介#yjdsw1
ヤフー音声認識のご紹介#yjdsw1
 
大学におけるオープンエデュケーショナル リソースと著作権処理の実状と課題
大学におけるオープンエデュケーショナル リソースと著作権処理の実状と課題大学におけるオープンエデュケーショナル リソースと著作権処理の実状と課題
大学におけるオープンエデュケーショナル リソースと著作権処理の実状と課題
 
20161003 takaku lab-intro
20161003 takaku lab-intro20161003 takaku lab-intro
20161003 takaku lab-intro
 
研究室内統計勉強会20160526
研究室内統計勉強会20160526研究室内統計勉強会20160526
研究室内統計勉強会20160526
 
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
 
日本語の語彙平易化システムおよび評価セットの構築
日本語の語彙平易化システムおよび評価セットの構築日本語の語彙平易化システムおよび評価セットの構築
日本語の語彙平易化システムおよび評価セットの構築
 
研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011研究・企業・生き方について 情報科学若手の会2011
研究・企業・生き方について 情報科学若手の会2011
 

More from Yuki Arase

More from Yuki Arase (6)

闘病ブログからの医薬品奏功情報認識
闘病ブログからの医薬品奏功情報認識闘病ブログからの医薬品奏功情報認識
闘病ブログからの医薬品奏功情報認識
 
自然言語処理によるテキストデータ処理
自然言語処理によるテキストデータ処理自然言語処理によるテキストデータ処理
自然言語処理によるテキストデータ処理
 
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[旧版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
 
SPADE: Evaluation Dataset for Monolingual Phrase Alignment
SPADE: Evaluation Dataset for Monolingual Phrase AlignmentSPADE: Evaluation Dataset for Monolingual Phrase Alignment
SPADE: Evaluation Dataset for Monolingual Phrase Alignment
 
NLP R&D 育成と連携:NLP若手の会 (YANS)の取り組み
NLP R&D 育成と連携:NLP若手の会 (YANS)の取り組み NLP R&D 育成と連携:NLP若手の会 (YANS)の取り組み
NLP R&D 育成と連携:NLP若手の会 (YANS)の取り組み
 
Monolingual Phrase Alignment on Parse Forests (EMNLP2017 presentation)
Monolingual Phrase Alignment on Parse Forests (EMNLP2017 presentation)Monolingual Phrase Alignment on Parse Forests (EMNLP2017 presentation)
Monolingual Phrase Alignment on Parse Forests (EMNLP2017 presentation)
 

ゼロから始める自然言語処理 【FIT2016チュートリアル】