• 検索結果がありません。

N-gram Language Models for Speech Recognition

N/A
N/A
Protected

Academic year: 2021

シェア "N-gram Language Models for Speech Recognition"

Copied!
44
0
0

読み込み中.... (全文を見る)

全文

(1)

N-gram Language Models

for Speech Recognition

(2)

目次

はじめに

1.  自己紹介 2.  音声認識の概要 3.  音声認識の種類と言語モデル 4.  文の尤度と単語N-gramの学習方法 5.  単語N-gramの高精度化と0頻度問題 6.  単語N-gramの評価実験

7.  2-gram vs. 3-gram vs. 4-gram

8.  学習コーパスと評価コーパスの相性

(3)
(4)

自己紹介

(1)

自己紹介

要素名 要素値

name 新堂 安孝

twitter id @y_shindoh

web site http://quruli.ivory.ne.jp/document/

(5)

自己紹介

(2)

略歴 年・月 所属企業/業務 2003.04 2005.02 P社 (ICT系ベンチャー) •  Windowsアプリケーションの開発。 •  ユーザインタフェースの開発・研究。 2005.03 2007.09 M社 (機械メーカー) •  対人ロボットにおけるHMIの研究。 •  音声認識エンジンの研究。 2007.10 現在 K社 (キャリアー, K研究所に出向中) •  音声認識の応用システムの研究。

(6)

自己紹介

(3)

博士課程時代の専攻 (純粋数学, 代数学) ü 非可換環 (non-commutative rings) •  可換性のある加法 •  可換性のない乗法 •  加法の単位元 0 •  乗法の単位元 1 •  … ü 加群 (modules) •  可換性のある加法 •  環との (可換性のない) 乗法 •  加法の単位元 0 •  … 整数全体・有理数全体・ 複素数全体などを 汎化した構造を持つ 抽象的な集合の 代数的性質を研究。 …もうかなり忘れてます。 情報系のスキル 数学の博士課程進学は

(7)
(8)

音声認識の概要

(1)

音声認識システム (ディクテーション型) 音声認識結果 音声認識 エンジン (decoder) 音声データ (音声特徴量) 音響モデル 言語モデル 声帯や声道の特徴を表す値。 MFC, PLPなどの形式がある。 音声データと各種モデルを比較し、 最も尤度 (各種モデルの尤度の積) の 高い単語の列を出力。 音声特徴量と その変化する様子を HMMで表現した、 音素 (列) の尤度を 認識できる単語と 単語の繋がりを 表現した、 文章の尤度

(9)

音声認識の概要

(2)

音声特徴量 (MFC) 音声データ (LPCM) 音声データ (スペクトル) 音声データ (MFC) ①  フレーミング ②  ハミング窓 ③  高域強調フィルタ ④  FFT ⑤  絶対値化

⑥  聴覚フィルタ (Mel Freq. Filter) ⑦  対数化

⑧  DCT

(10)

音声認識の概要

(3)

音響モデルによる尤度出力 音声データ (MFC) 音響モデル 【音声認識エンジン内部の処理】 音響モデルで表現されている各音素の状態情報と、 時刻毎の音声データを比較することで、 各音素の尤度 (出現確率) を算出する。 音素の尤度が算出できる。 モーラの音響尤度が算出できる。 本題ではないので、 詳細は省略します。

(11)

音声認識の概要

(4)

音素→モーラ→単語 単語 モーラ (発音情報) 音素 (発音情報) 赤い あ, か, い a, k, a, i 高い た, か, い t, a, k, a, i マンション ま, ん, しょ, ん m, a, N, sh, o, N

(12)
(13)

孤立単語型

音声認識の種類

(1)

言語モデル (孤立単語) カレー カレーうどん! うどん! 食べたいのは… うどん …? 蕎麦 うどん ラーメン

(14)

記述文法型

音声認識の種類

(2)

