Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第6回
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
miyanishi
February 11, 2013
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第6回
文節最小法を用いたべた書き日本語文の形態素解析
miyanishi
February 11, 2013
More Decks by miyanishi
See All by miyanishi
平成27年度最終ゼミ
miyanishi
0
100
文献紹介1月
miyanishi
0
200
文献紹介12月
miyanishi
0
260
文献紹介11月
miyanishi
0
270
文献紹介10月
miyanishi
0
210
文献紹介(2015/09)
miyanishi
0
230
文献紹介8月(PPDB)
miyanishi
0
350
文献紹介15年08月
miyanishi
0
250
15年7月文献紹介
miyanishi
0
270
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Building AI with AI
inesmontani
PRO
1
1.3k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
WCS-LA-2024
lcolladotor
0
880
A Tale of Four Properties
chriscoyier
163
24k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Documentation Writing (for coders)
carmenintech
77
5.6k
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%