3-7

⾔語・知識東京⼤学 数理・情報教育研究センター
2021年4⽉1⽇

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

1

概要
•

⼈間の知的活動に関わる⼈⼯知能技術の中で⾔語・知識に関わる技術について理解する．

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

2

本教材の⽬次
1. ⾔語・知識3

2. コーパス6

3. 分かち書き・形態素解析

84. かな漢字変換

185. 構⽂解析20

6. ⽂書単語⾏列・⽂書間類似度

23

7. ⾔語知識30

8. ⾔語モデル35

9. 機械翻訳40

10. ⾃然⾔語⽣成45

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

3

1. ⾔語・知識

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

⾔語・知識•⾃然⾔語処理はコンピュータによる⾃然⾔語（英語や⽇本語）の処理と理解を⽬的としています．

•

⾃然⾔語処理の技術は現在，以下のような様々な領域において活⽤されています．
•
•
•
•
•
•
•
•
•

情報検索
情報抽出
⽂書⾃動分類⽂書⾃動要約
機械翻訳
質問応答システム
対話システム
評判分析
ソーシャルメディア分析 など
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

5⾔語・知識•⾃然⾔語処理は以下のような処理を含み，これらの処理は近年，⼤規模なデータと機械学習技術に基づいて⾏われます．
形態素解析• ⽂を単語に分割し，各語に品詞や活⽤形を付与• ⼈名や地名などの単語の固有表現の認識を伴うこともある•

構⽂解析（係り受け構造や句構造の解析）• ⽂の語句間の修飾関係を解析•

格解析（述語項構造解析）• ⽂の項と述語の関係を解析•

⽂脈解析
• ⽂間の関係を解析• 照応解析（照応詞が参照する先⾏詞の同定）• ⽂をまたがった語句の関係を解析• 談話構造解析• ⽂や節の間の意味的な関係を解析

東京⼤学 数理・情報教育研究センター

東京⼤学 数理・情報教育研究センター
森 純⼀郎 2021 CC BY-NC-SA
4-4.
4-4. 時系列データの解析
時系列データの解析

6

2. コーパス

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析コーパス• ⽬的に応じて収集された（加えて⾔語的な解釈の情報が付与された）⽂書の集合をコーパスと呼びます．⾃然⾔語処理ではコーパスを活⽤した解析が⾏われます．
•••

例：国⽴国語研究所の⽇本語コーパス• 話し⾔葉・会話コーパス• https://pj.ninjal.ac.jp/corpus_center/• ウェブコーパス• https://pj.ninjal.ac.jp/corpus_center/nwjc
例：ブラウンコーパス• 新聞，書籍，雑誌などから集めれたコーパス• http://korpus.uib.no/icame/manuals/BROWN/INDEX.HTM
例：ウェブページのコーパス• 7億の英語ウェブページ• https://lemurproject.org/clueweb12/• APIを利⽤してデータを収集してコーパスを構築することもできます．
•

例：国会議事録検索のAPI• https://kokkai.ndl.go.jp/api.html
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

8

コーパス
•

コーパスに対して⾔語的な解釈に関する情報が付与されたものを注釈
付与コーパス（タグ付きコーパス）と呼びます．

•

⾔語的な解釈には，単語区切り，品詞，語義，固有表現，構⽂（句構造，依存構造），述語項構造，照応・共参照関係，談話構造，などが含まれます．
• 例：京都⼤学テキストコーパス• ⽇本語新聞記事の語に品詞情報や構⽂情報を付与したコーパス• https://github.com/ku-nlp/KyotoCorpus• 例：Penn Treebank• 英語新聞記事の語に品詞情報や構⽂情報を付与したコーパス• https://catalog.ldc.upenn.edu/LDC99T42•

⼤規模な注釈付与コーパスは統計や機械学習のアプローチに基づく⾃然⾔語処理において広く活⽤されています．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

93. 分かち書き・形態素解析

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

