Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第6回
Search
miyanishi
February 11, 2013
0
120
第6回
文節最小法を用いたべた書き日本語文の形態素解析
miyanishi
February 11, 2013
Tweet
Share
More Decks by miyanishi
See All by miyanishi
平成27年度最終ゼミ
miyanishi
0
76
文献紹介1月
miyanishi
0
160
文献紹介12月
miyanishi
0
210
文献紹介11月
miyanishi
0
240
文献紹介10月
miyanishi
0
190
文献紹介(2015/09)
miyanishi
0
220
文献紹介8月(PPDB)
miyanishi
0
330
文献紹介15年08月
miyanishi
0
230
15年7月文献紹介
miyanishi
0
250
Featured
See All Featured
Being A Developer After 40
akosma
67
580k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
22
1.4k
In The Pink: A Labor of Love
frogandcode
138
21k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
Building Your Own Lightsaber
phodgson
100
5.7k
The Mythical Team-Month
searls
217
42k
Six Lessons from altMBA
skipperchong
22
3k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
Transcript
宮西 由貴 文節最小法を用いた べた書き日本語文の形態素解析
英語と日本語 英語 単語区切り(空白が区切り文字) 形態素解析:品詞の特定 日本語
複数文節区切り(読点などが区切り文字) 形態素解析:文字の並びを単語の並びとして認定 文節内の単語間の連接規則が必要 =文節構造規則(実現も可能) 入力文がかなもしくはローマ字:あいまいな解析結果
従来の技術 かな漢字変換 文節単位で分かち書きする等 制限を付加 文節のとらえが明確でないものがある (例)形式名詞、補助用言、複合語
入力文を制限するのは難しい 形態素解析 最長一致法が主流 最長一致が正解に近いという根拠が無い 結果があいまいな場合:全体の尤度によって順序付け不可
文節数最小法 日本語文の統語規則 文を構成する文節間の係り受け構造規則 2つの文節間の意味的呼応関係を規定するもの 文節を構成する単語の文節構造規則
単語の並びを規定するもの 文節数最小法 文節数が少ない構造を選ぶ方が正しい可能性大 係り受け構造規則を満たす=正しい日本語文 結果の尤度を文節数を用いて評価 文節構造規則を満たす構造が複数ある場合
文節数最小法のオーダー アルゴリズム:表形式 入力文字列の長さ:n 最悪の場合のステップ数&メモリ数:(2) 文節数が最小となる解析だけ: ()
注意事項と基礎的な定義 注意:接辞は省略する 自立語+接辞=1つの自立語 とする 議論の一般性は失わない(例外を出さない) n:入力文字列の長さ
s:入力文字列 w:単語 s(i):先頭からi番目の文字(1≦i≦n)
基礎的な定義 wの単語構造:3項系列(W,H,K) W:wの綴り(活用形の場合は終止形の綴り) H:品詞の綴り K:活用情報の綴り (例)「単語」&「呼ぶ」の単語構造
(単語,名詞,-)(呼ぶ,5段動詞,未然形)
述語の定義 述語WS(i, j ,a) sの部分列=s(i+1)s(i+2)…s(j)に対して w= s(i+1)s(i+2)…s(j)が存在する
wの単語構造がaである 述語J(a) 単語構造aが自立語の単語構造 述語E(a) 単語構造aの単語が文節末の語になりうる 述語C(a1,a2) 単語w1(a1)と単語w2(a2)の連接が可能
文節構造規則の定義 整数i0,i1,i2,…,im :i0(=0)<i1<…<im(=n) 単語構造a1,a2,…,im WS(i(l-1),il,al) (l=1,2,…,m)
J(al) C(a(l-1),al) (l=2,3,…,m) E(am) 入力された記号列sは文節をなす
述語ℭと述語LB 述語ℭ(a,b) 以下のいずれかと等価 C(a,b) E(a)かつJ(b)
述語LB WS(0,j,a)かつJ(a)であることはLB(0,j,a,1)と等価 LB(i1,i2,a,k)かつWS(i2,i3,b)かつℭ(a,b)ならば LB(i2,i3,b,k+δ(b))である δ(a):0=¬J(a), 1=J(a) LBは以上で定義されるものだけ
文節構造 文節列の次数k:文節列の文節数に相当 入力文字列sの部分列b=s(1)s(2)…s(j) i,k,aが存在してLB(i,j,a,k)の場合 bは次数kの左文節列をなす、という
E(a)である単語列aがある場合 bは次数kの文字列をなす、という bの文節構造:3項系列の列 (i0,i1,a1)(i1,i2,a2)…(i(m-1),im,am)
集合の定義 集合Γ(i) (0≦i≦n-1) 集合Γ(i)を求める =s(i+1)s(i+2)…s(n)の最左部分列としての 単語の単語構造をすべて求めること 集合Γ(i)を求めるルーチンは今回説明なし
アルゴリズム(概要) パーズ・リスト作成アルゴリズム ラティスを作っていくような処理 パーズ・リスト:部分リストI1,I2,…Inの全体 文節構造の抽出
最適解を選ぶ処理 述語J,C 単語構造の評価のために定義 述語J:品詞のみ評価 述語C:前後の単語の品詞、活用情報の3組を評価
パーズ・リストの作成 入力:n長さの記号列s 出力:パーズ・リスト I1,I2,…,In ステップ1 集合Γ(0)を求める
Γ(0)の要素(0,j,a)について、J(a)ならば(0,a,1)を部分リストへ i=1にして次へ ステップ2 i=n:アルゴリズム終了 i≠nかつIi=Φ:iに1を足してステップ2へ i≠nかつIi≠Φ:集合Γ(i)を求める
パーズ・リスト作成の例 0 き1 ょ 2 う 3 の 4 ゆ
5 う 6 は 7 ん 8 ステップ1 Γ(0)=(0,3,a) (0,3,a):今日、京、鏡など… I3=(0,a,1) ステップ2(1) i≠nかつI1=Φ⇒i=i+1 ステップ2(2) i≠nかつI3≠Φ⇒Γ(3)を求める Γ(3)=(3,4,b) (3,4,b)=の、野など I4=(3,b,1) ※自立語じゃないのでk=1のまま
成り立つ定理 項目(i,a,k)がIjに属すること=LB(i,j,a,k) (i,a,k)∈InかつE(a)⇒sは次数kの文字列をなす パーズ・リストを参照すれば文節構造が分かる パーズ・リストアルゴリズムのオーダー
ステップ数&メモリ数(最悪): (2)
文節構造の抽出 入力文字列の文節構造を取り出す条件 (i,a,k)∈InかつE(a)を満たすi,k,aが存在する Inを検索⇒kの小さいものを選ぶ⇒遡っていく 入力:パーズ・リストI1,I2…In、次数m
出力:入力文字列sの(次数mの)文節構造 R:計算状況 (i,a,k)で表現する
文節構造の抽出 ステップ1 E(a)を満たす項目(i,a,m)が部分リストInに存在するか 存在する:(i,n,a)を出力&R=(i,a,m-δ(a)) ステップ2へ 存在しない:終了(エラー)
ステップ2 R=(j,a,k)としたとき j=0:終了(正常) J≠0: 0≦i<jのi、ℭ(b,a)となるb、整数kでなる(i,b,k)をIjから検索 R=(i,b,k-δ(b))としてステップ2へ
実験 アルゴリズム 文節数最小法において文節数が同じ解が複数 (1)自立語の次の語は付属語、付属語の次の語は自立語優先 (2)活用語を優先
評価の順は(1),(2)の順 最長一致法において長さが同じ候補が複数 (1)自立語より付属語優先 (2)入力文字列における単語の長さが長いもの優先 (3)活用後を優先 評価の順は(1),(2),(3)の順
実験 入力文 武者小路実篤「人生論」から1000文 平仮名表記のべた書き 一文の平均の長さ=44文字
20字程度に読点で分割 注意点 正解=入力文の原文と一致する解析 原文との比較は品詞、活用情報のみ 入力文「きかい」⇒機械なのか機会なのかは判断できず
実験結果 文節数最小法の有効性 文節数最小の解析の中に正解が存在=960文 すべての文において 文節数最小orその次に少ない解析に正解あり! 能率の比較
縦軸:メモリ数 横軸:入力文長 点線:最長一致 実線:文節数最小
実験結果 最初に出力された解析の誤り率 縦軸:入力文字列長に対する誤り部分長 横軸:入力文長 文 節 数
最 小 法 最 長 一 致 法
実験結果 尤度について(尤度による順位づけ能力の比較) 正解に対して付与された順位を比較 入力文:300文 文節数最小法:8位以内にほとんど正解あり
最長一致法:8位以内に正解は100文未満
最長一致法との比較 能率 定義した文節構造規則に基づいた解析 最長一致法:ステップ数はO() c:定数 文節数最小法:ステップ数はO
2 誤り率 正解=入力文の原文と一致する解析 最長一致法:12.4% 文節数最小法:7.0%