言語モデル (CFG) 終了 開始 うどん 蕎麦 カレー蕎麦! カレーうどん! カレーうどん …? カレー きつね

(15)

ディクテーション型

音声認識の種類

(3)

言語モデル (単語N-gram) 終了 は 開始 を が おかめうどんを食べる! カレーうどんが好き! カレーうどんが 好き! ○×△□? きつね うどん 作る カレー 食べる 好き 繫がり方 (確率) の 説明は次章以降で。

(16)
(17)

文の尤度と単語

N-gramの学習方法 (1)

繋がる確率を 全てかけ算すると… 松山市に 行ったよ。 形態素 (単語) に分割して 形態素の繫がる確率を考える。 終了 開始 松山 市 に 行っ た よ 0.300 0.500 0.400 0.455 0.400 0.005 0.700 0.300 0.500 0.400 0.455 0.400 0.005 0.700 = 0.000038 文「この箱を見てください。」の

(18)

文の尤度と単語

N-gramの学習方法 (2)

記事データ (形態素列) の中身 コーパス (新聞記事DB等) 抽出・整形 コーパス (テキスト) 形態素解析 記事データ (テキスト) の中身 次期衆院選に向けた地方自治体の首長有志による 政治グループ構想で、 提唱者の橋下徹・大阪府知事、中田宏・横浜市長、 中村時広・松山市長が4日夜、 松山市内の飲食店で会談。 次期, 衆院, 選, に, 向け, た, 地方自治体, の, 首長, 有志, による, 政治, グループ, 構想, で, 、, 提唱, 者, の, 橋下, 徹, ・, 大阪, 府知事, 、, 中田, 宏, ・, 横浜, 市長, 、, 中村, 時広, ・, 松山, 市長, が, 毎日jp http://mainichi.jp/ の 2009/07/05の政治カテゴリーの記事。

(19)

文の尤度と単語

N-gramの学習方法 (3)

形態素列データ (形態素の繫がり確率) の中身 カウント count N-gram (形態素の繫がり回数) 確率算出 N-gram 形態素列データ (形態素の繫がり回数) の中身 「松山」の次にあった単語とその回数 松山の次にあった単語とその確率 コーパス (単語列) 市 市内 市長 の 10 5 3 2 市 市内 市長 の 0.50000 0.25000 0.15000 0.10000 実際は次になかった形態素にも 強引に確率を割り振る。(後述)

(20)

文の尤度と単語

N-gramの学習方法 (4)

繋がる確率を 全てかけ算すると… 松山市に 行ったよ。 形態素に分割して 形態素の繫がる確率を考える。 開始 松山 市 に 行っ た よ 0.300 0.500 0.400 0.455 0.400 0.005 0.300 0.500 0.400 0.455 0.400 0.005 0.700 = 0.000038 文の尤度

(21)
(22)

単語

N-gramの高精度化と0頻度問題 (1)

単語N-gramの高精度化 (王道パターン) ①  認識対象の話題 (例: レシピ、メニュー、などなど) のコーパスを集める。 ②  認識対象の表現 (例: 柔らかい書き言葉、硬い話し言葉) のコーパスを集める。 ③  コーパスを大量に集める。 単語N-gramの高精度化 (小手先パターン) ①  話題適応 (例: LDAやPLSAによるトピック適応) させる。 ②  表現適応 (例: CRFによる不要語の挿入) させる。

③  未知N-gramを補完 (例: 単語クラスタリングによるClass N-gram化) する。

認識させたい全ての文を網羅すべく、

(23)

単語

N-gramの高精度化と0頻度問題 (2)

