• 沒有找到結果。

實驗結果及分析探討

第六章 實驗結果與討論

6.2 查詢關鍵字轉換成 SQL 查詢語句正確性評估

6.2.2 實驗結果及分析探討

[實驗一] 採用查詢控制型評估查詢關鍵字轉換成 SQL 查詢語句的正確率

此實驗的目的為有控制變因的前提下,先行給予使用者搜尋意圖描述的參考,

讓受試使用者解讀搜尋意圖描述後再輸入查詢關鍵字,觀察此種實驗情境之下,

查詢關鍵字轉換成 SQL 查詢語句的正確率。

圖 6.4 顯示採用查詢控制型,系統將查詢關鍵字轉換成 SQL 查詢語句的正確 率。實驗結果中對 IMDB 資料庫資料,在 40 組查詢關鍵字中,有 35 組被正確轉 換成 SQL 查詢語句,轉換正確率為 87.5%,而 DBLP 主題資料庫的資料,在 50 組查詢關鍵字中,有 41 被組正確轉換成 SQL 查詢語句,轉換正確率為 82%。

圖 6.4 查詢控制型實驗轉換 SQL 查詢語句正確率

從先行給予搜尋意圖描述的控制型實驗結果中,兩個資料庫資料的 SQL 查詢 語句轉換正確率都有高於 80%。以下整理出針對控制型實驗中轉換 SQL 錯誤因 素以及比較兩個主題資料庫的轉換效果進行探討分析。

(一) 轉換 SQL 錯誤因素

<1> 查詢關鍵字的規則性

該實驗屬於先行控制搜尋意圖的範圍,使用者照著給定的搜尋意圖描述給予 查詢關鍵字,大多容易符合本研究所定義的平行條件(parallel condition),而系統 查詢條件單位組合優先處理策略也是先行處理平行條件。但若該查詢字未有平行 條件之輸入情形,則判斷查詢條件單位組合就依照其餘定義的邏輯運算子的先後 順序。在描述條件 or 的查詢條件時,部份使用者在給定查詢關鍵字會省略給定邏 輯運算子。而系統在兩個查詢條件單位之間沒有邏輯運算子,會自動補上 and,

則 and 和 or 的使用與查詢意圖不一致,是導致轉換錯誤的原因之一。

<2> 輸入查詢關鍵字的完整度

其餘轉換錯誤的查詢是因為使用者在看了查詢意圖描述後,在給定查詢關鍵 字時並未將意圖完整輸入,和我們預想的查詢條件有所不足,只能透過連結路徑 猜測可能的搜尋意圖,導致與原先給定之搜尋意圖不同,才會有轉換失敗的情況 發生。

(二) 兩個主題資料庫轉換效果比較之探討

<1> 資料庫綱目複雜度

DBLP 資料庫的正確率會略低於 IMDB 資料庫,由於該資料庫綱目較 IMDB 複雜,查詢關鍵字容易對應到不同的資料表,在系統處理時可能不是對應到使用 者原先所要指定的搜尋企圖,造成該轉換結果只能達到部份正確的情況。在估算 正確率時,在部份正確的情況,我們還是將此轉換結果視為轉換錯誤。

[實驗二] 採用查詢未控制型評估查詢關鍵字轉換成 SQL 查詢語句的正確率 此實驗的目的為受試使用者對資料庫可以做任意的關鍵字查詢,觀察在此種 實驗情境下,查詢關鍵字轉換成 SQL 查詢語句轉換正確率。

圖 6.5 顯示採用非控制型實驗,系統將查詢關鍵字轉換成 SQL 查詢語句正確 率。實驗結果中對 IMDB 資料庫資料,在 48 組查詢關鍵字中,有 22 組被正確轉 換成 SQL 查詢語句,轉換正確率為 45.83%,而 DBLP 主題資料庫的資料,在 40 組查詢關鍵字中,有 21 組被正確轉換成 SQL 查詢語句,轉換正確率為 52.5%。

