本記事の目的
事業会社に所属するDX推進担当者として、昨今のAI系のソリューションはモーダルによらず幅広くカバーしておきたい。
今回は日本語に対する精度が高い音声認識エンジン「AmiVoice API」が無償トライアルできるということで使い道について考えてみた。AmiVoice APIは日本の企業(株式会社アドバンスト・メディア)が開発しているということで、日本語認識に強みを持っているようだ。
音声認識エンジンの活用アイデアとして、就職活動の面接対策に使うことを考えたので、実現方法について考察してみる。
面接対策向けの活用
私が新卒の学生だったころ、面接対策といえば先輩や身近な大人との模擬面接だった。
大学のキャリアセンターにいる職員を相手に面接の練習をするのは気恥ずかしく、1回行っただけで二度と行かなくなったことを覚えている。
今の技術であれば、実際の人を相手にするよりも前の練習台として、生成AIを活用することは十分に可能そうだ。
有名なメラビアンの法則にも言われているように、面接で相手に与える印象は「話の内容」以上に「話し方」など態度によるところが大きい。音声認識の技術を利用すれば、話し方に関連する以下のような点を、ある程度定量的に評価できそうである。
■ 面接の中で「話し方」に関する評価
-
話すスピードは適切か
→ 単位時間あたりに話された文字数で定量化 -
フィラー(「えー」などの無意味語)を多用していないか
→ フィラーを除いた(ケバ取り)後の文長との比較で定量化 -
一般的ではない専門用語を多用していないか
→ 専門用語への対応あり/なしで書き起こしした時の差分で定量化
これに加えて、近年急速に進化が進んでいる生成AIを組み合わせることで、発話内容も踏まえた面接の総合的な評価が可能になる。
アプリの構想
アプリの全体像は以下のようなもの。
Azure OpenAIをAI Searchで検索拡張生成(RAG: Retrieval Augmented Generation)した一般的な構成に加えて、入力した音声をテキストに変換するためのAmiVoice APIと、事前に履歴書などを構造化するためのDocument Intelligenceを導入する。
1. 募集要項や履歴書を登録
アプリの利用開始時に、募集要項や履歴書をPDFやWord形式でアップロードすることを想定する。このとき、Azure AI Document Intelligenceを用いてドキュメントをJSON形式に変換しておく。この後のステップで、Azure OpenAI Service(GPT)に募集要項や履歴書の内容を読み込ませたい。そのための前処理として、いわゆる「非構造化データの構造化」を行うことが目的である。
AI Document Intelligenceではセマンティックチャンキングという考え方があり、意味のまとまり(履歴書であれば「志望動機」や「自身の強み」等のイメージ)の単位で構造化ができる。
2. 面接のはじめの質問を表示する
■ 面接のやりとりに使うプロンプトの例
あなたは{応募先}の会社の人事部員です。
事前に与えられた{募集要項}と{履歴書}の内容をもとに、応募者との対話による面接を行ってください。面接相手の回答をもとに質問を複数回繰り返し、自社にとって有益な人材かどうかを判断してください。最後に{フィードバックの形式}にしたがって結果を返してください。
なお面接の評価にあたっては{話し方}の結果も加味し、その評価についてもフィードバックに加えてください。
3. 質疑を制限時間内で繰り返す
4. 面接へのフィードバックを返す
おわりに
開発にあたって必要となるコンポーネントは既に揃っており、既存の仕組みを組み合わせるだけで、簡単にサービスが作れそうな実感を持った。久しぶりに少し手を動かして動くものを作ってみたいと思った。
音声会話インターフェイスはスキルを問わず誰でも使いこなしやすく、また両手が塞がっていても問題ないなど、使い勝手が良い。現状で期待できる精度を肌感で確認した上で、今後の導入検討を進めたい。
なお「面接対策アプリ」は案の定、類似サービスが2年前に既にリリースされていた。自分が就職活動をするときにあったら欲しかったサービスなので、応援したい。