こんにちは。Da Vinci Studio の bbz です。
社内ドキュメントとかから欲しい情報を探すのって結構めんどくさいですよね。
キーワード検索だとあれこれヒットするし。
ペロッと欲しい情報が探せないかなということで先日発表された AWS Kendra 試してみました。
Kendra
Kendra とは
機械学習を原動力とする高精度のエンタープライズ検索サービスです。
ということで自然言語で問い合わせたらいい感じに答えてくれそうな検索サービスですね。
(まだ Preview 段階ですが)
セットアップ
管理コンソールから手軽に使えます。
(まだ東京 Region にはありませんのでバージニアとか選んでください。)
最初は index を作成。
結構時間かかります。(30分くらい)
つづいて Data Source の追加
たくさんの Source を追加できるようになるみたいですが、今のところは3つだけ。
Amazon Kendra は、ファイルシステム、ウェブサイト、Box、DropBox、Salesforce、SharePoint、リレーショナルデータベース、および Amazon S3 などの人気のデータソースに対する幅広いネイティブなクラウドコネクタとオンプレミスコネクタを提供することにより、検索アプリケーションの構築に伴う困難な作業を排除します。
プレビューでご利用いただけるコネクタは、SharePoint Online、JDBC、および S3 のみとなります。
Data Source 追加したら後はドキュメントなりを突っ込んで検索するだけ!!
なのですが、現在はデータもクエリも英語だけの対応なのであった
無理やり日本語で検索する
英語で使えばいいのですが、どうせなら日本語のキーワードで検索(入力)したいので ↓ の感じにしてみました。
- Slack で日本語入力 -> Slackbot に飛ぶ
- AWS Translate で問い合わせを英語に翻訳
- 翻訳されたクエリで Kendra に問い合わせ
- 結果を AWS Translate で日本語に翻訳
- Slack に表示
(データは英語に翻訳して S3 に置いておく。)
で、使ってみるとこんな感じ。(表示しているのは一部のレスポンスだけ)
ちゃんと日本語で検索してる風に見えますね。
料金
すごく手軽に使える Kendra ですが料金は結構お高い。
https://aws.amazon.com/jp/kendra/pricing/
今は Enterprise Edition しか使えないというのもありますが $7/hour
もしちゃいます。
ざっくり $7 x 720 hours/month = $5,040
ですね
(Developer Edition が出てくれば $2.5 x 720 hours/month = $1,800
と少し利用しやすくはなりそうですが。)
使ってみて
Index 作ってデータ連携させるだけで使えてとっても簡単。検索は楽ちんになりますね。
ただ関連のあるデータはちゃんと返してくれるものの、すごい検索精度だ!!とはなりませんでした。
(今回は途中で翻訳とか挟んでるし。)
データ量が増えてクエリがもうちょい複雑になると違ってくるかもですが。
良くある質問と回答を事前に登録したり Kendra の結果を評価して育てていく必要はありそうですね。
事前登録するとこんな感じででてくる。
まだ Preview なので本番利用はできないですが、GA になって日本語対応もしてくれたら使い所はありそうだなーという感じでした!