圖 6.5 查詢未控制型實驗轉換 SQL 查詢語句正確率

在任意輸入查詢關鍵字的非控制型實驗中,兩個資料庫資料的 SQL 查詢語句 轉換正確率達到 45%以上,以下我們針對影響查詢未控制型實驗中系統轉換 SQL 錯誤的可能因素以及比較兩個主題資料庫的轉換效果進行探討分析。

(一) 轉換 SQL 錯誤因素

<1> 查詢關鍵字是否包含資料型態

我們觀察到受試者輸入的查詢關鍵字當中,若有提供想要的資料型態,可以 幫助系統增加轉換的正確度。因為對於系統而言,有更明確的資訊能判讀該查詢 字的搜尋意圖。例如當使用者給定查詢關鍵字{Year Character Corleone},關鍵字

Character 確定了關鍵字 Corleone 是位於資料表 Character,避免了關鍵字 Corleone 在資料表 Person 被當作實際演員名字的情形。而在查詢未控制型實驗相較於查詢 控制型實驗,使用者所給查詢中有較多查詢字內容是不含資料型態,在系統處理 過程只能透過連結路徑猜測可能的搜尋意圖,導致與原先設想搜尋意圖不同,才

有造成較多轉換失敗的情況發生。

<2> 查詢關鍵字輸入的自由度

由於該實驗屬於查詢未控制型,允許使用者給定任意的查詢關鍵字,也表示 可使用關鍵字的範圍廣、查詢的自由度很高。若給定的查詢關鍵字未在資料庫內 容,我們會 略過 此關鍵字。 例如 當使用者給定 查詢關鍵字 {synopsis mission

impossible},但關鍵字 synopsis 在資料庫資料無此資料。但關鍵字 synopsis 在此 查詢中是表示重要查詢意圖和查詢內容的重要依據,在缺少部份查詢條件的情況,

只能對部份關鍵字進行轉換,所形成的查詢就不能完整描述使用者原先所要表達 的搜尋企圖,導致錯誤的轉換結果。

(二) 轉換 SQL 錯誤因素兩個主題資料庫轉換效果比較之探討

<1> 資料庫主題特性

從資料庫主題內容做探討,發現使用者針對 IMDB 資料庫的查詢中很多都有 描述電影類型及內容型態的關鍵字當作查詢條件,像是電影的片種,例如:以關 鍵字{ Documentary }表示要找紀錄片;電影的型態,例如採用關鍵字{touching

moive}表示要查感人的電影等,但現有電影資料庫資料內容中,只能從電影的名 稱、電影的台詞去進行字串上比對。使用者對電影查詢條件意圖的語意範圍很廣,

現階段系統無法涵蓋所有電影搜尋給定條件的所有情況。另一方面,對於 DBLP 論文資料庫,在論文的查詢上,搜尋大多都是以論文題目主題、出處、作者為主,

例如查詢關鍵字{Journal CIKM year 2010 decision tree}指定搜尋意圖:「CIKM

2010 年所發表有關於決策樹的期刊論文」,相較於 IMDB 電影資料庫,對 DBLP 論文資料庫查詢的變化性較小。因此整理來說,IMDB 電影主題資料庫在轉換錯 誤率會較高於 DBLP 論文主題資料庫。

<2> 查詢關鍵字的規則性

在 DBLP 的查詢關鍵字當中,會有較多平行條件的查詢格式,例如搜尋意圖:

「2011 年到 2012 年在 SIGIR 或 KDD 上和資料探勘有關的論文」,其查詢關鍵字 為{Paper publisher SIGIR or KDD year 2011 year 2012}。搜尋意圖:「資訊檢索或 影像處理的 IEEE 期刊論文」的查詢關鍵字為{Information Retrieval and Image

processing Journal IEEE}。在系統查詢條件單位組合優先處理的策略是先處理平行 條件,因此對具有比較多平行條件的查詢,會獲得較高的轉換正確率,因此 DBLP 資料庫在查詢非控制型轉換的正確率會高於 IMDB 資料庫。

