CEDEC 2022 の「AIによる自然言語処理を活用したゲームシナリオの誤字検出への取り組み」で誤字検出方法が解説されてました。
セッションタイトルにある AI の部分は BERT 使った誤字検出の話で、サクッと実装は難しそうなので、比較的簡単そうな「補助動詞の漢字」「ら抜き言葉」の検出を実装しました。
実はこのセッションは昨年の CEDEC 2021 の続編で、昨年の内容も一部検証実装してました。
そのときの記事はこちらです。
「CEDEC でやってた表記ゆれ検出をお試し実装してみた」
今回の実装は昨年書いた tails-of-words に機能追加として実装してます。
なんですが、昨年のアップデートかつ実装難度としても高くないのであまりここに書くことがありません。。
(どういうロジックなのかは割とまんまな記事が出るのでそちらか、おそらく CEDiL に資料公開されると思うのでそちらを見て下さい。)
ら抜き言葉検出の改良
強いて書くとすると「ら抜き言葉」の検出がセッションのとは少し異なるくらいですね。
セッションでは「ら抜き言葉」の誤検出の例として以下のテキストがでてました。
- 写真撮ってきたから見れ!
- あれ?あれれれ?
- 今こそ来たれ!
まず資料の通りに実装した場合の結果がこちら
なんだろなにもしなくても誤検知パターンを回避してるケースがあるな。前処理の違い? pic.twitter.com/FEH4HTW2Wp
— ずみっくす(黄色) (@srz_zumix) September 4, 2022
なぜか1つ目と2つ目は「ら抜き言葉」とは判定されない解析結果でした(つまり誤検出しない)。
ツイートでは前処理の違いかもと言ってますが、 jumanpp に渡す前にテキストの正規化をしているのでもしかしてその違いがあるのかも?と思ったのですが、前処理で変化するような入力テキストではないので違いました。
使っている jumanpp or 辞書の違いでしょうか。(確認できないので、深追いはしない)
では、「今こそ来たれ!」ですが「れ」の直後の品詞が「特殊」となってます。
セッションで誤検出の例として上がったものすべて「特殊」品詞が直後にあるので、このパターンを「ら抜き言葉」から除外すれば良さそうです。
セッションで誤検出の例として上がったものすべて「特殊」品詞が直後にあるので、このパターンを「ら抜き言葉」から除外すれば良さそうです。
というわけで改良後はこうなります。
最後に
BERT とかそのへんもいつか触ってみたいです。
では。
0 件のコメント:
コメントを投稿