見出し画像

AI検索を問い合わせフォームに組み込み、ナレッジが表示されるようにしてみた

みなさん、AIやChatGPT、業務で活用できていますか?興味はあるものの、腰が重かったりしますよね… 😵
今回はそんなAI機能を社内問い合わせのフォームに短時間で組み込んでみた件を、アプリケーション担当の富岡からお話ししたいと思います。

今回やること

弊社は社内ポータルをServiceNowで構築しています。ポータルにある問い合わせフォームのアシスト機能として、ServiceNowのAI機能「AI Search」を活用してみた!というのが今回のお話です。

「ナレッジ検索が行われて自己解決し、問い合わせが無い」のがIT部門目線では嬉しいのですが、そういうわけにもいかず…。「問い合わせフォームで関連ナレッジを表示したら、問い合わせが減るかも?」という目論見で始めました。
というのは表向きの理由で(?)、実はServiceNowをSan DiegoからTokyoにアップグレードした際、サービスポータルの検索窓がAI Searchの影響を受けて動作しなかったのです!💀💀💀 その対応過程で「AI Search、問い合わせフォームでも使えるみたいだし、使っちゃお!」と軽い気持ちで始めたのは内緒です😇

サービスポータルの検索窓(実際に使っている画面の一部です)

これまでの困りごと

問い合わせフォームにナレッジ検索の機能を付ける方法として、従来から「Contextual Search」の機能が提供されていました。
しかし、日本語の入力文字列の形態素解析に対応しておらず、半角スペース区切りを前提とした検索機能となっているため、日本語前提では使えませんでした。

  • Slackの使い方を知りたい 👈 🙅‍♂️

  • Slack 使い方 👈 🙆

問い合わせフォームに「Slack 使い方」なんて入力する人、いませんよね…。海外製品を日本で利用する壁を感じた瞬間でした。

実際にやったこと

アップグレードの際にベースとなるAI Searchのセットアップを行ったのですが、その説明は割愛します。今回は、レコードプロデューサへの「AI Search Assist」の埋め込みに特化してまとめています。

Search Applications Configuration の設定

参考にしたdocsは「Search application configurations」です。
OOTBの Search Applications Configuration を変更するとどこに影響が出るかわからなかった(影響を調べるのにも時間がかかる)ため、新規でレコードを作成しました。
docsとOOTBの設定を参考に、見よう見まねで設定しました。意識して設定した項目は、以下のとおりです。

  • Search Engine: AI Search

  • Search Profile: Service Portal Default Search Profile

  • Search Results Limit: 10

Search Application Configuration の画面


Record Producer Configuration の設定

参考にしたdocsは「Configure AI Search Assist for a record producer」です。
[aisa_rp_config] テーブルのOOTBレコードを流用し、対象のレコードプロデューサ(問い合わせフォーム)に付け替える変更を行いました。レコードを一から作成したほうが良いとは思ったのですが、スピード感を重視してOOTBを修正しました。
意識して設定した項目は、以下のとおりです。

  • Search Application: 👆で作成した「Search Applications Configuration」

  • Record producer: AI Search Assistを使いたいレコードプロデューサ

  • Search variable: 検索文字列が入力されるレコードプロデューサの変数

Record Producer Configuration の設定(Search application information セクション)
Record Producer Configuration の設定(Record producer information セクション)


レコードプロデューサの「AI Search Assist」変数のOrder設定

👆の設定を行うと対象のレコードプロデューサに「AI Search Assist」変数が追加されました。表示位置を調整したかったので、変数の「Order」を調整しました。

レコードプロデューサに追加される「AI Search Assist」変数

ハマったこと

レコードプロデューサの該当変数に文字列を入力したものの動かず😇
調べた結果、元々設定していたContextual Searchが影響していることがわかりました。前述の画像にある変数「Contextual Search Results」を非アクティブ化して、事なきを得ました。

また、何回か試行錯誤している中で「AI Search Assist」変数を削除してしまったのですが、再度同じ手順を実施してもレコードプロデューサに変数が追加されないという事態に…。
[sys_update_version] テーブルから削除してしまった変数を特定し、Revertすることで対処しました。

実際にこうなった

サービスポータルでレコードプロデューサを開き、該当の変数(今回は「お困りの内容など、お問い合わせ内容の詳細」)に文字列を入力すると…

レコードプロデューサで検索してみたところ

無事、検索結果が表示されました!🙌
従来のContextual Searchにおける半角スペース区切りの問題が解消されていて、非常にありがたや、ありがたや!

まとめ

複数システムを組み合わせれば実現できなくはない内容ですが、1つのクラウドサービス内で必要な機能が揃っていたため、Go Liveまでの手間とリードタイムを非常に圧縮できました。
また、専門家でなくても、docsを見ようとする気持ち、設定するやる気さえあれば、誰でも最新の機能を活用・享受できるメリットを改めて実感しました。

今後の課題としては、まだまだナレッジの検索精度は低いと実感していますので、機能の理解を深めつつ、精度を上げていく取り組みができればと考えています。

一方で、ServiceNow社は Knowledge 2023 において、AI関連のソリューションとして「ServiceNow Generative AI Controller」と「Now Assist for Search」を発表しています
ServiceNowからAzure上のOpenAIサービスに接続できるようになるため、Generative AIの機能を簡単に利用できるようになるはずです!

「設定して終わり」ではなく、日々登場する新しい概念、機能も適宜キャッチアップしながら、自社内のサービスに取り込んでいきたいと考えています。

今回の記事が皆さんのご参考になれば幸いです🙇

※掲載内容は、2023年5月31日時点の情報となります。
※記載されている会社名、サービス名、製品名は、一般に各社の登録商標または商標です。

現在、私たちの仲間になってくれる人を積極的に募集しています。少しでもご興味をお持ちいただけた方は、下記よりご連絡ください!