単語N-gramの現実問題 いくら巨大なコーパスでも、認識させたい内容の全てを網羅できない。 • 認識させたい内容が広ければ広いほど、網羅は厳しい。 • 網羅できなかった内容を認識できないのは、実用的でない。 網羅できた表現・できなかった表現 「松山」の次にあった単語とその回数 市 市内 市長 の から へ 10 5 3 2 0 0 「松山」の次にあった単語とその確率 市 市内 市長 の から へ 0.5 0.25 0.15 0.1 0.0 0.0 2-gram確率 (0頻度問題対応前) P(松山|市) P(松山|市内) P(松山|市長) P(松山|の) P(松山|から) P(松山|へ) 認識できないと 困る表現もある!

(24)

単語

N-gramの高精度化と0頻度問題 (3)

0頻度の単語に確率を付与 (スムージング) ①  単語w1の次に出てきた全ての単語w2に対し、全ての P(w2|w1) にλ (0<λ<1) をかける。 ②  単語w1の次に出てこなかった全ての単語w2’の和 ΣP(w2’|w1) に対し、1-λの確率を割り当てる。 •  λをディスカウント係数といい、その算出方法は複数ある。 ディスカウント係数の算出方法 • Kneser-Ney • Modified Kneser-Ney • Witten-Bell • Good-Turing • Natural ここら辺の詳細は、 次々回の勉強会で 説明したいと思います。 (今回は省略します!)

(25)

単語

N-gramの高精度化と0頻度問題 (4)

単語N-gramの精度に関する指標

音声認識におけるモデルの精度評価は大別して2つある。

a)  音声データを含むコーパスを用いる方法 (例: Word Correct, Word Accuracy) b)  テキスト・データのみのコーパスを用いる方法 (例: Perplexity) Perplexity 私は日本人です。   単語 (形態素) 列: <s>, 私, は, 日本, 人, です, 。, </s>   文の尤度: P(私|<s>) × P(は|私) × P(日本|は) × P(人|日本) × P(です|人) × P(。|です) × P(</s>|。) Perplexityは、音声認識の分野で言語モデル単体の性能評価に用いられる指標で、 言語モデルから算出する文 (評価コーパス) の尤度の自乗平均。 数値が小さいほど、評価コーパスの内容を認識し易い。 ただし、Perplexityの数値が認識精度に直接的に影響するとは限らないことに注意。

(26)
(27)

単語

N-gramの評価実験 (1)

評価内容

評価で用いたツール

MeCab ver.0.98 http://mecab.sourceforge.net/

NAIST Japanese Dictionary ver.0.6.1-20090630 http://sourceforge.jp/projects/naist-jdic/

SRILM ver.1.5.10 http://www-speech.sri.com/projects/srilm/

某blogサイトより

2008年08月 2010年09月に収集した料理レシピ記事を学習コーパス、

2010年10月に収集した料理レシピ、料理メニュー、旅行の各記事を評価コーパスとし、 Perplexityを指標に各種比較評価を行った。

(28)

単語

N-gramの評価実験 (2)

学習コーパス (文数) 500000   1000000   1500000   2000000   2500000   3000000   3500000   4000000   4500000   文数 毎月11万文程度を収集。

(29)

単語

N-gramの評価実験 (3)

学習コーパス (形態素数) 0   20000000   40000000   60000000   80000000   100000000   120000000   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   形態素数 毎月300万単語程度を収集。 【参考】 2008年11月当時の Wikipediaが1.6億程度。

(30)

単語

N-gramの評価実験 (4)

学習コーパス (異なり形態素数 (1-gram)) 50000   100000   150000   200000   250000   異な り 形態素数 等比級数的に増加せず、 収束する傾向にある。 ⇒ 【ヒープスの法則】 V = KSa •  S: 形態素数 •  V: 異なり形態素数 •  K, a:パラメータ (0.4<a<0.6)

(31)

単語

N-gramの評価実験 (5)

評価コーパス 記事内容 文数 形態素数 異なり形態素数 (1-gram) 料理レシピ 約12万文 約340万語 約5万語 料理メニュー 約25万文 約670万語 約8万語 旅行 約19万語 約480万語 約8万語

(32)
(33)

2-gram vs. 3-gram vs. 4-gram (1)

