テキスト生成モデルによる日本語形態素解析

BERT[1]等の汎用言語モデルは言語の基礎的な解析においても威力を発揮している[2,3]．汎用言語モデルの強力な文脈処理能力を利用すると，単語分割や品詞付与等の日本語形態素解析のサブタスクは単純なトークン分類問題として定式化できる．単語分割であれば各文字にB，Iを，品詞付与であれば各サブワードに品詞ラベルを付与すれば良い．この手法は辞書引きに基づいてラティスを構築する従来手法と比べて単純だが，高い精度を達成している．しかし，形態素解析のすべてのサブタスクがトークン分類問題として定式化しやすいわけではない．読み，原形等はラベル集合が開放的だからである．応する読みのサブワード（「きょうと」）が存在しなかった場合，複数のサブワード（「きょう」，「と」）で読みを表現する必要があり，入力と出力が一対一対応の分類モデルでは対処できない．単語の原形や代表表記2）でもこうした問題は存在する.統合的日1）https://github.com/ku-nlp/kwja2）各単語に対して与えられたID．同一の語の表記揺れには同一の代表表記が与えられる．代表的な表記とその読みのペアで「京都/きょうと」のように表記される．１つの⼊⼒サブワード（＝京都）に対して複数のサブワードの読み（＝きょう，と）を対応させられないときょう読み分類モデル京都京都京都京都京都本語解析器であるKWJA1.0[3]3）ではこうした問題に対して，タスクごとにルールや辞書引き等で個別に対応しており，開発の負担や新語への対応等に課題が残る．本研究では，トークン分類問題としては扱いづらい形態素解析の一部のサブタスクを，注釈付与コーパスから直接的に学習したテキスト生成モデルで解く手法を提案する．具体的には，入力文から見出し語（分かち書きされた単語），読み，原形，代表表記を所定のフォーマットに基づきend-to-endで生成する．エンコーダ・デコーダモデルを用いたテキスト生成は，サブワードの入出力が一対多（もしくは多対一）となっている場合でも対処できる．また，タスクごとに固有の処理を行う必要がなく，実装を単純化できる．実験の結果，提案手法は実装とタスク設計の単純化に成功しつつ，分類モデルを用いた従来の解析器より，特に読みと代表表記を高い精度で推定できることが分かった．ただ，入力文に含まれない文字列が見出し語として解析結果に出てきてしまう例が少数だが確認された．そこで，見出し語を生成する際は入力文に含まれる文字列（サブワード）のみを生成するようにモデルの出力を補正する，見出し語強制デコーディングを提案する．この手法により提案手法のさらなる改善が見られた．さらに，かな表記入力の曖昧性解消についても検3）執筆時点でのバージョンは1.2.2であり，このバージョンのKWJAをKWJA1.0と表記する．.形態素解析単語列解析結果#S-ID:202301101738-0-0kwja:1.2.2今日きょう今日名詞6時相名詞10*0*0"代表表記:今日/きょうカテゴリ:時間"ははは助詞9副助詞2*0*0"代表表記:は/は"晴れはれ晴れ名詞6普通名詞1*0*0"代表表記:晴れ/はれv自他動詞:他:晴らす/はらす反義:動詞:曇る/くもる連用形名詞化:晴れる/はれる"だだだ判定詞4*0判定詞25基本形2"代表表記:だ/だ"EOS今⽇は晴れだ品詞・活⽤読み原形意味情報︙討する．例えば「こうえん」は文脈によって「公園」と「講演」のどちらにもなりうる．コーパス中にはこういったかな表記の単語が少ないため，漢字表記の単語を曖昧性のあるかな表記に置き換えることで疑似データを作成し，学習・評価に使用した．実験の結果，置き換えた単語について曖昧性解消の精度が大きく向上することを確認した．