Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ngram kana-kanji conversion with grammatical annotations

2,168 views

Published on

  • Be the first to comment

Ngram kana-kanji conversion with grammatical annotations

  1. 1. 用言活用を考慮した N-gramかな漢字変換 真鍋 宏史12年12月28日金曜日
  2. 2. N-gram かな漢字変換 • 必要なノードを残して枝刈り • 高次の N-gram • 短単位の語幹と語尾を切り離したかな-表記ペア、形態素情報なし 例: [ほん/本] [を/を] [か/買] [い/い] [た/た] [い/い] • 去年の発表(Python 実装)、その後 C++ に N-gram データ構造の見直し、ブルームフィルタの導入 省サイズ化・高速化12年12月28日金曜日
  3. 3. 問題点 • 文節区切りがない • 異表記に一貫性を持たせられない • コーパスにない用言を登録できない12年12月28日金曜日
  4. 4. 文節区切り • 文節区切りがない ねこをかいたい→ ○猫を 飼いたい ×猫 を 飼 い た い • 「飼いたい」を修正したい場合: - 目的の場所への移動が直感的でない(右ボタン一回で移動したい) - 「飼」の別候補として「蚊」のようなものはいらない -「かいたい」全体に対する「解体」のような候補もほしい12年12月28日金曜日
  5. 5. 異表記の一貫性 • [メガネ]→めがね/メガネ/眼鏡、[オモイコム]→思い込む/思いこむ -コーパス内では不統一 -そのまま N-gram に→前後の文脈に影響される 例: メガネヲカケル: 眼鏡をかける メガネヲカウ: メガネを買う • ユーザの好みによって統一したい -「眼鏡をかける」と変換→「眼鏡を買う」 -「思い込んだ」と変換→「思い込まない」 -「思いこむ」と変換→「思いこまない」12年12月28日金曜日
  6. 6. 追加用言 • IME には単語登録が必須 -体言: 単純に追加 -用言: 活用形を考慮する必要 • 「ポチる」を登録 →「ポチラナイ」「ポチリマス」「ポチッタ」などが変換できなければいけ ない12年12月28日金曜日
  7. 7. 対策 • 文節区切り→形態素情報 • 異表記の一貫性→「語彙素」 • 用言の追加→用言を原形と活用形に分解12年12月28日金曜日
  8. 8. 形態素情報 • BCCWJ の形態素情報を利用 • [ホン/本/名詞][ヲ/を/助詞][カウ/買う/動詞] →本を 買う • 自立語と、それに続く非自立語で文節を構成12年12月28日金曜日
  9. 9. 語彙素 • BCCWJ で採用 • 眼鏡・メガネ・めがね→[メガネ/眼鏡](語彙素) (読みと漢字表記のペア) • 語彙素の N-gram を構築 • まず語彙素列に変換、それから語彙素に対する優先表記に変換(学習可能) メガネヲカケル→[メガネ/眼鏡][ヲ/を][カケル/掛ける] [メガネ/眼鏡]→眼鏡・メガネ・めがね [ヲ/を]→を [カケル/掛ける]→掛ける・かける12年12月28日金曜日
  10. 10. 用言の扱い • 原形と活用形に分解する 買えば: [買う][仮定][ば] 買いたい: [買う][連用][たい][終止] • N-gram を有効活用できる -「本を買った」と「本を買いたい」: [本][を][買う][テ形][た][終止] [本][を][買う][連用][たい][終止] -「本を読みたい」と「本を買いたい」: [本][を][読む][連用][たい][終止] [本][を][買う][連用][たい][終止]12年12月28日金曜日
  11. 11. N-gram モデルへの組み込み • 用言活用をどうやって N-gram に組み込むか - 元コーパスの用言を分解、N-gram モデルの構築 - デコード(かな漢字変換)時に用言辞書を参照12年12月28日金曜日
  12. 12. 元コーパスの用言を分解 • 元コーパスは形態素解析済み 「本を買いたい」 [本 名詞][を 助詞][買い 動詞 原形:買う 連用][たい 助動詞 原形:たい 終止] →[本][を][買う][連用][たい][終止] • 用言を原形と活用形に単純に分解する12年12月28日金曜日
  13. 13. デコード(かな漢字変換) • 用言の活用形を展開して trie を構築 [カク 書く 五段-カ行]→ カカ:[書く][未然] カキ:[書く][連用] カク:[書く][終止] ... • デコード時に共通接頭辞検索 イキル→ イ: [いる][連用] イキ: [行く][連用] イキ: [生きる][未然] イキル: [生きる][終止] ...12年12月28日金曜日
  14. 14. ラティスの構築 • 生の用言が活用形以外に接続してはいけない イクヒト: ×[行く][人] ○[行く][連体][人] • 活用タイプの同じものに接続する活用形はひとつのノードにまとめたい 活用タイプの違うものは接続できない 例: カイ 買う(五段-ワア行) 連用 飼う(五段-ワア行) × 書く(五段-カ行) テ形 掻く(五段-カ行)12年12月28日金曜日
  15. 15. アイデア • 用言は特殊な位置で終わるとし、活用形はその位置から始まるとする -「カイ」に対するノード [買う]: 「位置 0」から始まり「位置 2 活用形 五段-ワア行」で終わる [連用]: 「位置 2 活用形 五段-ワア行」から始まり「位置 2」で終わる [書く]: 「位置 0」から始まり「位置 2 活用形 五段-カ行」で終わる [テ形]: 「位置 2 活用形 五段-カ行」から始まり「位置 2」で終わる • 可能動詞・テ形の問題12年12月28日金曜日
  16. 16. 可能動詞: 問題 • すべての五段動詞は可能動詞にできる (追加用言も変換できなければいけない: ポチる→ポチれる) • かな単位では分解できない(ikeru: ik-er-u) • 別用言とすると N-gram が有効活用できない 例: [すらすら][書く] [すらすら][書ける]12年12月28日金曜日
  17. 17. 可能動詞: 対策 • 書ける→[書く][可能] と解析 すらすら書く: [すらすら][書く][終止] すらすら書ける: [すらすら][書く][可能][終止] 書けそうにない: [書く][可能][そう][に][ない] 読めそうにない: [読む][可能][そう][に][ない] • 動詞辞書に登録 イケ: [行く][仮定] [行く][命令] [行く][可能][未然] [行く][可能][連用] ...12年12月28日金曜日
  18. 18. テ形: 問題 • 「て(で)」に接続する形(「書い」「読ん」「持っ」) • 「て」「た」「たり」「ちゃう」等の限られたものにしか接続しない • 五段ナ・マ・ガ・バ行に接続すると濁音になる (死んで・読んだ・注いだり・飛んじゃう 等) • 清音のものと濁音のものは同じ役割12年12月28日金曜日
  19. 19. テ形: 対策 • テ形は特殊な位置とする 例:「カイテ」 [書く]: 「位置 0」から始まり「位置 2 活用形 五段-カ行」で終わる [テ形]: 「位置 2 活用形 五段-カ行」から始まり「位置 2 テ形-清音」で終わる [て]: 「位置 2 テ形-清音」で始まり、「位置 3」で終わる 例:「ヨンデ」 [読む]: 「位置 0」から始まり「位置 2 活用形 五段-ガ行」で終わる [テ形]: 「位置 2 活用形 五段-ガ行」から始まり「位置 2 テ形-濁音」で終わる [で]: 「位置 2 テ形-濁音」で始まり、「位置 3」で終わる • テ形接続の濁音は、デコード時に清音に正規化12年12月28日金曜日
  20. 20. 単純なラティス: 「カイタイ」 位置: 0 位置: 1 位置: 3 位置: 4 位置: 2 買 胃 い 飼 い 胃 た 書 掻 鯛 貝12年12月28日金曜日
  21. 21. 用言活用を考慮したラティス: 「カイタイ」 位置: 0 位置: 2 活用型: 11(五段-ワア行) 位置: 2 位置: 4 活用型: 31(形容詞) 位置: 4 買う 連用 たい 連体 飼う 位置: 2 活用型: 31 位置: 2活用型: 1(五段-カ行) 活用型: 33 (助動詞-タ) 位置: 3 終止 (テ形-清音) 連体 書く た 終止 掻く テ形 胃 他 貝 鯛 解体12年12月28日金曜日
  22. 22. 用言活用を考慮したデコード例: 「カケナイ」 位置: 0 位置: 2 活用型: 1(五段-カ行) 位置: 2 書く 命令 位置: 4 活用型: 31(形容詞) 位置: 4 掻く 可能 終止 未然 ない 位置: 3 連体 掛ける 連用 欠ける テ形 胃 な 位置: 2 活用型: 17(一段) 内 位置: 2 活用型: 33(テ形-清音)12年12月28日金曜日
  23. 23. 変換例 • ボクトウミニイカナイカ ボク/僕/代名詞/ ト/と/助詞-格助詞/ ウミ/海/名詞-普通名詞-一般/ ニ/に/助詞- 格助詞/ イク/行く/動詞-非自立可能/2 未然形-一般 ナイ/ない/助動詞/I 終止形- 一般 カ/か/助詞-終助詞/ • イエヲカイタイ イエ/家/名詞-普通名詞-一般/ ヲ/を/助詞-格助詞/ カウ/買う/動詞-一般/; 連用 形-一般 タイ/たい/助動詞/O 終止形-一般 • ビルヲカイタイ ビル/ビル/名詞-普通名詞-一般/ ヲ/を/助詞-格助詞/ カイタイ/解体/名詞-普通名 詞-サ変可能/12年12月28日金曜日
  24. 24. 長所・短所 • 長所 - 手作業での調整が基本的に必要ない - 高精度のコーパスを使えば高精度の変換ができる - モデルサイズが調整可能(N-gram プルーニングの閾値を設定) • 短所 - 手作業で変換を調整するのが難しい - コーパスの精度に影響される - ある程度のモデルサイズは必要(10MB∼) - 変換速度(190文字の文の変換に 3秒程度)12年12月28日金曜日
  25. 25. 難しいところ • 動詞の語彙素: 例「あう」 -BCCWJ: 「合う」「会う」 -使用実態: 「合う」「会う」「遭う」 -語源: すべて同じ • 「彼に 言う」「彼という 人」 -BCCWJ では区別なし、同一語彙素 -前者は自立・漢字表記、後者は非自立・かな表記 • その他、BCCWJ の性質・品質による問題点が多々12年12月28日金曜日
  26. 26. 共起 • N-gram のスパースさ 「月が欠ける」: BCCWJ にない • 離れた関係「ネコヲイツカカッテミタイ」 • カテゴリーに基づく共起処理が必要(未実装)12年12月28日金曜日
  27. 27. ToDo • 追加用言と活用語尾の連接 -そのままでは高コスト • 語彙素に対する候補の列挙 • IME として実装(mozc?) • いろいろな調整(記号・数字の扱い etc.)12年12月28日金曜日

×