言語の統計 統計の対象量 単語 NグラムとKWIC HMMと形態素解析への応用.

Slides:



Advertisements
Similar presentations
0章 数学基礎.
Advertisements

プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
大規模コーパスから獲得した 名詞の出現パターンを用いた 事態名詞の項構造解析
東京工科大学 コンピュータサイエンス学部 亀田弘之
自然言語処理:第3回 1.前回の確認 2.構文解析 3.格文法.
最大エントロピーモデルに基づく形態素解析と辞書による影響
形態素周辺確率を用いた 分かち書きの一般化とその応用
コンパイラ 2011年10月17日
言語体系とコンピュータ 第5回.
知識情報演習Ⅲ(後半第1回) 辻 慶太(水)
データ構造とアルゴリズム 第10回 mallocとfree
奈良先端科学技術大学院大学 情報科学研究科 松本裕治
5.チューリングマシンと計算.
5.チューリングマシンと計算.
コードの歴史 ASCII(American Standard Code for Information Interchange)  ANSI ISO 646 = 95文字のラテン文字 アルファベット+数字+特殊文字 制御コード: LF, CR などの表示制御と   ACK,DEL などの通信制御 、など.
「データ学習アルゴリズム」 第3章 複雑な学習モデル 3.1 関数近似モデル ….. … 3層パーセプトロン
ことばとコンピュータ 2007年度1学期 第3回.
テキストマイニング, データマイニングと 社会活動のトレース
1.自然言語処理システム 2.単語と形態素 3.文節と係り受け
部分形態素解析を用いた コーパスの品詞体系変換
東京工科大学 コンピュータサイエンス学部 亀田弘之
言語処理系(5) 金子敬一.
最尤推定によるロジスティック回帰 対数尤度関数の最大化.
コンパイラ 2012年10月15日
コンパイラ 2012年10月22日
ターム分布の確率モデル Zipfの法則:使用頻度の大きな語は語彙数が少なく,使用頻度の小さな語は語彙数が多い
日本語解析済みコーパス管理ツール 「茶器」
コンパイラ 2011年10月24日
動詞の共起パターンを用いた 動作性名詞の述語項構造解析
音韻論⑤ ----.
7.時間限定チューリングマシンと   クラスP.
二分探索木によるサーチ.
言語学 語のかたち① pp
自然言語処理及び実習 第11回 形態素解析.
大規模データによる未知語処理を統合した頑健な統計的仮名漢字変換
識別子の命名支援を目的とした動詞-目的語関係の辞書構築
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
6.2.4 辞書項目(1) 辞書項目にも、語に対するDAGを与える。
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
ChaIME: 大規模コーパスを 用いた統計的仮名漢字変換
独立成分分析 5 アルゴリズムの安定性と効率 2007/10/24   名雪 勲.
大規模データによる未知語処理を統合したスケーラブルな仮名漢字変換
Ibaraki Univ. Dept of Electrical & Electronic Eng.
分子生物情報学(2) 配列のマルチプルアライメント法
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
分子生物情報学(3) 確率モデル(隠れマルコフモデル)に 基づく配列解析
テキストマイニング, データマイニングと 社会活動のトレース
様々な情報源(4章).
アルゴリズム論 (第12回) 佐々木研(情報システム構築学講座) 講師 山田敬三
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
文書分類モデルの統計的性質に関する一考察
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
東京工科大学 コンピュータサイエンス学部 亀田弘之
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
第16章 動的計画法 アルゴリズムイントロダクション.
構造的類似性を持つ半構造化文書における頻度分析
5.チューリングマシンと計算.
アルゴリズムとプログラミング (Algorithms and Programming)
人工知能特論II 第8回 二宮 崇.
アルゴリズムとデータ構造1 2009年6月15日
4.プッシュダウンオートマトンと 文脈自由文法の等価性
ヒープソート.
ソフトウェア理解支援を目的とした 辞書の作成法
コンパイラ 2012年10月11日
アルゴリズムとデータ構造 2010年6月17日
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
識別子の読解を目的とした名詞辞書の作成方法の一試案
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

言語の統計 統計の対象量 単語 NグラムとKWIC HMMと形態素解析への応用

