LSTM
PyTorch
FastAPI
MeCab
今回は、iOS・Android向けAI日本語入力(IME)アプリ開発で得た技術的な知見を共有します。サーバサイドにLSTM言語モデルを配備し、ユーザの入力文脈から次候補トークンを予測するアーキテクチャです。
システムアーキテクチャ
iOS/Android IME
↓ POST /next_tokens {"text":"確認のほど","top_n":8}
FastAPI (Sakura VPS)
↓ MeCab分かち書き
LSTM モデル (best_model_livedoor.pt)
↓ top_n × 6 候補生成 → noun_filter → top_n返却
候補表示(青=LSTM / 赤=辞書 / 緑=Claude API)
↓ POST /next_tokens {"text":"確認のほど","top_n":8}
FastAPI (Sakura VPS)
↓ MeCab分かち書き
LSTM モデル (best_model_livedoor.pt)
↓ top_n × 6 候補生成 → noun_filter → top_n返却
候補表示(青=LSTM / 赤=辞書 / 緑=Claude API)
ハマりポイントと解決策
① MeCab の -r オプション必須
サーバ環境では MeCab -r /etc/mecabrc を明示しないと辞書が読み込まれず無限待機になりました。
② SQLite の LIKE → 範囲クエリ最適化
名詞辞書検索を LIKE から範囲クエリに変更することで、700ms → 15ms に劇的改善しました。
③ ビジネス語彙のファインチューニング
livedoor コーパス(140,340行)に加え、ビジネス定型文コーパスを4ラウンド追加学習。「ご確認のほど→よろしく」が確率0.9999に到達しました。