[實驗三] 評估查詢字型態對轉換成 SQL 正確率之影響

本實驗依據查詢關鍵字的長度(查詢字個數),觀察一組查詢字長度對轉換成

SQL 正確率的影響。我們將查詢關鍵字分為四種型態,如表 6.6 說明。

表 6.6 查詢關鍵字長度類別

ex:movie smith year 2000 year 2010

型態四

包含三個以上的查詢 條件單位(可能會有 參考 Target 和 type)

ex:movie George cinematographer year

>2008 or Julia actress year > 2010

本實驗查詢關鍵字使用[實驗一]、[實驗二]時所蒐集的查詢關鍵字,對於資料

表 6.7 IMDB 各個查詢長度轉換 SQL 查詢語句正確率 查詢字型態

型態一 型態二 型態三 型態四

查詢組數 10 5 36 37

正確轉換組數 10 1 22 23

正確率 100% 20% 61.1% 62.16%

表 6.8 DBLP 各個查詢長度轉換 SQL 查詢語句正確率 查詢字型態

型態一 型態二 型態三 型態四

查詢組數 10 5 45 30

正確轉換組數 10 2 29 21

正確率 100% 40% 64% 70%

圖 6.6IMDB 和 DBLP 資料庫對於各種型態查詢轉換 SQL 查詢語句正確率

從實驗結果中,我們根據不同型態的查詢關鍵字的特性,整理出可能轉換

SQL 錯誤因素進行探討分析。

<1> 查詢關鍵字種類:型態一

查詢關鍵字型態一,由於只有單一屬性值,在轉換過程中關鍵字只要找到屬 性值以及對應的屬性欄位就能轉換完成,例如:「電影名稱為 Seven Pounds」,查 詢關鍵字為{Seven Pounds}直接對應到資料表 Movie 的 Name 欄位,即可將「電 影名稱為 Seven Pounds」的資料回傳。也由實驗證實長度分類為短的查詢都能正 確轉換成 SQL 查詢語句。

<2> 查詢關鍵字種類:型態二

查詢關鍵字型態二,查詢字內包含有多個不同資料表中的屬性值,對於此種 搜尋系統必須找出這些關鍵字的連結相關性。例如使用者輸入關鍵字{Moon wolf

Love blood handsome},透過這幾個關鍵字的提示,希望找出 Twilight 這部電影的

相關資料。在這些關鍵字對應到的資料表的過程中,必須進行多個不同資料表對 應的可能連結處理之評分,我們選擇的路徑是取評分計算所得分數最高分的連結 路徑,但可能會與使用者真正想要的搜尋意圖有落差,導致會有轉換 SQL 不正確 的情形,這是此查詢類型的 SQL 轉換正確率偏低的主因。

<3> 查詢關鍵字種類:型態三

查詢關鍵字型態三,查詢中包含想找的資料型態,此類搜尋屬於尋找特定資

料的針對性搜尋。例如:查詢關鍵字{Movie Character Batman and Robin},關鍵字

Character 指定了關鍵字 Batman、Robin 是位於資料表 Character,避免了關鍵字 Batman 也可能在資料表 Movie 被當作電影片名,或是 Robin 在資料表 Person 被 當作實際演員名字的情形。由於使用者直接有提供想要的資料型態,就有更明確 的資訊能判讀該查詢字的搜尋意圖,可以幫助正確轉換 SQL。而型態三有部分的 查詢關鍵字內容不含資料型態,在處理過程只能透過連結路徑猜測可能的搜尋意 圖,導致與原先設想搜尋意圖不同,造成部分查詢轉換失敗。

<4> 查詢關鍵字種類:型態四

查詢關鍵字型態四,是查詢字當中包含了多個查詢條件。在查詢關鍵字轉換

查詢關鍵字型態四,是查詢字當中包含了多個查詢條件。在查詢關鍵字轉換