📝

日本語入力システムSumibiの開発 part6:周辺の文脈を使って変換精度を上げる

に公開

はじめに

Sumibi Ver2.0では、周辺の文章を使っていないので、短いローマ字を変換するケースは残念な結果を返していました。
Sumibi Ver2.1では、変換中の周辺の数行を文脈情報としてLLMへのプロンプトに加えました。
語彙の選択ミスが減り、LLMならではの文系的な直感を最大限に引き出すことができています。
だいぶ空気を読めるIMEになりました。

改善例

よくある同音異義語の間違いを改善

Ver2.0では、文章の一部をちょこっと修正したい場合、文脈を与えられていないので、適当な同音異義語が選択されていました。
Ver2.1では、ほぼ問題がありません。

入力 Ver2.0(残念) Ver2.1(良好)
結果にijyou[Ctrl-J]があります 結果に以上があります 結果に異常があります
荷物をhassou[Ctrl-J]します 荷物を発想します 荷物を発送します
変換seido wo agemasu[Ctrl-J] 変換制度を上げます 変換精度を上げます

前後の文脈から、製品名などの表記を合わせてくれる

Ver2.0では、前後の文脈は使わないので製品名はLLMの知っている表記で書いてしまいますが、
Ver2.1では、前後の表記にそろえてくれます。

2行目の行末にカーソルがある状態で [Ctrl-J] を押したときの挙動です。

入力 Ver2.0(残念) Ver2.1(良好)
ニンテンドースイッチ2を買いました。
nintendo switch 2 ha nintendo switch toha chigattte ,[Ctrl-J]
ニンテンドースイッチ2を買いました。
Nintendo Switch 2はNintendo Switchとは違って、
ニンテンドースイッチ2を買いました。
ニンテンドースイッチ2はニンテンドースイッチとは違って、

LLMを使う強み

LLMは日進月歩で性能が上がっていき、放っておいてもGPT-3.5、GPT-4、GPT-4o、GPT-4.1……というように、次々と強力なものが登場します。
私自身は何もしなくても性能が上がり、ストレスが減っていきます。
ただ、課金しながら文章を書くというストレスを気にしなければですが…

関連リンク

https://zenn.dev/kiyoka/articles/japanese-input-method-sumibi-1
https://zenn.dev/kiyoka/articles/japanese-input-method-sumibi-2
https://zenn.dev/kiyoka/articles/japanese-input-method-sumibi-3
https://zenn.dev/kiyoka/articles/japanese-input-method-sumibi-4
https://zenn.dev/kiyoka/articles/japanese-input-method-sumibi-5

Discussion