なぜ言語の統計? 統計量を計算する理由 1 我々の使っている言語について知る   1 我々の使っている言語について知る   2 言語モデル(文法、言語運用(語用)、文書構成規則、など)を作る   3 辞書や電子化辞書を作る   4 言語処理に必要な計算機資源を見積もる 電子的コーパスの発展と利用   1 インターネットと計算機資源の発達により大規模コーパスが入手可能になった   2 大規模すぎて(10MB=数百万文字 から GB=数億文字)、人手で処理できない   3 計算機に得意な統計処理の導入  言語情報処理への展開

延べ数 と 異なり数 「便り /の / ない / の / は / よい / 便り」 延べ数 と 異なり数 「便り /の / ない / の / は / よい / 便り」 形態素=固有の意味を持ち、かつそれ以上分解できない言語の単位      単語ってなに? 延べ形態素数=7、 異なり形態素数=5 頻度は  便り=2、の=2、ない=1、は=1、よい=1 単語とは?   1 「ので」は1単語か?   2 「日々」の「々」は?   3 「日銀」は1単語?   4 「日本銀行」は1単語か2単語か(あきらかに2形態素らしくはある)   5 実際、単語とは何か、というのは国語学者を悩ませてきた問題であった。   6 実用性の観点からすれば、辞書にどの単語を登録するかが問題なのだから、応用目的によって単語を決めればよいのでは。

統計の対象となる言語単位 音素: 訓令式でローマ字表記したときのアルファベット1文字に対応する音 音素: 訓令式でローマ字表記したときのアルファベット1文字に対応する音 文字: 文字セットによる。しかし、アルファベットの大文字小文字、日本語漢字の新字 例えば「沢」と「澤」は同じ文字か違う文字か?   単語: 西欧の言語のように正書法(Orthography)によって単語間に空白があればよいけれど。  「虎の子」は1単語? Collocation の問題 複合語:    1 複合名詞:「日本学術会議第5部会員選挙日程検討結果報告書別添資料補遺3ページ2行目」????   2 複合動詞:「追いかける」=「追う」+「かける」            「老けこむ」=「老ける」+「こむ」            「痛がる」?? 句: 名詞句、動詞句: 言語情報処理では文よりも句が目下のターゲット 文: 書き言葉では句点があるが、話し言葉では? 談話: 談話構造の認識、談話の範囲などが問題

語彙範疇 vs 機能範疇 と 品詞 語彙範疇: 辞書に記載されている内容的意味のある単語。具体的には動詞,名詞。 内容語ともいう。 語彙範疇 vs 機能範疇 と 品詞 語彙範疇: 辞書に記載されている内容的意味のある単語。具体的には動詞,名詞。 内容語ともいう。 機能範疇: 固有の意味を持たないが、内容語の修飾や内容語同士の関係を記述するための言語要素。冠詞、助詞、屈折辞など。機能語ともいう。 情報検索のような文の意味内容を直接捉えようとする試みにおいては、内容語の抽出や統計的性質が重要で研究も進んでいる。一方で、言語学や機械翻訳などの言語を扱う正統派??の領域では、言語現象としての機能語から、文法や意味に迫る方法をとる。現状では両者の間では乖離があることを認めざるをえない。 品詞: 内容語(もちろん機能語も)が文法的にどういう性質かを記述するのが品詞。統計的性質を調べる場合に、ここの単語(特に内容語の場合)は出現頻度も低く、むしろ同じ品詞のものを同一視して統計をとる方法が有力な場合あり。日本語の品詞体系は以下を参照されたし。   1 基礎日本語文法: 益岡隆志、田窪行則著、くろしお出版、1992(いわゆる益岡・田窪文法)など。

Nグラム Nグラムとは言語を特徴つける簡単な方法(言語モデル) ある言語単位(音素、単語、品詞など)を決める。その言語単位のN個連続をNグラム(N-gram)という。特に言語単位を陽に指定する場合、「言語単位名Nグラム」(例えば、単語2グラム)という。 単独の言語単位を unigram、2個の連続を bigram、3個の連続をtrigram という。 計算してみよう。   (1)英語の文字2グラムの総数   (2)日本語のモーラ2グラムの総数。     モーラ(拍)とは、ひらがな1文字同じ長さの音の単位。「ん」「っ」「-」は1モーラ。     なお、音節(syllable)とは、「(子音)(半母音)母音(モーラ音素)」   (3)日本語の文字2グラムの総数   (4)日本語の単語2グラムの総数   (5)日本語の品詞2グラムの総数

