統計的セマンティック検索により抽出されたフレーズの確認
統計的セマンティック検索用に作成されたインデックスを構成するキーフレーズを確認することができます。
SELECT TOP(10) * FROM SEMANTICKEYPHRASETABLE ( 取引先マスター, -- 対象テーブルの指定 取引先英名 -- 対象列の指定 ) AS KEYP_TBL ORDER BY KEYP_TBL.score DESC; GO
リスト7を実行すると、キーフレーズとキーフレーズが含まれる列、スコアが表示されます(図9)。ここで表示されたキーフレーズを利用して、セマンティック検索が実行されます。where句でキーフレーズをフィルタリングすることで、特定キーフレーズを含んだ列の抽出をすることもできます。
統計的セマンティック検索による類似・関連した値の取得
統計的セマンティック検索を使用することで、特定の行に類似した行を抽出することができます。今回のサンプルデータでは、取引先コード「TR0031」の取引先英名「Hokkaido Research Institute for the Twenty-First Century」と類似する取引先英名を持つ取引先を抽出します。
SELECT TOP(10) * FROM SEMANTICSIMILARITYTABLE ( 取引先マスター, -- セマンティック検索をする対象テーブルの指定 取引先英名, -- 類似しているかを比較する列の指定 'TR0031' -- 比較元の対象行を指定するキー ) AS KEY_TBL ORDER BY KEY_TBL.score DESC; GO
クエリ7を実行すると類似している行のキーと類似度合いを取得できます(図10)。
類似している根拠が不明では、類似ドキュメントとして抽出されても納得できないことがあり、類似しているとして抽出されたデータにおいて、どのフレーズが含まれていたから類似していると識別したかを調べたいことがあります。
SELECT TOP(5) * FROM SEMANTICSIMILARITYDETAILSTABLE ( 取引先マスター, -- セマンティック検索をする対象テーブルの指定 取引先英名, 'TR0031', -- 類似しているかの比較元列 取引先英名, 'TR0006' -- 類似しているかの比較先列 ) AS KEY_TBL ORDER BY KEY_TBL.score DESC; GO
リスト9を実行すると、類似していると判定した根拠となるフレーズが表示されます。このフレーズを利用して類似度合いが高いと算出されています(図11)。