分かち書き（単語分割）• テキストを「トークン」と呼ばれる表現要素の最⼩単位の集合に分割す
ることを分かち書き（単語分割）と呼びます．単語に限らずテキストを構成する記号や数字などもトークンとなりえます．
• 英語の場合，テキストをスペースやカンマで区切れば単純な分かち書きをすることができます．
ʻBeware the ides of Marchʼ→[ʻ Beware ʼ, ʻ the ʼ, ʻ ides ʼ, ʻ of ʼ, ʻ March ʼ]

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

11

分かち書き（単語分割）• ⽇本語の場合は句読点以外はスペースやカンマのような明確な区切りはテキストにないため，何らかの処理によりテキストを分割する必要があります．
• 国会図書館が作成する書誌データの標⽬の読みに⽤いるための分かち書きの基準として以下のように⽰されています．
“分かち書きは，検索語となる⾃⽴語を対象とする．⽇本語の場合は，⽇本語として不⾃然でない意味のまとまりで分かち書きを⾏う．
外来語の場合は，当該⾔語の単語分割により分かち書きを⾏う．”
https://www.ndl.go.jp/jp/data/catstandards/yomi/word_division_Apr2008.html

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

12形態素• ⾔語学では意味を持つ表現要素の最⼩単位は形態素と呼ばれます．より
直感的には形態素は，名詞，動詞，形容詞，副詞，前置詞の品詞や語形・活⽤形などの⽂法的役割を表す語のクラスを表します．
• 語は1つ以上の形態素から構成されます．
• 形態素を表すタグを品詞（POS: Part of Speech）タグと呼びます．
• 例えば，名詞であれば単数名詞はNN，複数名詞はNNS，固有名詞はNPというタグでそれぞれ表されます．
• その他，VB:動詞現在形，JJ:形容詞，RB:副詞，など• Penn Treebankに付加されたPOSタグの例•

https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

13形態素解析
• テキスト（単位として⽂）をトークンに分割し，各トークンに品詞や語形・活⽤形などの情報を付与する処理を形態素解析と呼びます．
• 形態素解析では与えられたトークンの系列に対して尤もらしい形態素タ
グの系列を予測するという系列ラベリング問題を解きます．

名詞-動詞-前置詞-冠詞-名詞
より尤もらしい （光陰⽮の如し）
動詞-名詞-前置詞-冠詞-名詞（⽮のようにハエを測る）「Time flies like an arrow」

名詞-名詞-動詞-冠詞-名詞（時ハエは⽮を好む）
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

14⽇本語の形態素解析•

⽇本語の形態素解析では辞書を参照しながら⽂から単語を取り出し，それらの連接の可能性を確認していくため以下の辞書を⽤います．
•••

単語辞書：単語の品詞，読みや活⽤形を定義
連接可能性辞書：連接可能な2つの単語または品詞・活⽤のタイプを定義

辞書を元にして⽂の形態素解析の候補となるラティス構造を作ります．
• 単語辞書にマッチする⽂字列に対応するノードを作る• 連接可能辞書を元に対象⽂字列の前後に連接しうる⽂字列のリンクを作る「東京都へ⾏く」のラティス構造
東京
（名詞）

都
（名詞）

へ
（名詞）
⾏く
（動詞: いく）

⽂頭
（BOS）
東
（名詞）

京都
（名詞）

⽂末
（EOS）

へ
（助詞）

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

15⽇本語の形態素解析••

⽂頭から⽂末に⾄るリンクで接続されたノードの系列（パス）は語の並びに対応しており，⽂の解釈を表します．
形態素解析では，ノードとリンクに与えられたコストを元に，それらのコストの和が最⼩となるようなパス（最適パス）を求めます．
• コストは⼀般に⼤規模なコーパスを元にした学習により与えます•

⼀般にパスの組み合わせは膨⼤となるためビタビアルゴリズムのような動的プログラミングを元にして効率的に最適パスを求めます．
コストが最⼩（1+1+1+2+1+1+1+3+１）のパス：「東京| 都 | へ | ⾏く」
1
1

⽂頭
（BOS）

東京
（名詞）

2
1

都
（名詞）

へ
（名詞）

1

5

3

1
3

1

5

東
（名詞）

1

1
1

京都
（名詞）

1

⾏く
（動詞: いく）

1

へ
（助詞）

1

⽂末
（EOS）

1

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

16