Nグラムの計算 ある言語におけるNグラムの総数はとても大きすぎて計算できない場合が多い。実際のテキストにおいて出現したNグラムによって言語(の部分集合)を特徴つける。そこで、テキストにおけるNグラムの計算法が必要。 あ り が と う …… 辞書式に 整列 う… とう… がとう… りがとう… ありがとう… 1:ありがとう… 2:う… 3:がとう… 4:とう… 5:りがとう… 整列したポインタの配列 整列したポインタの配列においては、先頭部分に同じ文字列を持つものが隣  接ないし近接する。 近所を見回せば、同じNグラムが何個あるかという統計を簡単に計算できる。

KWIC ( Key Word In Context ) ある言語表現がどのような文脈に現れるかを、与えられたコーパスにおいて列挙したもの。 辞書式に整列したテキストへのポインタの配列(Nグラムの計算に利用するもの)を使えば、容易に抽出できる。 Nグラムの計算 のページの「Nグラム」に対するKWICは以下の通り。 -----------------------------------------------------------------------------------------------   前の文脈         Key Word 後の文脈 ------------------------------------------------------------------------------------------------ ある言語における Nグラム の総数はとても大きすぎて ストにおいて出現した Nグラム によって言語(の部分集合) テキストにおける Nグラム の計算法が必要。 Key Word がどのような単語や表現と共起するかという情報を得られる。共起情報は自然言語処理において必須の情報。

形態素解析 与えられた文字列を単語に分解し、各単語の品詞を推定すること。 英語の場合は空白により単語境界が示されているので、品詞タグをつけるだけだが、格変化している動詞や名詞から原形を求める必要もある。 以下に日本語形態素解析で用いられるヒューリスティックな方法を列挙する。 最長一致法   先頭から辞書において一致する最長の単語を当てはめる。   全国都道府県議会議長席 全国 都道府県議 会議 長 席  分割数最小法   辞書を調べて、すべての可能分割を求め、その中で最小分割数のものを選ぶ。   全国都道府県議会議長席 全国 都道府県 議会 議長 席 字種切り法   字種の変化点を単語の境界とみなす。 

品詞の文法的接続可能性による形態素解析法 文においてある品詞の次にくる品詞は文法的に限定されている。これを品詞接続可能性という。例えば、名詞の後には、名詞、助詞、助動詞はくるが形容詞、副詞は来ない。話言葉でなければ動詞も来ない。 例 「きがつく」「き(名詞) が(助詞) つく(動詞)」 OK               「きが(名詞) つく(動詞)」 接続コスト法   接続可能性を可能、不可能の2種類ではなく、確率のような連続数値を用いて表すと、ある品詞列とみなした場合の接続確率が計算できる。接続確率の最大の品詞列を選ぶ方法。

名詞 動詞 助詞 隠れマルコフモデルによる形態素と品詞 確率過程:いくつかの内部状態を持つ(抽象的機械)から種々の記号が次々と現れる過程。 マルコフ過程: ある記号が現れる確率はその直前の状態にだけ依存する。また、次の状態への遷移確率も直前の状態によって決まる。 例: 隠れマルコフモデル:   外部から記号は観測できるが、内部状態は観測できない(直接分からない) 例えば、「犬が走る」という記号列が得られたとき、内部状態が  名詞助詞動詞 と遷移したことを知りたい。 0.1 名詞 動詞 0.3 0.4 0.7 食べる:0.1 走る:0.08 0.5 0.8 猫:0.1 犬:0.06 助詞 は:0.5 が:0.3 0.2

動的計画法による形態素解析の定式化 その1 入力文Sを文字列 S= 単語列 W= 品詞列 T= 動的計画法による形態素解析の定式化 その1 入力文Sを文字列 S= 単語列       W= 品詞列       T= 単語の境界が与えられていない日本語の形態素解析は入力文を条件としたときの単語列と品詞列の同時確率P(W,T)を最大にする単語分割と品詞付与の組(W’,T’)を求めること。 辞書: 文字列から単語と品詞の対を求めるのが辞書Dである。すなわち、 よって、文字列からw,tへの変換はDによって行われ、その結果のP(W,T)を最大化する問題になる。 さて、P(W,T)は品詞2グラムの生起確率   と品詞と単語の対応する確率   の積である。

動的計画法による形態素解析の定式化 その2 P(W,T)を最大にする計算は全部の場合を計算すると膨大 そこで、次のように順々に計算する。 動的計画法による形態素解析の定式化 その2 P(W,T)を最大にする計算は全部の場合を計算すると膨大 そこで、次のように順々に計算する。 まず    と定義。 すると  まず   を 単語めまでの計算で求め、 この値をつかって  を計算する。 これを まで繰り返してmax P(W,T) を求める。 実際は入力文から1文字づつ読みながら、この計算を行う。 辞書Dの辞書引き速度は全体のパフォーマンスを左右する。Trie, PATRICIA木などの高速なディジタル木構造が使われる。

