自分のツイートにラ抜き言葉が何個あるか確かめたくなったのでやっつけでアルゴリズムを考えてみました。形態素解析の知識や文法の知識はこのために仕入れた物が多いため、厳密とは言えないし正確さの保証もないです。今後の参考までに書き残す程度で。最後に使用した C# コードを載せてあります。

ラ抜き言葉とは

「上一段・下一段・カ変活用の動詞に可能の意の助動詞「られる」が付いたものから「ら」が脱落した語。「見られる」「食べられる」「来られる」に対する「見れる」「食べれる」「来れる」など」(『広辞苑』)

形態素解析

NMeCab という MeCab の .NET 移植版(良い表現が思いつかなかった。ラッパーではないみたい)を使った。辞書は UniDic を用いた。
この方法だと「来られない」が「きたられない」と解析されたり「来れる」が「カ行五段活用」として解析されたりして大変そうだったので、今回「来れる」は可能動詞として認め、ついでにカ変についてひとまずスルーすることにした。

フロー1

1.一つのテキストを形態素解析 

2.文末でない →(偽)1.に戻る
↓(真)
3.一段活用動詞 →(偽)2.に戻る
↓(真)
4.次の単語が「れる」の活用形 →(偽)2.に戻る
↓(真)
5.ラ抜き言葉判定

6.1.に戻る

フロー1 結果

擬音や誤字に対する誤検出が多い。

フロー2 

フロー1 の 3. の条件に活用形が未然形であることを加える

フロー2 結果

フロー1 とほぼ同じだが、ほんの少し誤検出が減った

フロー3(おまけ)

フロー2 の 3. に OR 条件として「カ変」を加える

フロー3 結果

「これる」は検出できたが、「来れる」は検出できなかった(おそらく可能動詞として辞書に登録されているため)

全体としてまとめ

感想

  • 単純なやり方でわりとサクッと検出できたのは良かった。C# 便利。ライブラリ偉大。
  • 「こ(来)られる」についてはもう「こ(来)れる」を可能動詞として正しく認めちゃって良い気がした

課題

  • 検出漏れを確かめていないので、正確さが不明
  • てれれれ~等の擬音(?)がラ抜き言葉として検出されてしまう
  • カ変検出は今後の課題
  • ラ抜き言葉以前の文法的な問題(「取れれる」など)がラ抜き言葉として検出できたが、これの扱いをどうするか

使用した C# コード

使ったもの

スポンサーリンク