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
130
第6回
文節最小法を用いたべた書き日本語文の形態素解析
miyanishi
February 11, 2013
Tweet
Share
More Decks by miyanishi
See All by miyanishi
平成27年度最終ゼミ
miyanishi
0
85
文献紹介1月
miyanishi
0
190
文献紹介12月
miyanishi
0
240
文献紹介11月
miyanishi
0
250
文献紹介10月
miyanishi
0
190
文献紹介(2015/09)
miyanishi
0
220
文献紹介8月(PPDB)
miyanishi
0
330
文献紹介15年08月
miyanishi
0
240
15年7月文献紹介
miyanishi
0
260
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How to Think Like a Performance Engineer
csswizardry
27
2.2k
Making Projects Easy
brettharned
120
6.4k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Into the Great Unknown - MozCon
thekraken
40
2.1k
The Cult of Friendly URLs
andyhume
79
6.6k
Thoughts on Productivity
jonyablonski
72
4.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
The Pragmatic Product Professional
lauravandoore
36
7k
KATA
mclloyd
PRO
32
15k
Mobile First: as difficult as doing things right
swwweet
225
10k
How STYLIGHT went responsive
nonsquared
100
5.9k
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%