動的計画法による日本語形態素解析アルゴリズム T0={(w0,t0)}; φ(w0,t0)=1; for q=0 to m %文頭から1文字づつ読む foreach (wi-1,ti-1) in Tq  %q文字目で終わる部分解析の集合    for r=1 to m-q+1 foreach (wi,ti) in D(cq,cq+1,…cr)    %qからr文字目までの辞書引き begin if (wi,ti) is not in Tr then %未登録な部分解析経路の追加 Tr =Tr U {(wi,ti)}; φ(wi,ti)=1; end        % 最大のφを順次計算する。 new φ = φ(wi-1,ti-1)p(ti|ti-1)p(wi|ti)   if new φ > φ(wi,ti) then φ(wi,ti)=new φ;

統計データからの動的計画法による形態素解析 P(W,T)を最大化するアルゴリズムにおいて、   をどうやって入手するかが問題。 すでに述べたように品詞の接続可能性や、接続コスト法における品詞接続確率が         に相当する。 言語コーパスからの統計データによりこれらを計算することもできる。 コーパスにおける頻度をCとすると

前向きと後ろ向きの融合 今まで説明してきた動的計画法による形態素解析は前向きに計算を進めた。文の長さが長くなると計算量が指数関数的に増える。 ある程度、前向きで計算し可能な部分解析結果を保持。 次に文末から文頭へ向かって解析しする。 両者を組み合わせ、最大確率のP(W,T)を選ぶ。 この方法だと、確率の大きい順に上位N個の解析結果を列挙できる。

NグラムはN言語単位の連鎖だが、これを言語モデルとして使うために確率論によるモデル化をする。 Nグラムの確率モデル NグラムはN言語単位の連鎖だが、これを言語モデルとして使うために確率論によるモデル化をする。 まず、N文字の連鎖は、               、ただしCはコーパス中の頻度 コーパスの文を文字のN重マルコフ過程とすると、直前のN-1文字から次に現れる文字を予測するモデルにしたい。 つまり、                   である。 これは条件つき確率で

Nグラムの生起確率を求める その1 最尤推定法   文字のN重マルコフ過程   相対頻度CからNグラムの生起確率を推定 Nが大きいと信頼性の高いNグラム推定ができない。 相対頻度が0のNグラムがたくさん現れる。(データスパースネス問題) 加算法   単に分母分子に適当な数を足す。 分子が0の場合は単にδを分子とする。簡単だがあまり精度がよくないそうでる。 |V|はコーパス中の異なり語数

Nグラムの生起確率を求める その2 Good-Turingの推定   語数Nのコーパス中でr回出現する単語の数をnrとする。すると   ここでコーパスにr回出現する単語wの頻度を次の式で推定するのがGood-Turingの推定 これによって相対頻度の総和を求めると つまり、     がコーパスに出現しない単語の頻度の推定確率 なお、     をディスカウント係数という。

Nグラムの生起確率を求める その3(バックオフスムースジング) Nグラムの生起確率を求める その3(バックオフスムースジング) Good-Turingの推定を基礎にした頻度=0のbi-gramの頻度推定 この計算によればコーパス中に出現する bi-gram の確率の和は1より小さい この   は に対して           となる全    の条件つき確率の和。 これを          なる単語列の確率に分配して         を求める

Nグラムの拡張 その1 クラスモデル Nグラム クラスモデル: 例えば品詞のような単語のクラスから次にくる単語を予測するモデル。単語をw、品詞をcとする。すると、1重マルコフモデルで 品詞-単語の bi-gramクラスモデルは、 ただし、    は単語    の属するクラス(例えば品詞)   一般には単語は複数の品詞を持つ。よって、次のように書くべき。   例えば、クラスとして品詞を使うと品詞の異なり数は単語の異なり数よりはるかに少ないので、Nの大きいNグラムも計算できる。 問題: この品詞から単語を予測するモデルはどのような目的に使えるか?また、直前の単語から現在の単語の品詞を予測するようなモデルを考えると、何に使えるか?

Nグラムの拡張 その2 キャッシュモデル 直前の n 語の中に、現在の単語と同じ単語が何回現れるか。 問題:このモデルを式で書けますか?