補： 機械学習と⾔語処理•

形態素解析の系列ラベリング問題における系列のような構造を学習す
ることを構造学習と呼びます．構造には⽊やグラフなども考えられます．
• 確率モデルを⽤いた構造学習では，観測xが与えられた時の構造yの条件付き確率p(y|x)が最⼤となる構造を求める問題を解きます• ⽣成モデルを⽤いる場合は，観測xと予測する構造yの同時確率p(x,y)が最⼤となる構造を求める問題を解きます•

系列ラベリング問題では，隠れマルコフモデル(HMM: Hidden
Markov Model) ，条件付き確率場(CRF: Conditional Random Field) ，などの機械学習⼿法が⽤いられます．

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

17⽇本語の形態素解析
形態素解析の例：
⼊⼒：「テキストもデータであることを理解する．」
形態素解析の結果：
テキスト 名詞,⼀般,*,*,*,*,テキスト,テキスト,テキスト
も助詞,係助詞,*,*,*,*,も,モ,モ
データ
名詞,⼀般,*,*,*,*,データ,データ,データ
で助動詞,*,*,*,特殊・ダ,連⽤形,だ,デ,デある
助動詞,*,*,*,五段・ラ⾏アル,基本形,ある,アル,アルこと
名詞,⾮⾃⽴,⼀般,*,*,*,こと,コト,コト
を助詞,格助詞,⼀般,*,*,*,を,ヲ,ヲ理解
名詞,サ変接続,*,*,*,*,理解,リカイ,リカイ
する
動詞,⾃⽴,*,*,サ変・スル,基本形,する,スル,スル．
記号,句点,*,*,*,*,．,．,．
例えば，形態素解析の結果から「テキスト」，「データ」，「こと」，「理解」を抽出して，⽂の名詞を対象に解析することができます．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

18未知語とユーザ定義辞書•

形態素解析の単語辞書に登録されていない単語を未定義（または未知）語と呼びます．未定義語は多くの場合，固有名詞（⼈名，地名，組織名など），専⾨⽤語，新語や造語です．

•

単語辞書に新たに単語を追加する，または独⾃にユーザ定義辞書を作成する場合は，以下のように単語の情報を定義します．

•

⾒出し語

読み

品詞

活⽤型

活⽤形

基本形

⼈⼯知能

じんこうちのう

名詞

-

-

-

⾛る

はしる

動詞

五段・ラ⾏ 終⽌形

⾛る

未知語をすべて⼿動で単語辞書に追加していくのは現実的でないため，
例えばウェブから収集した情報を元に辞書を⾃動的に拡充することも⾏
われます．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

19⽇本語形態素解析のツール•

MeCab• https://taku910.github.io/mecab/•

Chasen• https://chasen-legacy.osdn.jp/

•

JUMAN
• https://nlp.ist.i.kyoto-u.ac.jp/?JUMAN

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

20

4. かな漢字変換

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析かな漢字変換• かな漢字変換では，⼊⼒された「かな」のべた書きテキストを解析して，単語の区切りを⾒つけ出し，必要な部分を漢字に変換します．
• かな漢字変換では単語の区切りを⾒つけるのに形態素解析の考え⽅を応⽤することができます．
• ⼀⽅，かなから漢字へ変換する際はテキストの意味や⽂脈に応じて漢字を選択する必要があります．
• 単純な漢字変換はあらかじめ決められた規則を元に漢字候補の優先度を計算することで⾏います．
• 単語の使⽤頻度，単語間の共起関係などの情報を元に，よりテキス
トの意味や⽂脈を考慮した漢字変換を⾏うこともできます．

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

22かな漢字変換• かな漢字変換を⾏う⽇本語⼊⼒システムとしてIME（インプットメソッ
ドエディタ）があります．最近では⼊⼒を予測しながら⽀援する⼊⼒予測機能を利⽤することもできます．
IMEによるかな漢字変換

⼊⼒予測機能東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

23

5. 構⽂解析

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

構⽂解析
•

⽂の構造を構⽂と呼びます．構⽂は⼀般に⽊構造によって表されます．

•

⽂節の係り受けは基本的な構⽂となります．

•

