• 沒有找到結果。

結構性資料之查詢關鍵字處理

第二章 文獻探討

2.1 結構性資料之查詢關鍵字處理

在結構性資料上進行關鍵字查詢,使用者所給定的關鍵字中不一定有提供資 料型態的查詢指定,所以必須考慮該如何從僅有的查詢關鍵字去轉換成結構化查 詢。而且查詢關鍵字容易有搜尋意圖表達不清,或是查詢關鍵字有一字多義等情 況,以上都是查詢關鍵字會有結構或是語意上的問題。關鍵字查詢於結構性資料 的處理過程中,首先會對給定的查詢關鍵字做意圖分析及語意解釋,不論是藉由 事先設定好的輸入格式,讓輸入範圍縮小並且得到更多可能的搜尋意圖當作判斷 依據;或是利用外部資源及結構性資料具有描述資料屬性資訊特性的資料(meta

data),都是對查詢關鍵字進行意圖分析及語意解釋的方法,以下對結構性資料之 查詢關鍵字處理技術進行介紹。

<1> 查詢關鍵字分群

由於關聯式資料庫包含的資料內容,有隸屬資料庫綱目的資料表名稱、屬性 名稱,以及表示資料實際內容的屬性值兩種。若對關聯式資料庫使用關鍵字查詢,

使用者輸入的查詢關鍵字中,可分為直接或間接隱含著所要找的資料型態,或是 所要查詢的相關內容屬性值兩大類。論文[14]探討的範圍是以企業資料庫做為資 料集,使用者給予查詢關鍵字進行查詢。該論文認為使用者在給予查詢關鍵字,

表示所需要的資料需求時,可分為兩種:一類是類型需求(Type Requirement);另 一種是內容需求(Content Requirement)。例如:關鍵字查詢給予 Q = { John Smith

contact information },其目的是要找出 John Smith 該人的聯絡資訊,而其中人名:

“John Smith”代表內容需求,而聯絡資訊:“contact information”為類型需求。

由於企業資料同時具有非結構性資料和結構性資料兩種資料格式的特性,[14]利 用非結構性的資料當作外部參考資源,輔助進行查詢關鍵字的分群處理。一開始 將每一個關鍵字視為獨立一個群集,在每個群集之間,兩兩計算其相似程度值。

相似度最高的兩個群集,再合併成一個群集,合併終止條件為群集只剩下兩個群 集。這兩群集再分別與資料庫綱目內容的文件計算相似程度,與資料庫綱目內容 相似度較高的群集裡的關鍵字就認定為類型需求,而另一群集裡的關鍵字,就視 為內容需求。

<2> 查詢關鍵字拆解

有別於提供關鍵字查詢,論文[17]提出一個 STRUCT 系統,對於使用者進行

資料庫查詢所設定的輸入格式限定為一句英文完整句子。該論文認為,一句英文 句子中包含多個搜尋條件,可拆解成多個子查詢(Sub-query)。英文句子具有英文 文法之特性,可藉由自然語言處理技術,透過一些特殊詞性的字詞,例如介係詞、

關係代名詞、連結詞等,作為分割依據。此篇論文著重在句子的拆解,從一個句 子拆解成多個子查詢,以反應使用者所指定的查詢條件及所要顯示欄位資訊。而 將多個子查詢轉換成各個查詢條件時,該論文利用詞庫和事先建立的索引結構,

找出該字詞是否有同義字,以及該字詞為屬性名稱或是屬性值,產出一種括弧式 查詢格式。再利用其提出的分組演算法(Grouping Algorithm),對各括弧進行邏輯 組合,最後轉換成對應的結構化查詢語言 SQL 語句找出結果。

<3> 根據資料庫綱目輔助找出關鍵字查詢語意

關聯式資料庫的綱目(Schema)可用一個圖形表示,稱為綱目圖形(schema

graph)。圖形中一個節點(node)代表資料庫的一個資料表(Relation),一條邊(Edge) 代表資料表和資料表之間的連結關係,當一個資料表的主鍵(primary key),被設 為另一個資料表欄位參考外來鍵(foreign key),則兩資料表的對應節點之間建立一 個邊連結。而邊具有方向性,方向決定是由被參考資料表節點指向參考資料表節 點。由於相同的關鍵字,可能在不同的資料表出現,對於這個關鍵字而言,在不 同的資料表裡,就有不同的解釋意思。例如當關鍵字查詢給予 Q = {Markov

SIGIR}。一種解釋是:一篇作者為“Markov”的論文被引用在另一篇“SIGIR”

