
Dataplex Universal Catalogの自然言語による検索機能「セマンティック検索(プレビュー)」を試してみた
データ事業本部のsutoです。
Google Cloud Dataplex Universal Catalogでは「自然言語を使った検索」可能なセマンティック検索の機能があります。(※現時点ではプレビューとなっております。)
これによって、従来のキーワードのみの検索や検索構文を使った複雑な構文を使わずに日常的な口語文によってリソースの検索ができるようになりました。
料金について
プレビュー期間中は無料で提供されます。
試してみた
自然言語検索を使用する場合は、以下の「Try natural language search」をクリックすることで切替ができます。
以下のような画面に切り替わりました。中央上部にある検索バーに文章を入力してリソース検索ができます。
また「フィルタ」をクリックすることで以下の項目で絞り込みが可能となります。
テーブル名、カラム名を明記して目的のテーブルを探す
検索の操作に関する権限やリソースの検索範囲は、従来と同じですので、
まずはドキュメントのサンプルに沿うような文章で検索しました。
期待する結果としては、検索対象であるテーブル"event"が表示されることです。
結果は以下のように目的のデータ(eventテーブル)が検索最上位に表示されました。
それ以外にeventテーブルと同じデータセット配下のテーブルや関連のないデータセット配下のテーブルも複数検索にヒットするような結果となりました。
では、従来のキーワードによる検索結果と比べてみましょう。
こちらは検索対象となるのリソース(テーブル名、カラム名、アスペクト名、description内の文字列など)に"event"が含まれているリソースを結果として返します。
(当たり前ですが)それ以外のリソースが検索にヒットすることはありません。
※カラム名についても同等の結果でしたので、結果画面は割愛します。
カタログメタデータから判断できない文字列で検索
次は「イベント会場の情報(テーブル:venue)とチケット購入履歴の情報(テーブル:list)を検索してみます。
前提として、カタログに登録しているテーブルにはdescriptionをほぼ記載していない状態です。
その上でテーブル名やカラム名をあえて含めない文章で検索してみました。
結果としてlistテーブルが表示されることはありませんでした。
あくまでカタログ上に付与されているメタデータや文字列で判断しているということがわかります。
アスペクトタイプのフィールドの要素で検索
次に以下のsalesテーブルのようにアスペクトタイプの「PII DataがTrue」と設定しているテーブルが検索にヒットするか試してみます。
期待する結果としては、該当テーブル2件(sales, users)が最上位に表示されることが最低条件です。
結果として2テーブルは検索結果の最上位に来ましたが、該当のアスペクトタイプを全く付与していない他のテーブル(category,store,itemなど)も検索結果のリストに入ってきていました。
”除外”の意味を含めて検索
次は特定のテーブル情報を除外した検索結果が出るかを試してみます。除外対象はvenueテーブルとします。
期待する結果としては、venueテーブル以外のtestdata_tickitデータセット内のすべてのテーブルが表示されることです。
結果ですが、以下画面のとおり除外どころかむしろ検索文に含まれているvenue、eventのみが検索にヒットする結果となりました。
補足として、従来の検索バーではchromeのweb検索と同じく検索の除外対象にしたいものに"-(ハイフン)"をつけることで除外できます。
【おまけ】日本語で入力して検索してみた
まだプレビューとして登場したばかりの機能ですのであまり期待はしていませんが、
私は日本人なので、検索バーに日本語で入力して検索できるか試してみました。
結果は以下のとおり、検索がうまく機能していない状態となりました。
現状ドキュメントには使用可能な言語は明記されていませんでしたが、やはり対応言語は「英語」のみのようです。
所感
- 自然言語検索機能は、入力した文章から少しでも関連がありそうなリソースを網羅したリストを結果として返し、関連性の高い順にソートして表示しているような印象を受けました。
- 一見して「インターネットブラウザのWeb検索に近い動きだなと思いました。
- 従来の検索バーの構文を入力できない分、除外(exclude)という文字の意味を認識した結果を出してほしかったのですが、今回の私の検証ではその成果得ることはまだ出来ていないことが残念です。
- 明らかに検索文とは関連性の薄いリソースも検索結果に出てくるようなかたちなので、従来の検索バーの機能を念頭に置いて使おうとすると戸惑う人が多いだろうなと感じました。
以上、Dataplex Universal Catalogの自然言語による検索機能を検証をしてみました。
アスペクトタイプ検索や複雑な条件の検索だと、検索構文やフィルタ欄を駆使して扱う必要があり、ユーザーにとって手軽さがなくなってしまうことがネックなので、このセマンティック検索(自然言語による検索)のこれからの機能向上に期待したいと思います。
リソースに付与しているメタデータが充実していないと十分な性能が発揮されない、という可能性もあるので、また次の機会に検証してみたいと思います。