2.17.3 同義語検索
ここでは,テキストデータ(文書データ)の同義語検索について説明します。
(1) 同義語検索とは
文献や論文などの文書データを検索する際,検索対象に指定した語句と,その語句の同義語をまとめて検索することができます。この機能を同義語検索といいます。同義語検索をする場合は,検索対象とする同義語の一覧を辞書に登録しておく必要があります。この辞書を同義語辞書といいます。同義語検索の概要を次の図に示します。
- [説明]
-
-
同義語検索を行う前に,同義語辞書を作成しておく必要があります。この例では,同義語辞書名がDictionary1という同義語辞書を作成しています。その同義語辞書に「データベース,データバンク,database」という同義語を登録しています。
-
同義語検索を行う場合,SELECT文でスカラ関数CONTAINSを指定します。スカラ関数CONTAINS中に同義語辞書名と,同義語辞書に登録されている同義語の1つを指定します。上記の例では,同義語の1つとして「データベース」を指定しています。
-
上記のSELECT文を実行すると,同義語検索が行われて「データベース,データバンク,database」のどれかが含まれる文書データが検索されます。
-
- ■英語文章への利用方法
-
語尾の変化を考慮した英単語を同義語辞書に登録するという利用方法も考えられます。例えば,同義語辞書に「electromagnet,electromagnets,electromagnetic」を登録します。同義語検索の実行時に「electromagnet」を検索対象文字列に指定すると,「electromagnet,electromagnets,electromagnetic」のすべての語句が検索対象になります。
(例)
SELECT "TITLE" FROM "REPORTS" WHERE CONTAINS("DOCUMENTS",'SYNONYM("Dictionary2","electromagnet")')>0
- メモ
-
同義語検索の環境設定および使い方については,「11.17 同義語検索を行う際の運用」を参照してください。
(2) 表記ゆれ補正検索との組み合わせ
同義語検索と表記ゆれ補正検索の両方を合わせて使用できます。スカラ関数CONTAINSの指定で,同義語検索と表記ゆれ補正検索の両方を使用することを選択できます。
(例)
SELECT "文書ID" FROM "文献一覧表" WHERE CONTAINS("文献データ",'SYNONYM("Dictionary1",SORTCODE("データベース"))')>0
上記のSELECT文を実行すると,同義語検索が行われて「データベース,データバンク,database」のどれかが含まれる文書データが検索されます。さらに,表記ゆれ補正検索も適用されるため,「,,DATABASE」などの語句が含まれている文書データも検索されます。
(3) テキストインデクスとの関係
同義語検索を行う場合,テキストインデクスを使用すると検索性能の向上が見込まれるため,検索対象の文書データを格納している列にテキストインデクスを定義することを推奨します。
なお,同義語検索と表記ゆれ補正検索の両方を合わせて使用する場合にテキストインデクスを使用するときは,表記ゆれ補正検索に対応しているテキストインデクスを定義する必要があります。ただし,表記ゆれ補正検索に対応しているテキストインデクスは,対応していないテキストインデクスよりもデータ容量が増加します。