研討會所發表文章。另一個解釋是:一篇發表於 SIGIR 研討會的論文標題中包含

“Markov”。論文[20]提出一個系統 iSearch,透過資料庫綱目及資料內容查出查 詢關鍵字可能的意義,並將其組合出整個查詢字可能解釋情形。該論文為了找出 關鍵字所有可能代表的含意,從符合關鍵字對應的資料表,找出資料表和資料表 間所有可能的連結路徑,而每一條路徑即代表著一種對查詢字語意的解釋。這些 語意解釋依所訂定的評分方式進行排名,在讓使用者進行確認點選。最後再轉換 成 SQL 查詢語句對關聯式資料庫進行查詢。

<4> 根據外部資源輔助找出關鍵字隱含語意

使用關鍵字查詢在於結構性資料上,由於使用者進行關鍵字查詢時,所給予 的關鍵字數量並不多,單就查詢字能參考的資訊有限,而容易產生語意不清楚的 問 題 。 需 透 過 外 部 參 考 資 源 作 為 解 釋 語 意 的 參 考 依 據 。 論 文 [8] 提 出 一 個

DBSemSXplorer 系統,系統在處理關鍵字查詢的,過程不僅比對文字內容是否相 同,還考慮到的同義字詞和一字多義的情況。有些關鍵字雖然與資料庫資料字詞 比對相同,但其實並不是使用者真正的搜尋意圖。例如:關鍵字查詢給予 Q =

{Movie directed starred George Clooney},其目的是要找出 George Clooney 所擔任 導演且兼演員的電影。若單純用 star 字詞去找,找不出同義字 Actor 演員這個屬 性欄位,反而找出跟 star 星星有關的電影。該論文處理方式,先將關聯式資料庫 資料都轉換成 RDF 格式,將資料語意關係先行建立好。關鍵字先藉由字串比對以 及同義詞關係(使用字典 WordNet),找出符合在 RDF 上對應到的候選節點。這個 策略就不單只是考量相同字串比對,還加上同義字詞的語意考量。

論文[18]透過網路知識庫和查詢記錄檔(Query Log)作為外部參考資源,提出 對於關鍵字查詢中解釋關鍵字語意的方法。例如:關鍵字查詢給予 Q = {songs by

jimi hendrix}。單從關鍵字字面上,可能有多種解釋對於這個關鍵字。像是解釋為 Jimi Hendrix 所創作過的歌曲,或歌曲名稱稱 Jimi Hendrix 的歌。該論文利用搜 尋引擎的歷史記錄檔作為訓練資料(Training Data),利用詞性和詞性樣式(pattern) 去學習出語法結構,例如:(“song”: type , “by”:rel , “jimi hendrix” : ent),表示關鍵 字 song 對應到的是型態,by 對應到的是一種關係,而關鍵字 jimi hendrix 對應到 的是個體。從查詢關鍵字和其相關語意結構上的關係,再去知識庫對應到 by 是 指的 Created By。最後查詢關鍵字確定解釋為具有 Jimi Hendrix 與歌曲的關聯,

就能明確解釋該關鍵字查詢所代表的意思為 Jimi Hendrix 所創作過的歌曲。

總結上述結構性資料之查詢關鍵字處理之相關研究,由於單從關鍵字或資料 庫內部資料,都難以直接地解釋查詢關鍵字語意。要解決查詢關鍵字語意問題,

多數研究都是使用外部參考資源、查詢記錄檔或資料庫綱目作為參考依據。另外 在關鍵字之查詢意圖分析方法中,論文[14]的方法受限於該資料集必須具有對應 的非結構性資料當作外部參考資源。若非如此則需找到其他替代的相關外部參考 資源,才能進行關鍵字需求上的判別。而論文[17]考慮之查詢為自然語言查詢句,

但所輸入格式要求為嚴謹且完整的英文句子,但對於使用者進行查詢而言,若要 求其輸入的格式過於嚴謹或受限於特定的句型,則失去關鍵字之查詢的自由性而 較不容易使用。而本研究希望能打破此限制,希望能以接近關鍵字查詢的方式對

關聯式資料庫進行查詢。