0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

14
ゆるふわ非構造 #0 自然言語処理の第 1 -10 1 -10 = 0.0000000001 @data_sciesotist 2014/07/21 1

Upload: sciesotist-data

Post on 28-May-2015

660 views

Category:

Data & Analytics


0 download

DESCRIPTION

第0回ゆるふわ非構造データ勉強会で発表する資料です。話すのは10分ですが、内容は盛り沢山なので、紹介しない部分は適宜ご参照ください。

TRANSCRIPT

Page 1: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

ゆるふわ非構造 #0

自然言語処理の第1−10歩1−10 = 0.0000000001

@data_sciesotist

2014/07/21

1

Page 2: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

1 まずは、自己紹介• 社会人5年目の研修講師 (Linux、仮想化、ストレージ、クラウド、ビッグデータ・データサイエンスなど担当)です

• その前は長々と大学にいました (心理学、教育工学、障害者支援などを研究)が、学位もポストも・・・だったので就職

• 2002年にLinuxにはじめて触れて以来、細々とOSS関係の活動をしています

• 主に組版ソフトTEXの周りで IDEの日本語化、ドキュメントの翻訳、解説サイトの運営などをしています

• データサイエ「ソ」ティストに悪意はありません2

Page 3: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

2 今日のテーマ

自然言語処理を10分で理解するなんて “ムリ” なので

• このあとの議論の前提となる、共通知識の確認がメインテーマ

•「この言葉、知ってますよね?」3

Page 4: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

3 「自然言語」とは?

Wikipedia:自然言語より� �自然言語 (しぜんげんご、英: natural language) とは、人間によって日常の意思疎通のために用いられる、文化的背景を持って自然に発展してきた記号体系である。大別すると音声による話し言葉と文字や記号として書かれる書き言葉がある。

「自然言語」という語は特に数式やプログラミング言語など人工的に定義された形式言語・人工言語に対比させる必要がある場合にこう呼ばれる。� �

Ü 普段我々が使っている言葉が「自然言語」4

Page 5: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

4 「自然言語処理」とは?• Natural Language Processing; NLP

• コンピュータに自然言語を処理させて、何か結果を得ること

• やりたいことは、とても大まかには以下の3つ

■ 情報の抽出Ü 頻出する・特徴的なパターンを発見する検索、トレンド分析

■ 情報の比較Ü 文書間の共通点・相違点を発見する類似度判定、意見分類

■ 情報の高次化Ü 文書の意図を推定する/一般化する文章要約、概念検索

5

Page 6: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

5 自然言語処理の要素技術 (一部)

形態素解析 Chasen MeCab Kuromoji

Yahoo!日本語形態素解析API

Happiness/BASE5

Webページ

API

テキストファイル

標準入出力分散ファイルシステム

140719 1733 自然言語処理とは...

140720 1800 音声認識とは...

データベース

SQL

画像

OCR

音声

音声認識

頻度 共起 Ngram 構文解析

6

Page 7: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

6 形態素解析 (1)• 形態素: 意味を持つ最小単位のまとまり

Ü 実用上は、「品詞」や「単語」と考えればよい

• テキストを形態素に分解する処理• 形態素解析を行ってはじめて、頻度のカウントや共起、Ngramなど、テキストマイニングの諸手法が適用できる

• 形態素解析を実行するソフトウェアを形態素解析器と呼ぶ

7

Page 8: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

7 形態素解析 (2)• 広く使われている形態素解析器として、

MeCabやkuromojiがある

• MeCabで形態素解析すると以下のようになる• 出力フォーマットは変更可能

• 各種プログラム言語から形態素解析器を呼び出すことも可能

• RからMeCabを呼び出すRMeCabパッケージもある

8

Page 9: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

8 分析手法 (1) 頻度分析• テキストに出現する形態素をカウントする• シンプルだが、「トレンド」が見えてくる• 頻度をサイズであらわす「ワードクラウド」などへの応用が可能

テレビ見る人

思う都市良い

競技頑張る国

来る嬉しい

言う出る瞬間今日開催

自分TBS

東京オリンピック

五輪

何 寝る

発表今

私決まるパラリンピック

キタ

絶対笑

起きる

TOKYO

(笑) コミケ

オリンピック前

テレ東

NHK

楽しみ復興招致

東京速報

考える

汚染

行く

決定日本

イスタンブール

生きる

9

Page 10: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

9 分析手法 (2) 共起• 単純には、「ある形態素といっしょに出てくることの多い形態素を探す」分析

• 物事の評判や語句の関連性を知ることができる> result<-collocate("text.txt",node="オリンピック",span=3)> result2<-collScores(result,node="オリンピック",span=3) # 指標化> result2[(result2$T>=2&result2$MI>=2),] # 指標値が高いものを抽出

Term Before After Span Total T MI

2117 東京 1001 565 1566 5630 39.309641 7.232878

1448 開催 4 591 595 1984 24.242220 7.341478

141 2020 339 53 392 1214 19.685607 7.448085

1596 決定 5 229 234 1976 15.058195 6.000926

10

Page 11: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

10 分析手法 (3) Ngram

• 任意 (n 個) の形態素のかたまりを、「窓」を移動させながら抽出する

• 一般的に nは2から3とすることが多い

• テキストの要点や特徴的な表現を抽出できる

オリンピック 東京 で 開催 決定

3つの形態素からなるNgramを分析

1 2 3

11

Page 12: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

11 分析手法 (4) 構文解析• 詳細な分析結果が求められる場合、文章の

“意味” を分析する構文解析をおこなう

12

Page 13: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

12 自然言語処理の課題• 世の中に溢れるテキストを解析するには課題も

• 形態素解析器などの各種ソフトウェアは、“正しい文法と単語辞書” を念頭に解析する

• 文法的に正しくないテキストや新しい言葉、ローカルな言葉は正しく解析できない

• 大量のテキスト (ビッグデータ・笑) を処理するためには並列化が必要だが、難しい

Ü このへんを議論したらいいんじゃないでしょうか?13

Page 14: 0th ゆるふわ非構造データ勉強会 「自然言語処理の第1^{-10}歩」

13 まとめ• 我々が日常使っている言葉が自然言語

• そこから何かを発見しようとするのが自然言語処理

• 自然言語処理の入口は形態素解析

• テキストを形態素に分解してから、頻度分析や共起分析、Ngram分析、構文解析などをおこなう

• 結果を数値として扱う、図示するなどして、ビジネス(または研究) への活用を考える

• いろいろ課題もあるので、意見交換していきましょう!

14