• 沒有找到結果。

第四章 系統發展與評估

第四節 系統評估

本研究為建置鏈結資料的館藏查詢系統,為了瞭解本系統是否達到預期 的效用,以及是否容易上手。本研究將系統評估方法為兩部份,包含任務訪 談法與問卷評估兩部份。前者的目的在是為了瞭解使用者實際使用的情形以 及使用過後的感想,藉此來評估系統呈現的資訊是否能吸引使用者興趣,而 後者則是為了瞭解系統的使用性。

本研究選擇了臺北市立圖書館(以下簡稱為北市圖)之館藏查詢系統來 作為與本系統比較的對照組。由於北市圖的查詢系統所呈現出的資訊可作為 國內一般圖書館的基本準則,以此為基礎的狀況下,本研究希望在加入鏈結 資料技術後的系統,能帶給使用者不同的感受。

一、 任務訪談法

本研究設計二項任務操作給予受試者操作兩個系統,分別是書名檢索與 作者檢索。書名檢索為研究者給予受試者一則書籍的題名,請受試者進行檢 索,完成檢索後,請受試者觀察系統畫面所呈現的資訊;而作者檢索為研究 者給予受試者一作家姓名請受試者檢索之,並且從系統返回的結果清單選擇 一筆書目請受試者檢視之,最後請受試者觀察系統畫面所呈現的資訊。受試 者在進行過研究者給定的任務之後,研究者會對受試者進行簡易的訪談,訪 談採用非結構式訪談法。為使本研究欲觀察之項目明確清晰,在訪談的過程

39

中研究者會對受試者強調只需觀察館藏查詢系統所呈現出的資訊,對於介面 外觀、書籍借閱等延伸功能受訪者可無需關注,因此受訪者所談論的差異僅 限於資料呈現畫面。

訪談後,研究者依照訪談過程所錄下的錄音檔轉譯為逐字稿,以文字呈 現受訪者與研究者的訪談內容,以便資料分析。基於研究倫理,逐字稿中以 匿名方式處理受訪者之姓名,本研究共訪問了十二位受訪者,五位圖書館館 員、五位圖資系學生、一位外文系學生、一位企管系學生,本研究將受訪者 編號為 F001 至 F012。

為區別本文與逐字稿的敘述,逐字稿之內容皆使用斜體顯示,而重要內 容再加上底線與粗體顯示,希望以這些重點內容來佐證本研究之正確性。引 用的逐字稿,本文會在引用文字的結尾以[受訪者編號_開始行號-結束行號]

標示,完整逐字稿請參見附錄二。

二、 問卷評估

受試者在接受研究者的訪談後,接下來研究者會請受試者填寫問卷。受 試者作答前,研究者亦會對受試者做一次說明,使受試者瞭解此問卷僅需要 對於系統的操作性與可用性進行作答即可。本研究所使用的問卷為系統使用 性尺度量表(System Usability Scale, SUS),題項共計十題,問卷題項請參見 附錄一。

40

publicationdate int 出版年

本研究使用鏈結資料技術建置館藏查詢系統,為支援 RDF 查詢語言,

因此本研究透過 D2R 伺服器建置 SPARQL Endpoint。D2R 伺服器是一個將 關聯式資料庫發布為鏈結資料的專用工具,支援目前主流的關聯式資料庫如

41

Oracle、MySQL、PostgreSQL、Microsoft SQL Server 等,D2R 伺服器會在存 取關聯式資料庫時建立一份對映檔(mapping file)參見表 4-2,使關聯式資 料庫中的表格和欄位可以彼此產生關聯,在使用者檢索之時得以進行 SPARQL 檢索。對映檔使用 mapping language 編寫,是一種類似 RDF 以及 知識本體概念的語言。對映檔可依照需求進行更動,管理者需要分析表格中 欄位之間彼此的關聯,選擇適合的知識本體進行描述,使物件之間的關聯得 以完善。而 SPARQL Endpoint 是一個網路服務,用於接收 RDF 的查詢語言 SPARQL,然後再回傳查詢結果。透過 D2R 伺服器的轉換機制,可以不影響 原有的資料庫形態來進行 SPARQL 查詢、瀏覽或是儲存成 RDF、Json 等主 流格式。D2R 主要進行兩個步驟即可建構出 SPARQL Endpoint,分述如下。

(一) 建立對映檔

為了使關聯式資料庫得以使用 SPARQL 查詢,需透過 mapping language 建立對映檔(mapping file),對映檔可透過一般文字編輯器編寫,表 4-2 為 對映檔的局部內容。

42

表 4 - 2 對映檔局部內容

@prefix map: <#> .

@prefix db: <> .

@prefix vocab: <vocab/> .

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

