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
© Copyright 2024 Paperzz