係り受け構造は⼀般には依存構造と呼ばれ，依存構造を表す⽊を依存構造⽊と呼びます．
• 依存構造⽊は語や⽂節をノード，それらの間の依存関係をリンク，として表した⽊です．

•複数の語・⽂節をまとめて句として，また，複数の句をまとめて新たな句とすることで⽂の構造を表したものを句構造と呼びます．
• 句構造を表す⽊では，語は⽊の葉に対応し，葉と根の中間のノードは品詞や句の種類に対応します．
• 句構造を表す⽊のノードの親⼦関係やノードの分岐は⽂法（⽂の構造を規定するもの）の規則を表しています．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

25

構⽂解析
•

句構造のような⽂の構造を（複数の構⽂の可能性の中から）決めることを構⽂解析と呼びます．
S (sentence)
VP

NP

•

NP

Pron

V

I

have

DET N
a

句構造規則
S → NP VP
VP → V NP
NP → DET N…

pen

構⽂解析では⽂法を満たすような⽂の構造を求めます．
• 例えば，チョムスキー標準形の⽂脈⾃由⽂法に基づく句構造規則を考えるとCKY法により構⽂解析を⾏うことができます．

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

26

構⽂解析
•

CKY法では，⽂の構造に曖昧性（複数の構⽂の可能性）がある場合，⽂法を満たす構⽂の候補が求められます．

•

構⽂の候補の中から妥当な構⽂を選ぶ際には，例えば修飾の表現など
語や句の結びつきを⼿がかりとして実際の⾔語の使われ⽅に即した構⽂を選択することが考えられます．

•

例えば，⼤規模な⾔語データを元に，機械学習を⽤いて主辞（係り受け構造における係り先）と修飾語（係り受け構造における係り元）の依存関係のスコアを計算することで，構⽂の候補の中から妥当な構⽂を選択することができます．

•

⽇本語の構⽂・係り受け解析器• KNP: https://nlp.ist.i.kyoto-u.ac.jp/index.php?KNP• Cabocha: https://taku910.github.io/cabocha/
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

27

6. ⽂書単語⾏列・⽂書間類似度

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

⽂書単語⾏列• 形態素解析などの処理によりテキストを分割すると，以下のように複数のテキスト（⽂書）を表（テーブル）の形で表すことができます．この表を⽂書単語⾏列と呼び，⾏はテキスト，列は単語に対応します．
• ⽂書単語⾏列の値は，あるテキスト（⾏）にある単語（列）が現れる（1）・現れない（0）の2値，またはテキスト中の単語の頻度（出現頻度）で表します．

テキスト AI

解析

データ

テキストを解析するAI

1

1

1

0

テキストデータを解析する

1

0

1

1

テキストもデータである

1

0

0

1

*各テキストの名詞のみを抽出

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

29

⽂書単語⾏列• ⽂書単語⾏列の列に対応する単語は以下に留意しながら，なるべくテキストで重要と考えられる単語を⽤います．
• 助詞や助動詞などの機能語を⽤いるか• ⾼頻度で出現する⼀般的な単語を⽤いるか• 極端に出現頻度が低い単語を⽤いるか• ⽂書単語⾏列の値は，出現頻度だけでなくテキストにおけるその単語の重要度を数値化したもので表すこともあります．
• 代表的な重要度としてtf-idfがあります．
• tf-idfは単語の出現頻度（tf）にその単語を含むテキスト数の逆数（idf）を掛け合わせた値です．idfは具体的には以下で定義されます．
•

idf=log2(すべてのテキスト数/単語を含むテキスト数)+1*値が⼤きくなりすぎないようにlogをとります

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

30

⽂書単語⾏列• 例：以下の3つの⽂が与えられた時のtf-idfの例•「テキストを解析するAI」の単語「AI」のtf-idf値は，tfが1，idfがlog2(3/1)+1のため，1×(log2(3/1)+1)=2.585•「テキストもデータである」の単語「データ」のtf-idf値は，tfが1，idfがlog2(3/2)+1のため，1× (log2(3/2)+1)=1.585
テキスト

AI

解析

データ

テキストを解析するAI

1

2.585

1.585

0

