💬

生成AIで乱暴な言い回しを優しくする

に公開

対面ではない人とのコミュニケーションは、間にAIが入ってくることが今後増えるのではないかと予想しています。AI代理人みたいな。
そうなると、心を痛めるような発言に対してAIがマスクをかけたり、意味は変えずにマイルドな表現にしたうえで相手に伝えるようになったりするんじゃないかと。

ということで、今時点でどんな感じか試してみました。

テキストメッセージを優しくする

例えば、ユーザーからの問い合わせで怒り心頭なメッセージが来ることもあると思います。
普通にサーバー側で処理すれば良いだけなのですが、今回はブラウザ組み込みのSLMでやれないのかを試してみました。

仕組み

私の環境ではChromeのGemini nanoを使うオプションが出なかったので(過去設定したことあるのですが、バージョンアップしたからか設定が消えてました)、Dev版EdgeのPhi4-miniを使ってみます。

Edge内蔵のPhi4-miniの使い方はこちらを参照しました。
https://qiita.com/yokra9/items/a14e67cdee800b5e1611

対応内容は以下です。

  • Dev版EdgeでPhi4-miniを使える状態にしておく
  • Edge拡張を自作し、コンテンツ読み込み時に特定のセレクタに対してマスクをかける
  • Edge拡張のなかでPhi4-miniを呼び出し、マスク箇所が安全なコンテンツと判断したらマスクを解く
  • Edge拡張のなかでPhi4-miniを呼び出し、マスク箇所が安全ではないと判断したら「センシティブなことが書かれています。表示しますか?」と表示する

結果

ChatGPTに仮想のお問合せ一覧の画面を作ってもらいました。
何の商品かわかりませんがだいぶ炎上してます。

実際の動きは以下のような感じです。対象コンテンツのセンシティブ判定を順次しています。

没案

上記はセンシティブかどうかの判定のみを実施していますが、言い回しを変えて表示も試しました。
しかし、以下の理由で没にしました。SLMの性能的に簡単な処理以外は厳しいと判断しました。

  • 処理に時間がかかる
  • 余計な言葉が入る

音声メッセージを優しくする

例えば、ユーザーからの問い合わせの電話で怒り心頭なお客さまもいると思います。

仕組み

以下の処理を逐次実行していきます。
VADはOpenAIのデフォルト設定です。

  • 文字起こし:gpt-4o-mini-transcribe
  • 表現緩和:gpt-4.1-mini
  • 音声合成:Style-Bert-VITS2(あみたろ)

結果

入力音声はChatGPT監修シナリオをStyle-Bert-VITS2で音声合成したものです。
どこで無音区間を検出するか次第ですが、2〜3秒遅れぐらいで表現緩和同時通訳が動き始めました。

没案

GPT-4o Realtimeでいっぺんに全部処理できないかと試しましたが、ユーザーの発話を検知すると喋るのをやめるので無理でした。
toolsと組み合わせればとも思いましたが、Realtimeは基本的には対話が目的だと思うので素直にtranscribeで動かすことにしました。

おわり

良い悪いは別として、今後こういった仕組みが登場するんだろうなと思って試してみました。
リアルタイム性はもう一歩ですが、テキスト処理のレベルであれば現状でもすでにできることはある気がします。

Discussion