Helpfeelでの質問文の半自動生成の取り組み

Helpfeelでの質問文の半自動生成の取り組み



daiiz
Heplfeel アーキテクト
ウェブアプリケーションエンジニア

ソフトウェア作家
技術同人誌作家


エンタープライズサーチ Helpfeel
自己解決率を高めるFAQ検索システム
Gyazoでの例



FAQ検索システム Helpfeel
様々な業界のサービスでご利用いただいている
検索ユーザー層も幅広い


文書拡張
Helpfeelの意図予測検索を支える技術のひとつ
展開ヘルプ論文 by テクニカルフェロー
ユーザーのことばで検索可能になる
想定質問集を作って待ち構えるイメージ

解くべき問題
必要十分な質問文セットをいかに作るか
機械的に生成できるか?


質問文
テクニカルライターがScrapboxに書く
正規表現っぽい記法が用意されている
運用開始後はお客様も編集できる

これが展開されて検索に使われる


Helpfeelと機械学習

今日は「執筆」にフォーカスした話をします
検索ヒット率を高めるための執筆支援


質問文の作成支援タスク
難解な題材への理解を補助
バリエーション豊かな質問文とその言い換えを提示
有益なものを人間が厳選する
人間とAIで協働していいものを作っていく
全部自動でやろうとしない


よい質問作文、よい言い換えとは
「作文」と「言い換え」

本文中でユニークで重要箇所を特定する
重複を避けるため、他のページの内容に踏み込んではいけない
実は記事セット全体を把握していないと作文できない

意味が変わらない範囲で、カバーできる表現を広げる
つねに可換な言い換え
実はかなり難しい


デモ
Scrapboxでの編集中に起動
二段階でテクニカルライターを支援
① 本文を理解する
② 質問を生成・拡張する

文章全体から生成

特定の記述から生成



ChatGPT APIの活用
いい感じのプロンプトを考えればよし
古典的手法の実験で培った勘を生かせる

LLMの研究の最新動向を眺める



創造性のコントロール
ハルシネーションとクリエイティビティは紙一重
生成AIのクリエイティブ度合いを制御は難しい
「ギリギリ許せるライン」をどう伝えるか

プロンプトのテクニック
細かく誘導問題を付ける
step by stepをさらに噛み砕いて誘導する
例: 「直前に求めたXを用いて、...」
期待する結果を丁寧に説明する
例: 「要約せよ」ではなく「事実は何か?」と問う
例示する
結局一番これが効く気がする daiiz


UI勝負
汎用モデルを使いこなすために
タスクに特化した使い勝手のいいクライアント

生成された大量の選択肢を高速に吟味できるUIがほしい


UI案 v1
機械生成したものを人間がGood/Badに分類
ライターが選んだ最終的にGood集を正規表現にまとめあげる作戦
厳選したテキストをシードとして選択再生成もできる

AIにフィードバックを与えられるのはよい
やることが多すぎる


UI案 v2
要約
要約から連想される質問文

良さげな質問文を組み合わせて手作業で調整する手間がある


UI案 v3
求められる最終的な形式で出力されるのでコピーするだけでOK!

単語レベルでも言い換えできる

読者層を指定できる
子供
英語話者
製品の購入を検討している人
など

他の切り口から質問文を再生成できる


(残り時間を確認)
ここに辿り着くまでの実験


まとめ
ChatGPT APIの活用
問題設定
プロンプトの考え方
UIの工夫

ChatGPT API以前のMLの基礎知識は役に立つ
機械学習の専門家でなくても挑戦してみよう
試行錯誤の過程が大事

懇親会でぜひ声かけてください!
さらに詳しい実装の話
直近の取り組み
Powered by Helpfeel