日本語解析ツール - 茶筌 - 奈良先端科学技術大学院大学

September 5, 2006
日本語解析ツール「茶筌」「南瓜」および
解析済みコーパス管理ツール「茶器」の
紹介
松本裕治, 浅原正幸
奈良先端科学技術大学院大学
情報科学研究科
言語解析ツールと言語資源管理
機械学習に基づく言語処理ツール
„
形態素解析システム「茶筌」 [Asahara 00][松本00, 04]
Š 多言語化:日本語,英語,中国語
„
„
„
日本語係り受け解析システム「南瓜」 [Kudo 02]
英語,中国語の係り受け解析器[Yamada03,Cheng04]
汎用チャンカー YamCha
Š 固有表現抽出[Asahara 03]
Š 未知語抽出システム bar [浅原04]
タグ付きコーパス/辞書の管理システム
„
„
タグ付きコーパス検索・管理システム:茶器
[Matsumoto06]
茶筌用辞書の検索管理システム:Cradle
CL-LAB
茶筌による日本語の分かち書きと品詞付与
私は新しく建った図書館へ行った
tokenization
私
は
代名詞 助詞
新しく
形容詞
連用形
新しい
建っ
た
動詞 助動詞
連用形 基本形
図書館
へ
名詞
助詞
建つ
分かち書き (tokenization)
品詞付与
活用形
原形
行っ
た
動詞 助動詞
連用形 基本形
行く
図書
Noun
館 複合語
Suf (辞書内で定義)
CL-LAB
南瓜による文節まとめ上げと係り受け解析
文節まとめ上げ
私
は
代名詞 助詞
新しく
形容詞
連用形
建っ
た
動詞 助動詞
連用形 基本形
図書館
名詞
へ
助詞
行っ
た
動詞 助動詞
連用形 基本形
係り受け解析
CL-LAB
個々のシステムで用いている技術
茶筌
„
隠れマルコフモデル(確率モデル)
基本句解析・文節分かち書き・未知語・固有表現
の抽出
„
„
汎用チャンカー YamCha による系列タグ付け
Support Vector Machinesによる学習に基づく
南瓜とその他の係り受け解析器
„
Support Vector Machinesによる段階的解析
茶器+Cradle
言語処理システムは,すべて正しく解析された
„
MySQLによるコーパス管理+検索インタフェース
データを用いた機械学習に基づいている
CL-LAB
個々のシステムで用いている技術
茶筌
„
隠れマルコフモデル(確率モデル)
基本句解析・文節分かち書き・未知語・固有表現
の抽出
汎用チャンカー YamCha による系列タグ付け
„ Support Vector Machinesによる学習に基づく
正しく解析されたデータを管理し,かつ,
南瓜とその他の係り受け解析器
解析誤りの修正をサポートするシステム
„ Support Vector Machinesによる段階的解析
„
茶器+Cradle
„
MySQL*によるコーパス管理+検索インタフェース
*無償の関係データベースシステム
CL-LAB
言語処理ツールと管理システムの全体像
大規模テキストデータ
(新聞記事,Webテキスト)
言語処理ツール
言語処理ツール
茶筌・南瓜
固有表現タガー
未知語抽出
機械学習
管理ツール
タグ付きコーパス
管理:茶器
辞書管理ツール
Cradle
言語資源
タグ付きコーパス
辞書
CL-LAB
代表的なシステムと応用の紹介
1. 茶筌:日本語形態素システム
2. 南瓜:日本語係り受け解析システム
3. 茶器:タグ付きコーパス管理システム
CL-LAB
茶筌と南瓜の特徴
茶筌
„
„
„
隠れマルコフモデルに基づく確率値計算(これをコスト
へ変換:コスト=確率値の逆数の対数)
品詞bigram(品詞の連接確率)を基本とし,語彙化や
部分的trigram(3品詞の連接確率)を利用
動的計画法により最小コストの品詞列を決定
南瓜
„
„
Support Vector Machinesに基づいて係り受け関係の
有無を学習
係り受け解析木を上昇型に段階的に構築
いずれも大規模なタグ付きコーパスからの学習に基づく
CL-LAB
確率最大化に基づく形態素解析
入力文(w1,n=w1,w2,…,wn)が与えられた時に、各単語の
品詞(s1,n=s1,s2,…,sn)を求めたい。
確率に基づく方法では、入力文に対して生起確率が最大
となる品詞列を求める
入力文が与えられた時に、品詞が
s0,n+1 である確率
(条件付確率の定義)
上の式で、s0 および sn+1 は、文頭および文末を表す
特別な品詞
CL-LAB
前のページの式のそれぞれの項を以下のように簡単化する
CL-LAB
前の式の中のそれぞれの確率は、次のようにして見積もる
CL-LAB
確率値からコストへの変換
確率値最大の品詞列を求める問題を、確率値の対数を
とることで、最小の対数値を求める問題に変更できる
結果として得られるのは、対数値の和の最小化問題
CL-LAB
茶筌の解析アルゴリズムの基本
統計的なモデル:
arg max ∏in=1 P(ti | h(ti−1, ti−2 ))P(wi | ti )
T =t1,..tn
最小コストモデル:
arg min ∑in=1[log1 P(ti | h(ti − 1, ti − 2)) + log1 P(wi | ti)]
T =t1,..,tn
遷移コスト
単語のコスト
h(ti − 1, ti − 2)
は,直前2単語の品詞列から定義される
文脈情報
最小コストモデルのlogの底は,最小の確率値に対する
log(1/p)が8000程度になるように設定
CL-LAB
最大確率の品詞列を求めることは、以下のような可能性の
うち、最小コストの経路を求めるのと同じ問題
CL-LAB
茶筌の辞書システムの構成
利用者定義可能ファイル
訓練用ファイル
文法ファイル
grammar.cha
ctypes.cha
cforms.cha
訓練用
コーパス
品詞定義
ファイル
活用型
定義
活用形
定義
統計的
学習器
コスト付き
形態素辞書
connect.cha
辞書
接続定義
テーブル
検索用
辞書
接続
マトリックス
システムファイル
茶筌の辞書システムの構成
利用者定義可能ファイル
利用者が自由に定義(追加)できる
訓練用ファイル
文法ファイル
grammar.cha
ctypes.cha
cforms.cha
訓練用
コーパス
品詞定義
ファイル
活用型
定義
活用形
定義
統計的
学習器
コスト付き
形態素辞書
connect.cha
辞書
接続定義
テーブル
検索用
辞書
接続
マトリックス
システムファイル
訓練用ファイルから自動的に学習される
辞書が持っている情報
形態素辞書(Noun.dicなど)
„
„
„
単語の情報(見出し表記,読み,品詞,…)
活用語については,語幹を登録(語幹がないものは,
すべての活用形を展開して登録)
各単語のコスト(通常はコーパス中の頻度から計算)
活用辞書
„
„
活用型の一覧(ctypes.cha)
各活用型に対応する活用語尾の一覧(cforms.cha)
接続テーブル(connect.cha)
„
品詞間の接続コスト(単語間で定義されることもある)
CL-LAB
茶筌が行っている処理の流れ
1. 入力された文の先頭から辞書にマッチする語を
検索
„
検索された語が活用語の語幹の場合は,直後の文
字列とマッチする活用語語尾を探し,可能な活用形
をすべて求める.
2. 各単語の切れ目から新たに辞書にマッチする
語を検索
3. 単語と単語の接続部分について,品詞間で定
義されたコストを求める
4. 単語と接続コストの和が最小の単語列を探索
する
CL-LAB
品詞の定義(品詞定義ファイル)
階層的な品詞定義: 品詞の総数 = 72
(名詞
(一般)
(固有名詞
(一般)
(人名
(一般)
(姓)
(名))
(組織)
(地域
(一般)
(国)))
(代名詞
(一般)
(縮約))
(副詞可能)
(サ変接続)
(形容動詞語幹)
...
(接頭辞
(名詞接続)
(動詞接続
(形容詞接続)
(数接続))
(動詞 %
(自立)
(非自立)
(接尾))
(形容詞 %
(自立)
(非自立)
(接尾))
(助詞
(格助詞
(一般)
(引用)
(連語))
(接続助詞)
...
(% は活用語を表す)
CL-LAB
活用する品詞に対する活用型の定義
活用型定義ファイル
((動詞 自立)
(カ変・クル
カ変・来ル
サ変・スル
一段
五段・カ行イ音便
五段・カ行促音便
... ))
...
• 活用する品詞ごとに活用型を
定義できる
• 活用型の総数
= 68
((形容詞 自立)
(形容詞・アウオ段
形容詞・イ段
不変化型))
CL-LAB
活用型に対する活用形の定義
活用形定義ファイル
(一段
( ; (語幹
*
)
(基本形
る ル )
(未然形
*
)
(未然ウ接続 よ ヨ )
(連用形
*
)
(仮定形
れ レ )
(命令yo
よ ヨ )
(命令ro
ろ ロ )
(仮定縮約1 りゃ リャ)
(体言接続特殊 ん ン ))
)
…
• 各活用型に対して活用形名と
語尾の一覧を定義できる
• 語尾と読み(発音)を定義する
• 辞書に載っている形から基本
形の語尾を切り取ったものを
語幹と考える
• 茶筌は,文を解析中に活用語
の語幹を発見すると,その場
で語尾処理を行う
CL-LAB
動詞の活用型の例
食べる(活用型: 一段)
活用語尾
食べる
食べる
(基本形)
る
食べ
(未然形)
φ
(食べない)
食べ
(連用形)
φ
(食べます)
食べれ
(仮定形)
れ
(食べれば)
食べよ
(未然ウ接続)
よ
(食べよう)
食べろ
(命令ro)
ろ
食べよ
(命令yo)
よ
食べりゃ
(仮定縮約1)
りゃ
食べん
(体言接続特殊) ん
CL-LAB
活用語尾の扱い方
1. 活用語尾を形態素として辞書に登録
2.
利点: 活用語尾のための特別な処理が不要
欠点: 不必要な曖昧性が生じる可能性
現在の茶筌
活用語の語尾処理をその場で行う の処理方法
辞書には活用語の語幹だけを登録
利点: 曖昧性の減少
欠点: 特別な処理を解析器が行う必要が生じる
3. 活用語の活用形をすべて辞書に登録
利点: 特別な処理が不要
欠点: 辞書への登録語が増加
今後の茶筌
の方針
CL-LAB
茶筌の性能
辞書のサイズ: 約24万語
処理速度: 15万語/秒
(XEON 2.4GHz,Linux)
毎日新聞2003年(108MB=5400万文字≒3000万語)
を約3分15秒で解析
精度(学習コーパスを交差検定した参考値:F値)
最上位の
分かち書き
品詞情報
精度(F値)
99.12
98.70
全ての
品詞情報
97.81
CL-LAB
日本語係り受け解析システム「南瓜」
Support Vector Machines (SVMs) を用い
た学習に基づく係り受け解析器
SVM の分類アルゴリズムの高速化手法で
ある PKE を適用
上昇型で決定性の解析アルゴリズム
(Cascaded Chunking Model)
解析中に得られた係り関係を素性として考
慮する「動的素性」を利用
CL-LAB
南瓜による文解析例
入力文
係り受け木
文節区切り
BIOタグによる
固有表現同定
CL-LAB
南瓜の解析手法の変遷
初代:南瓜以前
„
SVMにより擬似確率値を求め,確率ベースのパージ
ングアルゴリズムにより実装
旧南瓜:Cascade Chunkingに基づく
„
„
SVMを決定的解析に利用
3次の多項式カーネル
現在の南瓜:素性マイニングによる高速版(v0.5)
„
SVM学習後のサポートベクターから3次までの有効組
合せ素性をマイニングすることにより,SVMを線形化
(数十倍の高速化を達成)
CL-LAB
初期のシステム(確率ベース)との
性能比較
データセット
標準
大規模
モデル
Cascaded
Chunking
Probabilistic
Cascaded
Chunking
Probabilistic
係り受け精度
(%)
89.29
89.09
90.45
N/A
文正解精度
(%)
47.53
46.17
53.16
N/A
学習データの
文数
7,956
7,956
19,191
19,191
110,355
459,105
251,254
1,074,316
8
336
48
N/A
0.5
2.1
0.7
N/A
学習事例数
学習時間
(時間)
解析時間
(秒/文)
CL-LAB
初期版と高速版南瓜との性能比較
解析時間
(秒/文)
PKB (base line)
PKE (σ=.01)
PKE (σ=.005)
PKE (σ=.001)
PKE (σ=.0005)
.285
.0042
.0060
.0086
.0090
速度向
上比
1.0
66.8
47.8
33.3
31.8
解析精度
(%)
89.29
88.91
89.05
89.26
89.29
CL-LAB
茶器:コーパス管理・検索システム
タグ付きコーパスのデータベース管理
„
既存のデータベースシステム(MySQL)を使用
種々の検索
„
文字列検索,単語(列)検索,係り受け構造検索
タグ付きコーパスと辞書の連携
„
„
コーパスは辞書へのポインタとして管理
コーパス/辞書の修正が他方へ同期して反映
コーパスのタグ付け誤りの修正
„
形態素レベル,(係り受けレベル)
辞書項目の追加修正:Cradle
CL-LAB
茶器(ChaKi)の構成
文書データ
(文集合)
言語解析ツール
(茶筌, 南瓜など)
/ 手作業による解析
解析済み +
テキスト
辞書
ChaKi
検索と
誤り修正
関係データベース
(MySQL)
CL-LAB
茶器の現在の機能
形態素解析,品詞タグつきコーパス (日, 中, 英)
検索機能
„
„
„
文字列 (正規表現) 検索
形態素情報(品詞,読み,活用など)を用いた単語列
検索
係り受け構造検索
統計機能
„
単語の頻度統計,共起頻度統計
修正機能
„
検索結果の一括修正(形態素情報,係り受け情報)
CL-LAB
文字列検索の例
target string
CL-LAB
単語検索
search pattern specification
CL-LAB
共起頻度の表示
target specification
collocation counts
CL-LAB
係り受け検索
specification of
dependency structure
search results
CL-LAB
係り受け木の表示と修正インタフェース
CL-LAB
茶筌と南瓜に関する情報
ホームページ:
„
„
茶筌:http://chasen.naist.jp/hiki/ChaSen/
南瓜:http://chasen.org/~taku/software/cabocha/
茶筌の紹介と学習法についての資料:
„
„
松本:形態素解析システム「茶筌」 ,情報処理, Vol.41, No.11,
pp.1208-1214, November 2000.
浅原,松本:形態素解析のための拡張統計モデル,情報処理学会論文
誌, Vol.43, No.3, pp.685-695, March 2002.
南瓜のアルゴリズムと高速化法についての資料
„
„
工藤,松本:チャンキングの段階適用による係り受け解析」,情報処理
学会論文誌, Vol 43, No. 6 pp. 1834-1842, June 2002.
工藤,松本:カーネル法を用いた言語解析における高速化手法 ,情報
処理学会論文誌, Vol.45, No.9, pp.2177-2185, September 2004
茶筌と南瓜による文解析についての解説記事
„
松本,高岡,浅原,工藤:茶筌と南瓜による日本語解析--構文情報を用
いた文の役割分類,人工知能学会誌, Vol.19, No.3, pp.334-339, May
2004.
CL-LAB
茶器の情報
文部科学省科学研究費補助金 基盤研究B「言語研究のための
コーパスの作成と利用に関する研究(15300046)」(2002-2005年
度)による支援
メンバー:松本裕治,浅原正幸(奈良先端大),橋本喜代太(大阪府
大),投野由紀夫(明海大),大谷朗(大阪学院大),森田敏生(総和
技研)
奈良先端大の支援メンバー:乾健太郎,宮本エジソン,高岡一馬,
工藤拓,高橋由梨加,東藍,Campbell Hore,渡邊陽太郎
関連文献:
„
„
Yuji Matsumoto, et al, “An Annotated Corpus Management Tool:
ChaKi,” Proceedings of the 5th International Conference on
Language Resources and Evaluation, Genoa, Italy, May 2006.
松本裕治, 浅原正幸, 橋本喜代太, 投野由紀夫, 大谷朗, 森田敏生,
「タグ付きコーパス管理/検索ツール『茶器』 」, 言語処理学会第12回
年次大会論文集, pp.460-463, March 2006.
公開ページ
„
http://chasen.naist.jp/hiki/ChaKi/
CL-LAB