自然言語処理の概要・アルゴリズムの基礎

7f4b04d4f609255390ad84a1b6bceac2?s=47 Ayumu
January 11, 2019

 自然言語処理の概要・アルゴリズムの基礎

長岡技術科学大学
自然言語処理研究室
学部3年 守谷歩

7f4b04d4f609255390ad84a1b6bceac2?s=128

Ayumu

January 11, 2019
Tweet

Transcript

  1. 自然言語処理と アルゴリズム 2019/1/11 長岡技術科学大学 自然言語処理研究室 学部3年 守谷 歩 「自然言語処理の概要/アルゴリズムの基礎」

  2. 参考図書 黒橋貞夫 (2015)『自然言語処理』放送大学教育 振興会 George T. Heineman & Gary Pollice

    & Stanley Selkow (2016)『アルゴリズムクイックリファレンス第2 版』 黒川利明、黒川洋訳 オライリー・ジャパン
  3. 内容説明 第1回 自然言語処理の概要説明(2分) 自然言語処理とは 文章の段階的な処理の例 コーパスに基づく言語処理(7分) コーパスとは 言語モデル 分類問題 アルゴリズムの考え方(6分)

    問題理解 非効率な素朴解 様々な手法 自然言語処理について(9分) アルゴリズムついて(6分)
  4. 自然言語処理の概要 自然言語とは 我々が日常的に使う言語。コンピュータに指令を与える機械語とは異なる 自然言語処理とは 自然言語をコンピュータで処理するための学問である。 コンピュータで処理するためには自然言語を解析する必要性がある。

  5. 文章の基礎解析の処理例 系列解析 ➢形態素解析、固有名解析 マリオ<人名>は<助詞>フランス<地名> 語<名詞>も<助詞>話せる<動詞>。 <句点> 構文解析 ➢構文解析 マリオは フランス語も

    話せる。 意味解析 ➢格解析 マリオは<ガ格>フランス語も<ヲ格>話せる。 文脈解析 ➢照応・省略解析 マリオは フランス語も 話せる。フランスに(Φガ)留 学していたからだ。 ➢談話構造解析 マリオはフランス語も話せる。<理由>フランスに留 学していたからだ。
  6. コーパスとは コーパスとは 「栄養学」に関する論文集、「太宰治」の書いた本など、ある主題に関 する文書のデータ集 生コーパス、注釈付与コーパス ➢生コーパス 例として(「太宰治」の書いた本そのまま)のように、後付けで情報が付与されていな いコーパス 中でも翻訳関係にある2言語の文書の対を収集したものを対訳コーパスやパラレル コーパスと呼ぶ。

    翻訳関係にないが同じトピックを扱っているコーパスをコンパラブルコーパスと呼ぶ ➢注釈付与コーパス(タグ付きコーパス) 生コーパスに形態素や語の意味などを加えたものなど、言語処理を行うにあたって情報が 付け足されているコーパス。
  7. 言語モデル マルコフモデル 言語モデルとは 文や表現の出現確率を与えてくれるものである。この言語モデルは生コーパスにより抽出できる。 マルコフモデルとは 例として今日の体調が風邪であるとき明日が元気である確率次のようになる。 +1 = 元気 =

    風邪 この時、自分の体調は過去m日に依存する性質(マルコフ性)があるとする。このようなモデルをm階マ ルコフモデルといい、先ほどの式は今日という1日分の過去データがあるため1階マルコフモデルで考 えられたものである。 例えば1年間分の体調のデータがあるとすると最尤推定によって次の式となる。 (元気|風邪)= 風邪, 元気 風邪 この時C(風邪),C(風邪,元気)が1年間の体調の回数だとする。すると風邪の日が20日、風邪の次の日 に元気である日数が10日であるとするとP(元気|風邪)=10/20=0.5より50%の確率で明日は元気になる ことがわかる。
  8. 言語モデル N-gram言語モデル N-gram 言語モデルとは マルコフモデルの考え方を単語の並びに対して行ったもの。 Bi-gram(1階マルコフモデル)の例 ( |−1 ) =

    −1 , −1 C(wi-1,wi)などは生コーパスのデータから計算ができる。※日本語や中国語は英語のように単語間にス ペースがないため、単語分割を行う。 bi-gram言語モデルのK個の単語からできる文の出現確率は 1 , … = ෑ =1 ( |−1 ) より算出される。例として「ペンは剣よりも強し」といった文の出現確率は次のように計算される。 ペンは剣よりも強し = ペン|文頭 ∗ は|ペン ∗ 剣|は ∗ よりも|剣 ∗ (強し|よりも)
  9. 分類問題としての自然言語処理 機械学習の分類問題(毒キノコ) 右図の「黄:〇:短:地:?」の毒が無の状態について考える。 ナイーブベイズ 入力の素性ベクトルをx、ラベルをyとしたとき、最大確率のラベルをY とすることを考える。 = arg max (|)

    ここに数式を入力します。 また上記式をベイズの定理によって変形してこの時argmaxに関係し ないP(x)を削除、各素性xiが独立であると考える。 = arg max ෑ () よってラベル:無について考えると次のようになる。 黄|無 〇|無 短|無 地|無 無 = 1 3 ∗ 2 3 ∗ 1 3 ∗ 1 3 ∗ 5 8 = 5 324 よって毒がない確率はかなり低いことがわかる。 色 笠の形 柄の長さ 場所 毒 赤 〇 長 地 無 赤 〇 短 樹 無 青 〇 長 樹 有 赤 □ 長 樹 無 黄 □ 短 地 有 青 □ 長 樹 無 黄 □ 短 地 有 黄 □ 長 樹 無 黄 〇 短 地 ?
  10. アルゴリズムの考え方 なぜ自然言語処理をするにあたってアルゴリズムを学ぶ か コーパスの処理をするにもアルゴリズムが必要。 言語情報はデータ数が多いため、高速な処理が必要。 Word2Vecなど数値で言語を扱う際にアルゴリズムを使う

  11. 例題 ある8個の点Pの集合の周りを輪ゴムで囲んで離したとき にどのような形になるか?

  12. 非効率な素朴解

  13. 貪欲法(greedy algorithm)

  14. 分割統治法

  15. その他の解決手法 並列法 近似法 一般化(ボロノイ図)