@prefix d2rq: <http://www.wiwiss.fu-berlin.de/suhl/bizer/D2RQ/0.1#> .

@prefix jdbc: <http://d2rq.org/terms/jdbc/> .

@prefix bibo: <http://purl.org/ontology/bibo/> .

@prefix dc: <http://purl.org/dc/terms/> .

@prefix foaf: <http://xmlns.com/foaf/0.1/> .

@prefix owl: <http://www.w3.org/2002/07/owl#> . map:database a d2rq:Database;

d2rq:jdbcDriver "com.mysql.jdbc.Driver";

d2rq:jdbcDSN "jdbc:mysql://localhost/books";

d2rq:username "root";

d2rq:password "XXXXXXX";

jdbc:autoReconnect "true";

jdbc:zeroDateTimeBehavior "convertToNull";

.

# Table books

map:books a d2rq:ClassMap;

d2rq:dataStorage map:database;

d2rq:uriPattern "books/@@books.id@@";

d2rq:class vocab:books;

d2rq:classDefinitionLabel "books";

.

map:books__label a d2rq:PropertyBridge;

d2rq:belongsToClassMap map:books;

d2rq:property rdfs:label;

d2rq:pattern "books #@@books.id@@";

.

43 map:books_title a d2rq:PropertyBridge;

d2rq:belongsToClassMap map:books;

d2rq:property dc:title;

d2rq:propertyDefinitionLabel "books title";

d2rq:column "books.title";

在對映檔的結構上,一張資料表視為一個類別(class),資料表中的每 一筆紀錄視為該類別中的實體(individual),而資料表中的欄位則被視為該 實例之屬性(attribute)。表 4-3 為對映檔中關鍵的設定段落,並個別說明之。

表 4 - 3 對映檔段落解釋

段落 說明

map:books a d2rq:ClassMap;

d2rq:dataStorage map:database;

d2rq:uriPattern

"books/@@books.id@@";

d2rq:class vocab:books;

d2rq:classDefinitionLabel "books";

規定表格 books 為一個類 別

map:books__label a d2rq:PropertyBridge;

d2rq:belongsToClassMap map:books;

d2rq:property rdfs:label;

d2rq:pattern "books #@@books.id@@";

.

map:books_title a d2rq:PropertyBridge;

d2rq:belongsToClassMap map:books;

d2rq:property dc:title;

d2rq:propertyDefinitionLabel "books title";

d2rq:column "books.title";

.

規定欄位 title,其類別屬 於 books,對應的知識本 體與詞彙為 dc:title,內 容為表格 books 之題名

(title)

44

為了將資料庫中的資料轉換為具有一致標準描述標籤的 RDF 格式資料,

必須在對映檔中選擇適當的描述詞彙替關聯式資料庫的欄位建立關聯,本研 究參考已發布鏈結資料之各國家圖書館的知識本體,如大英國家圖書館、德 國 國 會 圖 書 館 等 , 並 且 參 考 美 國 國 會 圖 書 館 於 2012 年 所 提 出 的

「Bibliographic Framework as a Web of Data: Linked Data Model and Supporting Services」,配合本系統所選用的資料欄位,得出如表 4-4 的鏈結資料欄位對 映表

publicationdate dc:issued 使用都柏林核心集的發行時間

amazon bibo:annotates 使用書目本體的註記

45

完成啟動後,伺服器將會讀取對映檔來建立鏈結資料服務,使得關聯式 資料庫中的資料,經過伺服器轉換後能以 RDF 格式呈現,使用者對 D2R 伺 服器下 SPARQL 查詢指令也可正常運行。此外,D2R 伺服器還提供多種存 取方式,包含 URI 參照以及鏈結資料的瀏覽與下載。

本系統為達成層面檢索的功能以及加快檢索效能,使用 Solr 來完成這 些目標,Solr 伺服器的建置可依照以下流程進行:

1. 環境設定:欲實踐 Solr 的檢索功能,首先必須將 MySQL 之資料匯入至 Solr,而 Solr 需要經過一些設定才能讀取 MySQL 之資料。Solr 的設置 是透過內部的 XML 文件進行操控,相關的 XML 設定檔皆放置於 conf 資料夾底下,schema.xml 是用於設定 Solr 如何處理資料欄位,而 solrconfig.xml 可用來設定 Solr 伺服器的各項功能。

2. 開啟終端機,輸入指令以執行 Solr 伺服器。

3. 資料匯入:完成設定兩個檔案後使 Solr 得以存取 MySQL 資料庫,圖 4-1 為 Solr 伺服器的資料匯入畫面。匯入 Solr 伺服器的書目紀錄將會同 時建立索引檔。

46

圖 4 - 1 Solr 資料匯入畫面