Kneser-Ney: 料理レシピ/料理レシピ 30   40   50   60   70   80   90   100   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   Pe rp le xi ty 2-­‐gram   3-­‐gram   4-­‐gram  

(34)

2-gram vs. 3-gram vs. 4-gram (2)

Modified Kneser-Ney: 料理レシピ/料理レシピ 40   50   60   70   80   90   100   Pe rp le xi ty 2-­‐gram   3-­‐gram   4-­‐gram  

(35)

2-gram vs. 3-gram vs. 4-gram (3)

Witten-Bell: 料理レシピ/料理レシピ 30   40   50   60   70   80   90   100   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   Pe rp le xi ty 2-­‐gram   3-­‐gram   4-­‐gram  

(36)

2-gram vs. 3-gram vs. 4-gram (4)

まとめ

• 2-gram >>>>> 3-gram > 4-gram。3-gramと4-gramの差は小さい。 • 音声認識業界で言われている通り、3-gramで十分な性能が出る。

• スムージング手法については、Kneser-Ney, Modifiled Kneser-Ney, Witten-Bellの順で良好。 • スムージング手法による差はそれほど大きくなく、コーパスの規模による差の方が大きい。

【注意】

あくまでPerplexity のみによる評価です!

(37)
(38)

学習コーパスと評価コーパスの相性

(1)

Kneser-Ney: 料理レシピ/料理レシピ 50   70   90   110   130   150   Pe rp le xi ty 2-­‐gram   3-­‐gram   4-­‐gram   相性が良い!

(39)

学習コーパスと評価コーパスの相性

(2)

Kneser-Ney: 料理レシピ/料理メニュー 30   50   70   90   110   130   150   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   Pe rp le xi ty 2-­‐gram   3-­‐gram   4-­‐gram   相性が良い?

(40)

学習コーパスと評価コーパスの相性

(3)

Kneser-Ney: 料理レシピ/旅行 50   70   90   110   130   150   Pe rp le xi ty 2-­‐gram   3-­‐gram   4-­‐gram   相性が悪い?

(41)

学習コーパスと評価コーパスの相性

(4)

まとめ • 「料理レシピ」と「料理メニュー」の様に近い話題でも、同一話題の1.5倍程度のPeplexityになる。 • 「料理レシピ」と「旅行」の様に遠い話題では、同一話題の2倍以上のPerplexityになる。 • Perplexityは話題の近い・遠いを十分に示す。 • 話題の遠い・近いに関係なく、コーパスの大規模化によりPerplexityは小さくなる。

(42)
(43)

音声認識デモンストレーション

デモンストレーション環境

音声認識エンジン:

• Julius ver.4.1.5 http://julius.sourceforge.jp/

言語モデル: • SRILM ver.1.5.10 • 32000語 • 前向き2-gram+後ろ向き4-gram • Modified Kneser-Ney 学習コーパス 内容 文数 形態素数 異なり形態素数 (1-gram) blog記事 約1300万文 約3.2億語 約60万語 【参考】 1991 2002年の 毎日新聞で3.4億程度。

(44)

ご挨拶

さいごに

参照

関連したドキュメント

C =&gt;/ 法において式 %3;( のように閾値を設定し て原音付加を行ない,雑音抑圧音声を聞いてみたところ あまり音質の改善がなかった.図 ;

本稿 は昭和56年度文部省科学研究費 ・奨励

6 Scene segmentation results by automatic speech recognition (Comparison of ICA and TF-IDF). 認できた. TF-IDF を用いて DP

音節の外側に解放されることがない】)。ところがこ

・中音(medium)・高音(medium high),および最

[形態コード P117~] [性状 P110~] [分化度 P112~]. 形態コード

 TV会議やハンズフリー電話においては、音声のスピーカからマイク

Classroom 上で PowerPoint をプレビューした状態だと音声は再生されません。一旦、自分の PC