テキストデータを解析する

1

0

1.585

1.585

テキストもデータである

1

0

0

1.585

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

31

⽂書ベクトル• ⽂書単語⾏列の⾏は，その⾏に対応する⽂書をその⽂書における各単語の重要度を要素とするベクトル（⽂書ベクトル）で表したものとみることができます．
• 例：テキストにおける各単語の出現頻度を重要度とすると， 「テキスト」，「AI」，「解析」，「データ」の単語のベクトル空間において，各⽂のベクトルは以下のようになります．
テキスト

AI

解析

データ

テキストを解析するAI

1

1

1

0

テキストデータを解析する

1

0

1

1

テキストもデータである

1

0

0

1

•
•
•

テキスト1:「テキストを解析するAI」→ d1 = (1,1,1,0）
テキスト2:「テキストデータを解析する」 → d2 = (1,0,1,1）
テキスト3:「テキストもデータである」 → d3 = (1,0,0,1）
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

32

⽂書間類似度• ⽂書間の類似度は，各⽂書を表すベクトル間の類似度として計算することができます．
• ベクトル間の類似尺度して，コサイン類似度を⽤いることができます．
• コサイン類似度は2つのベクトルの内積をそれぞれの⻑さで割ったものです．
• コサイン類似度が⾼いほどそれらの⽂書は関連度が⾼いと考えられ
ます．
ベクトル
内積

ベクトルの⼤きさ

コサイン類似度（θは2つのベクトルのなす⾓）
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

33

⽂書間類似度• ⽂書間類似度の例→ d1 = (1,1,1,0）• テキスト1:「テキストを解析するAI」• テキスト2:「テキストデータを解析する」 → d2 = (1,0,1,1）→ d3 = (1,0,0,1）• テキスト3:「テキストもデータである」• テキスト1とテキスト2のコサイン類似度• テキスト1とテキスト3のコサイン類似度• 「テキスト」，「AI」，「解析」，「データ」の単語のベクトル空間においてはテキスト1はテキスト3よりもテキスト2と類似していると⾔えます．

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

34補：語の類似度•

語の類似度は，同じような⽂脈に現れる語同⼠は類似している，という分布仮説の考えに基づいて求められます．

•

語が現れる⽂脈はその語と関連する（よく共起するような）語で表す
ことができます．
• 関連語は相互情報量などの尺度を元に求めることができます．
• 単語とそれらの関連語を⾏列で表したものを単語⽂脈⾏列と呼びます．

•

分布仮説に従えばお互いの関連語（単語⽂脈⾏列の⾏同⼠）が類似していればそれらの語は類似しているといえます．
• cos類似度やJaccard係数，Simpson係数，Dice係数などの類似尺度を元に語の類似度を求めることができます．

•

単語⽂脈⾏列を⾏列分解して獲得した語のより低次な表現を元に語の類似度を求めることも⾏われます．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析35

7. ⾔語知識

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

⾔語知識•

⾔語データから⾔語処理に利⽤可能な知識を獲得することを⾔語知識獲得と呼びます．またそれらの知識は知識表現で記述されます．

•

⾔語知識には，語彙，⽂法，語の意味（語が表現する概念）の関係，
同義・類義性，多義性，格フレーム，⽂間の含意関係，⽂間の因果関係，⽂の極性，常識的知識 などがあります．

•

近年は⼤規模な⾔語データからこれらの⾔語知識を⾃動で獲得し、またそれらを⾔語処理に活⽤することも⾏われています．

•

特に語や概念の関係を整理した代表的な⾔語知識として以下が挙げられます．
• シソーラス・語彙的オントロジー• 意味ネットワーク• 知識グラフ
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析37

シソーラス•語（語によって表現される概念）の関係を体系的に整理した辞書をシソーラスと呼びます．
• 上位・下位関係，類義・反義関係，全体・部分関係 など•

概念のさまざまな関係の記述も含めて体系的に整理したものを特に語
彙的（⾔語的）オントロジーと呼びます．

•

代表的なシソーラスとしてWordNetがあります．
• WordNetではsynsetと呼ばれる同義語の集合を基本単位として，そのsynsetと上位・下位関係，全体・部分関係がある他のsynsetが記述されています．
• 英語：https://wordnet.princeton.edu/• ⽇本語：http://compling.hss.ntu.edu.sg/wnja• ⽇本語のシソーラスとして，この他に，EDR概念辞書，⽇本語語
彙体系などがあります．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

38

意味ネットワーク•

知識をノード（概念やそのインスタンス，実体）とリンク（概念間の関係）からなるネットワーク（有向グラフ）で表したものを意味ネッ
トワークと呼びます．
• 例えば，概念が持つ属性や概念間の関係として上位・下位関係，全体・部
分関係などが定義されます．

•

コンピュータが処理可能なように知識を表現する意味ネットワークは
対象世界の知識の表現，⽂の意味の表現，連想関係の表現，などに利⽤されています．
• 意味ネットワークを⽂の意味表現に⽤いることで，例えば「誰が」（主格），「いつ」（時間格），「どこで」（場所格），「何を」（⽬的格），
といった格の関係を動詞を中⼼として表現することができます．
• このような意味ネットワーク（格フレーム）は⾔語の処理に活⽤することができます．

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

39

知識グラフ•実体（エンティティ）とそれらの関係を，<主語，述語，⽬的語>の3つ組（トリプル）を⽤いて表現したものを知識グラフ（ナレッジグラ
フ）と呼びます．
• 知識グラフは意味ネットワークに制約を付加した知識表現として元々は提案されていましたが，現在は構造化された⼤規模な知識ベースを指すことが多いです．

•

現在の知識グラフを⽀える技術として，情報をトリプルとして記述するための枠組みであるRDF（resource description framework）やそのような構造化された情報を公開・活⽤する仕組みであるLOD（Linked Open Data）があります．

•

知識グラフの例としてWikipediaの情報を構造化しLODにした
DBPediaやWikipediaのように共同編集可能なWikidataなどがあります．
• DBPedia: http://ja.dbpedia.org/•

知識グラフは検索エンジンや質問応答などで活⽤されています．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

40

知識グラフWikidataの「natural language processing」のページ“subclass of”という関係にある概念

https://www.wikidata.org/wiki/Q30642
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

41

8. ⾔語モデル

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

⾔語モデル• コーパスにおける⽂や表現の出現確率（⽂や表現が使われる確からしさ）を与える統計的なモデルを⾔語モデルと呼びます．
• 特に確率的な⾔語モデルではコーパスを元に⾔語モデルを学習し，⽂字あるいは単語列に対して確率を与えることでその⾔語らしさを推定することができます．
• 単語列の場合は⽂や⽂書（⽂字列の場合は単語）について，対象⾔語においてより⾃然なものに⾼い確率を与えます．
• 単純な確率的⾔語モデルとしてn-gram⾔語モデルがあります．
• 単語n-gram⾔語モデルでは単語列の各単語は直前のn-1語に依存して現れるとして，コーパスにおける頻度情報を元に単語の⽣起確率を計算します．
• n-gram⾔語モデルは⽂や表現の出現確率（⽂や表現が使われる確からしさ）の計算に使われます．

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析

43

⾔語モデル•

例えば，単語n-gram⾔語モデルでは，1単語（ユニグラム），2単語（バイグラム），3単語（トライグラム），といった連続するn単語を単位としてコーパス内のそれらの頻度を数えます．
⽂「データを解析する」のバイグラムによる出現確率の計算の例
P(データを解析する)= P(データ|BOS)P(を|データ)P(解析|を)P(する|解析)
P(単語i|単語i-1)はコーパスにおける単語iの頻度に対して単語iと単語jが隣接して出現する頻度の割合を元に計算できる• 以下ではGoogle Booksをコーパスとしたn-gramの統計情報を⾒ることができます．
•

https://books.google.com/ngrams

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

44

ニューラル⾔語モデル•

ニューラル⾔語モデルでは単語列を時系列とみなし，単語を分散表現（n個の実数の組みからなるベクトル）として表し，時系列上で単語を予測することで⾔語モデルを学習します．
• この時，単語の分散表現はニューラルネットワークのパラメータを学習することで獲得されます（表現学習）．
• 分散表現の学習によって，⾔語表現（その背後にある情報）を低次元のベクトルとして表すことができます．
• 単語のほか，句，⽂，段落，⽂書レベルの分散表現の学習も可能です．
単語wjの確率ニューラルネットワークによる
出⼒層
⾔語モデル（バイグラム）の学習（単語wiから単語wjの予測）

語彙数分のノード

層間の重み付き結合
単語の分散表現（ベクトル）

中間層
層間の重み付き結合
⼊⼒層
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

0

1

単語w

0

4-4.
4-4. 時系列データの解析
時系列データの解析 i

…

…

0

0

語彙数分のノード045

補：表現学習と単語の分散表現•

事象や概念などの離散的な対象，具体的にはテキスト，画像，時系列などのデータ，の特徴（表現）を学習することを表現学習と呼びます• 表現学習では特徴を分散表現 (distributed representation)と呼ばれるベク
トル（ベクトルの各次元は⼀般に実数値をとる）として学習します．

•

ニューラル⾔語モデルでは単語の予測を通して単語の分散表現を学習しています．
• ⼊⼒の単語に対応した⼊⼒層のノードから中間層への結合重みとして，⼊⼒の単語の分散表現を獲得することができます．

•

単語の分散表現をより効率的に求めるツールとして「word2vec」があります．
• word2vecでは単語の⽂脈から単語を予測（または単語からその⽂脈の単語を予測）するようなニューラルネットワークを学習します．
• より具体的にはCBoW とskip-gramという2種類のモデルがあります．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

46

ニューラル⾔語モデル•

ニューラル⾔語モデルのニューラルネットワークの構造として⾃⼰ループを導⼊した再帰的なニューラルネットワーク（RNN: Recurrent
Neural Network）を⽤いることで，より⻑い系列の⾔語モデルを扱うことが可能になりました．ニューラル⾔語モデルは例えば機械翻訳や⾃然⾔語⽣成などへ応⽤される⾔語モデルとなりました．

•

単語（あるいは⽂）の分散表現，再帰的なニューラルネットワークを⽤いたニューラル⾔語モデルは現在さまざまな⾃然⾔語処理のタスクにおいて活⽤されています．
再帰的ニューラルネットワーク
出⼒層
層間の重み付き結合

層間の重み付き結合

層間の重み付き結合

層間の重み付き結合

層間の重み付き結合

層間の重み付き結合

中間層

⼊⼒層

0

1

0

単語wi

東京⼤学 数理・情報教育研究センター

0 …

0

0

0

0

0

1

0 …

単語wj

0

0

0

0

4-4.
4-4. 時系列データの解析
時系列データの解析
東京⼤学 数理・情報教育研究センター
森 純⼀郎 2021 CC BY-NC-SA

0

0

1 …

単語wk

0

0

0

47

9. 機械翻訳

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析機械翻訳•

ある原⾔語から別の⽬的⾔語への機械的処理による翻訳を機械翻訳と
呼びます．

•

機械翻訳の研究は半世紀にわたる歴史がありますが，90年代以降は⼤規模な対訳データ（対訳コーパス）を元に，原⾔語の⽂と⽬的⾔語の⽂の語の対応や語の順番を統計的に学習する⽅法である統計的機械翻訳が主流となりました．

•

統計的機械翻訳は雑⾳のある通信路モデルに基づいています．
• ある原⾔語の⽂sに対して可能なさまざまな⽬的⾔語の翻訳⽂tを列挙し，それらへ翻訳される確率を求めます．この確率を最⼤化する（誤りを最⼩化する）ような翻訳⽂t*を求めます．
t* = argmaxt P(t|s) = argmaxt P(s|t)P(t)/P(s) = argmaxt P(s|t)P(t)

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

49

機械翻訳
•

統計的機械翻訳は雑⾳のある通信路モデルに基づいています．
• 原⾔語の⽂sは⽬的⾔語tに雑⾳がのって観測されたと考えます．
• この時，⽂sから元の⽂tへ復元（暗号を解読）することが翻訳となります
t* = argmaxt P(t|s) = argmaxt P(s|t)P(t)/P(s) = argmaxt P(s|t)P(t)• P(t): ⽬的⾔語の⽂tが⽣成される確率（⽂tの尤もらしさ）（⾔語モデ
ルで計算できます）．
• P(s|t): ⽂tが⽂sに翻訳される確率．原⾔語と⽬的⾔語の語の統計的な対応を元に近似します．より⼀般的にはこの確率を最⼤化するように
対訳コーパスを元に教師なし学習を⾏います．

•

⽂sが⽂tに翻訳される確率P(t|s)を複数の関数の組み合わせによってモデル化することもできます．この時，翻訳品質を数値化した評価尺度（BLEU）を元に，評価尺度が最⼤となるように学習を⾏うことができます．
• あらかじめ原⽂を⼈間が翻訳した参照訳を数種類⽤意しておき，翻訳⽂との類似度をはかることによって翻訳品質を数値化したものをBLEUと呼びます．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

50

ニューラル機械翻訳•

深層学習技術の発展により，ニューラルネットワークを⽤いた機械翻訳⼿法（ニューラル機械翻訳）は，それまでの翻訳精度を⼤きく向上
させ，機械翻訳の実⽤化につながりました．

•

ニューラル機械翻訳では対訳ペアなどの明⽰的な対応関係を表現する
代わりに，2⾔語の対応付けをベクトルによって表現し，この表現をニューラルネットワークによりデータから学習することで単⼀のモデ
ルで機械翻訳を実現します．
• モデルはエンコーダ・デコーダモデル（あるいは系列・系列モデル）と呼ばれ，エンコーダを通して原⾔語の⼊⼒⽂を分散表現で表現し，デコーダにより⽬的⾔語の出⼒⽂（⻑さは逐次可変）を⽣成します．
• エンコーダ，デコーダにはそれぞれ再帰的ニューラルネットワーク（RNN）を⽤い，⼤規模な対訳データを元にして⼊⼒・出⼒となる単語の系列の表現を学習します．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

51

ニューラル機械翻訳
⽬的⾔語の出⼒⽂

⼊⼒⽂の分散表現
this

エンコーダ RNN

isapen <EOS>

デコーダ RNN

これ は

ペン

です

<BOS> this

is

a

pen

原⾔語の⼊⼒⽂より実⽤的には• ⽂頭から⽂末だけでなく⽂末から⽂頭という逆⽅向のモデル化も⾏います．
• RNNのほか，系列の情報の流れをより詳細に制御するLSTMやGRUなどのモデ
ルも⽤いられます．
• ⼊⼒⽂の単語列のどの部分に着⽬するかを考慮する注意 (attention) 機構も併せて⽤いられます．
東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

52

ニューラル機械翻訳
Google翻訳の例

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA
東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析5310. ⾃然⾔語⽣成

東京⼤学 数理・情報教育研究センター

4-4.

時系列データの解析⾃然⾔語⽣成•機械翻訳では原⾔語を⼊⼒として⽬的⾔語を出⼒しています．⼊⼒を⾔語に限らず，ある情報（例えば画像）を元に⾃然⾔語に変換して出⼒することを⾃然⾔語⽣成と呼びます．
• 例えば，画像を⼊⼒として⾔語を出⼒とする⾃然⾔語⽣成では⼊⼒の画像のキャプションを⽣成することができます•

⾃然⾔語⽣成したテキストは⽬的に応じて，⾃然さ・簡潔さ，可読性，
正確性，結束性，⼀貫性，ドメインや⽬的への適合性，などを備えている必要があります．

•

⾃然⾔語⽣成を含むさまざまな⾔語処理タスクにおいて近年，注意機構に基づいたモデルであるTransformerが利活⽤されています．
巨⼤な事前学習TransformerモデルのGPT-3 (Generative Pre-trained
Transformer)は⾃然なテキストを⽣成できることでさまざまな応⽤が期待される⼀⽅でフェイクニュースなど悪意ある利⽤について議論が起こっています．

•

東京⼤学 数理・情報教育研究センター 森 純⼀郎 2021 CC BY-NC-SA

東京⼤学 数理・情報教育研究センター

4-4.
4-4. 時系列データの解析
時系列データの解析

55