資料庫檢索基本概念-
切截技巧與萬用字元
崑巖醫學圖書分館 陳威宇
在上一期的簡訊中,向讀者簡介自然索引語言與控制索引語言的差異,並以醫學領域資料庫常用的兩大控制詞彙體系──MeSH及Emtree 為例,透過資料庫介面導覽帶領大家了解同義詞、上下位(廣狹義)詞等控制詞彙相關概念。然而實務上不僅要靈活運用控制詞彙與自然詞彙,還必須使用適當的檢索技巧作為輔助,才能達到最有效的檢索並滿足資料庫使用者的不同需求。一般常用的二種技巧為切截(truncation)與布林邏輯(Boolean logic),前者能克服自然語言詞彙多變的問題,後者則用於組合不同的詞彙概念。本次專文將介紹切截技巧的原理、功能,並透過資料庫演示,讓各位讀者對於切截有基本認識。
切截法,又稱為截字法或截詞檢索。是指透過萬用字元(wildcard)在適當的地方將檢索詞截斷,讓資料庫利用其中一部分開展進行關鍵字檢索的方法;切截搭配萬用字元可以擴大資料庫檢索範圍,並有效提高查全率,讓讀者盡可能查找到最周全的文獻。根據切截點所在的位置,可分為 1.左/前切截、2.右/後切截,以及 3.中間切截三種,而實務上則以右切截及中間切截較常用,範例如下:
前切截:將詞彙前半部以萬用字元截斷,例如*ectasis、*ptosis
後切截:將詞彙後半部以萬用字元截斷,例如diabet*、bacteri*
中間切截:於詞彙中間以萬用字元截斷,並保留前後部分,例如organi*e、glyc*mic
前切截透過控制字根的原理找到相關詞彙,如angiectasis(血管擴張)與bronchiectasis(支氣管擴張症),或blepharoptosis(眼瞼下垂)與gastroptosis(胃下垂);在醫學領域中這些字根多半與病理現象或是醫療處置有關。透過前切截的使用,便能夠一次將所有具同字根的詞彙進行搜尋。後切截則是固定字首,並透過萬用字元掌握時態、單複數或是詞性變化。例如以diabet*可搜尋到diabetes、diabetic、diabetogenic、diabetology等與糖尿病有關的詞彙;同樣地,若在資料庫中以bacteri*搜尋,則等同將bacterium、bacteria、bacterial、bacteriology等細菌主題的詞彙同時鍵入進行搜尋。值得一提的是,後切截對英文文獻檢索中尤其重要。基於字詞結構與語法特性等因素,西方語言會以「詞幹+詞綴(詞尾)」的格式派生許多近義詞彙,因此進行關鍵字檢索時,正確地運用切截及萬用字元,能夠一次性搜尋相關詞彙,以期有效減少使用者的時間。中間切截則常用於處理因單複數(如teeth/tooth)、英美式拼音(如organize / organise或是glycemic / glycaemic)造成之詞彙變形。在使用時保留字詞的前後端、以萬用字元插在拼寫差異處,即可同時將各種變形的詞彙進行整合查詢。
使用切截(特別是後切截)時必須要將萬用字元插在最適當的位置,既可同時含括最多近義詞彙,又要避免不相干的詞彙被納入。若想找到最適當的擺放處,除了翻閱字辭典、字根字首工具書外,還能在線上辭典中逐字母輸入,並觀察跳出的建議詞彙變化。舉例而言,希望搜尋與疾病(disease)有關的詞彙,並在劍橋辭典中依序輸入字母。當游標停在第一個e後方時(如圖1上半部),雖然跳出很多候選詞,但部分詞彙的含義與疾病相差甚遠;另一方面若多輸入a,此時的候選詞皆與疾病有關。因此在此次的示範中,將萬用字元停留在a之後會是較適當的選擇。
圖1 Cambridge Dictionary劍橋字典範例
切截與萬用字元雖然可以有效輔助我們進行資料庫檢索,但在使用上仍然有需留意之處。首先,不同資料庫使用的萬用字元與定義不同。例如PubMed以 * (星號)表示萬用字元;Embase運用的萬用字元包含 * ? (問號)與 $ (金錢符號);MEDLINE則可使用 $ * # (井字號)或是 ?,且各種萬用字元代表的意義也不盡相同。有關不同資料庫的萬用字元,在本文的後半段將會介紹。
第二,有些資料庫提供關鍵字自動比對機制,即使用者輸入檢索詞彙後,會優先比對資料庫使用的各式控制詞彙表。以PubMed為例,便會自動與MeSH詞表、期刊刊名詞表、作者詞表等進行比對,最後才進行關鍵字比對。但當我們使用切截與萬用字元後,便會暫停PubMed的自動比對機制,連帶阻止資料庫以狹義詞進行搜尋(如附圖2說明)。 因此在使用資料庫時應先參考資料庫操作手冊,或是諮詢圖書館員以確認切截是否會影響其他資料庫功能。
圖2 PubMed使用切截會停用自動比對機制
常用資料庫的萬用字元說明
註:點選各資料庫名稱,可進入該資料庫有關切截及萬用字元的說明網頁
在PubMed中以 * 代表萬用字元,例如以 fung* 進行搜尋可同時查到fungi、fungus與fungal等真菌相關的詞彙。
Embase可使用的萬用字元為 * 、? 與 $ 三種
* 可以代稱0個或1個以上的字元(如右圖)
例如protei* 可搜尋到protein(s)、proteína、protéines、proteinu等英文與外文詞彙,也可搜到protein-based、protein-ligand等片語(說明 * 不限定接續的字元數量)
? 代表「1個字元」
以protei? 為例,只會比對到protein、proteid等詞彙,而複數型proteins便不會被檢索出,(如左下圖,若要檢索出proteins的正確語法應為protei??)
$ 的概念則與 ? 相近,代表「0個或1個字元」
以protei$為例的檢索結果中(右下圖),可比對到protei(0個字元)、protein與proteid(1個字元)
【檢視OVID MEDLINE的說明頁面時,點入標題網址後請先於視窗左下角搜尋"wildcard",進入"Advanced Search"頁面後下拉至"Advanced Searching Techniques"一節,即可從"Truncation and wild cards"連結到切截及萬用字元說明頁面】
OVID MEDLINE可使用的萬用字元較PudMed與Embase更多,共有4種萬用字元── $ 、* 、# 與 ?。
$ 與 * 代表的意義相同,都可代表不限制數量的字元數
例如以gene$ 可同時搜尋gene、genes、genetics甚至generation等詞彙
在MEDLINE中若想限定代替的字元數,可在 $ 與 * 後方加上 <> 並以數字加以限定;例如 $<2> ,代表使用者要求 $ 只能代替最多2個字元
因此若設定 gene$<2> 時,genetics與generation便不會被檢索出
# 只代稱1個字元
? 則表示0個或1個字元
【進入進階檢索畫面後,網頁右側點選"Search help",出現彈出視窗後請搜尋"Using Wildcards"】
在Cochrane Library中只有2種萬用字元: * 與 ? 。
* 不限制字元數量
? 則表示0或1個字元。因此若在Cochrane Library搜尋 system?,將只能搜尋system或systems,無法比對到systematic與systemic等詞彙。
即使是通用主題的資料庫,亦可發揮切截與萬用字元之效果
在Web of Science中使用 * 、 ? 與 $ 3種萬用字元,其功能與Embase相同
Scopus採用 * 與 ? 作為主要萬用字元; * 可表示多個字元,而 ? 則代表1個字元
若覺得文字敘述太複雜,可參考此圖
結語
使用自然語言進行關鍵字比對或全文檢索,是一般讀者進行資料庫檢索時最常見的做法。然而自然語言未經控制,加諸外文尚需考量時語態和詞性變化等因素,致使同一概念往往可以用多種詞彙型態表示。雖然有些資料庫(如PubMed、Cochrane Library)中有內建自動切截或同時搜尋美英式拼法的功能,但對某些性質(如系統性文獻回顧)之研究而言,仍追求盡可能運用所有可能的詞彙變化,並搜尋所有可能相關之文獻。此時便須根據檢索者的需求,設定適當的切截並結合萬用字元。切截的概念在各大資料庫中皆適用,然而不同資料庫所使用的檢索語法皆不盡相同。因此在使用萬用字元前,建議先行查閱資料庫提供的使用說明,或是詢問圖書館員以確認語法的正確性。
參考資料
朱小平(2006)。關鍵詞檢索技術與應用技巧。咸寧學院學報,26(4),頁206-207。
師忠凱(2018)。網絡信息資源的關鍵詞檢索策略探析。中國管理信息化,21(20),頁167-168。
黃西安(2005)。信息檢索技術再論。農業圖書情報學刊,17(7),頁109-111 + 119。
黃慕萱(1996)。資訊檢索。臺灣學生書局。
若有任何問題,歡迎來信至 medref@libmail.lib.ncku.edu.tw,謝謝您