4. 建立查詢:完成伺服器啟動與資料匯入後,伺服器會接收來自使用者的 查詢詞,使用者可根據需求建立查詢參數,表 4-5 為 Solr 伺服器常用之 查詢參數。送出查詢參數給 Solr 伺服器之後,Solr 會回傳查詢結果給使 用者,而本系統將解析查詢結果,產生完整的檢索畫面呈現給使用者。

47

表 4 - 5 Solr 參數解說

第二節 系統建構

完成 D2R 伺服器以及 Solr 伺服器的建置之後,鏈結資料服務的基本雛 型已經完成。本研究以上述服務為基礎,為館藏查詢系統實作鏈結資料的加 值服務。本研究使用的電腦伺服器主機為臺灣師範大學圖書資訊學研究所所 有,建立的系統與服務放置於 http://140.122.104.78/opac/j3.php。圖 4-2 為本 館藏查詢系統之元件圖。本系統可分為六個單元,逐一解說如下:

參數 值 說明

q 欄位名:查詢字串 必填,欲查詢的字串

wt json || xml || csv || php 等等 回傳結果的資料格式

indent true||false wt 設定為 json,php 需將

indent 設定為 true

fl 欄位名 1,欄位名 2,.... 想要回傳的欄位

start 數字 設定回傳結果資料起始筆數

rows 數字 設定回傳結果資料結束筆數

sort 欄位名 asc || desc 依照欄位做遞增或遞減排序

48

圖 4 - 2 系統元件圖

一、 自動建議(Autocomplete)

在使用者開始輸入字串後,透過 JavaScript 即時傳送當下使用者所輸入 的內容,並且將內容傳送至 Solr 伺服器中進行比對,將符合內容的前十筆紀 錄回傳於系統,整理成一份清單供使用者選擇,使用者選擇清單中的項目之 後,系統會自動填入使用者尚未輸入完畢的字串,讓使用者可以進行查詢。

二、 讀取 VIAF(VIAF Reader)

若使用者輸入作者欄位進行查詢,系統會將關鍵字送往 VIAF 所提供之 API 比對最接近的人名,參見表 4-6,此為向 VIAF 檢索海明威(Hemingway)

範例。

49

表 4 - 6 VIAF 查詢網址

http://www.viaf.org/viaf/AutoSuggest?query=Hemingway

若有符合項目,VIAF 將回傳相關人物之 VIAF 編號,本系統會讀取來 自 VIAF 的作者紀錄,將作者的出生日、國籍、性別以及著作呈現於系統中,

參見表 4-7 ,此為海明威於 VIAF 中的紀錄。

50

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

PREFIX dbo: <http://dbpedia.org/ontology/>

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

PREFIX dbp: <http://dbpedia.org/property/>

SELECT distinct ?title WHERE {{

?s foaf:isPrimaryTopicOf <http://en.wikipedia.org/wiki/Ernest_Hemingway>.

?x dbo:author ?s.

?x rdfs:label ?title.

} union {

?s foaf:isPrimaryTopicOf <http://en.wikipedia.org/wiki/Ernest_Hemingway>.

<ns2:VIAFCluster xmlns="http://viaf.org/viaf/terms#" xmlns:foaf="http://xmlns.com/foaf/

0.1/" xmlns:owl="http://www.w3.org/2002/07/owl#"xmlns:rdf="http://www.w3.org/1999/

02/22-rdf-syntax-ns#" xmlns:void="http://rdfs.org/ns/void#" xmlns:ns2="http://viaf.org/viaf/terms#">

<ns2:viafID>97006051</ns2:viafID>

<ns2:Document about="http://viaf.org/viaf/97006051/">

<ns2:inDataset resource="http://viaf.org/viaf/data"/>

<ns2:primaryTopic resource="http://viaf.org/viaf/97006051"/>

</ns2:Document>

<ns2:nameType>Personal</ns2:nameType>

<ns2:sources>

51

?x dbp:author ?s.

?x rdfs:label ?title.

}

FILTER ( lang(?title) = 'en' ) }

三、 讀取書籍封面(Book Cover Reader)

本系統會盡其可能的將書籍的封面呈現給使用者。此部份有兩種方式進 行。其一,若書籍資訊本身附帶 ISBN,本系統會直接連接 LibraryThing 或 是 OpenLibrary 取回書籍封面。由於兩者會有書籍封面缺失的狀況發生,為

本系統會盡其可能的將書籍的封面呈現給使用者。此部份有兩種方式進 行。其一,若書籍資訊本身附帶 ISBN,本系統會直接連接 LibraryThing 或 是 OpenLibrary 取回書籍封面。由於兩者會有書籍封面缺失的狀況發生,為

相關文件