2023/10/29 MASKずらして誤字脱字見つける
テキスト中のどこが誤っていそうかを出したい
LLM に直させたものをそのまま出すことはないし、場所だけ分かれば良い
むしろ自動で直すのは要らない
とにかく安く簡単にできないか?
BERT に MASK を埋めさせて確率を見る
例えば ヴァージョン動詞の互換性を調べる。 を MASK 位置をずらしながら埋めていく
動詞 は 同士 が正しい、誤変換の例
ヴァージョンは誤りではないけどバージョンが一般的では? というのを見つけたい
元の文字列が出てくる確率が極端に低ければ誤りである可能性が高いのでは、というアイディア
[MASK]動詞の互換性を調べる。
ヴァージョン[MASK]の互換性を調べる。
ヴァージョン動詞[MASK]互換性を調べる。
...
とずらしながら予測して、元のワードが MASK に登場する確率を見る、低すぎるなら誤字そう
line-corporation/line-distilbert-base-japanese でやってみる
これはいまいちだった
トークン分割と品詞は一致しない、そりゃそうだ
トークナイズすると [ヴァ][ージ][ョン][動][詞][の][互換][性][を][調べる][。]
誤っていそうな区間とトークン区切りと一致しない
想定では ヴァージョン[MASK]の互換性を調べる。 に 動詞 が来る確率は低そうという見立て
実際のトークン列の ヴァージョン[MASK]詞の互換性を調べる。 はそもそも変な文だけど .詞 の何かが来る
.詞 のうち 動詞 になる確率は低くない
実際ここでは 動 になるのが 0.5537 で 1位だった
* 品詞の区切りとトークンの予測確率をうまくすりあわせる? MASK 位置は品詞基準でヴァージョン[MASK]の互換性を調べる。 みたいにする
間埋めさせて 動 → 詞 になる確率(これは単にかけて良いのか?)を見る、かなあ
* 品詞ごとに確率違うのでは? 閾値変えるべきでは? 私は[MASK]が好き ← 無数の候補がありうる
私はトンカツ[MASK]好き ← MASK はだいぶ絞られる、助詞に絞ったら数個になる
ヴァージョン動詞のの互換性を調べる (要らん の がついてる)
オウンメディアを開設する (オウンド- としたい)
これらは明らかに確率低く出るので簡単に見つかる
同じことやってるな...
次: BERT の embedding から学習して誤字脱字見つけられない? 品詞 layer つけたらもっとよくならない?
全単語マスキングのモデル
文字レベルもあるのでそれも試しても良いかも