跳到主要內容

Concise Tutorial: 脈絡化的關鍵字 Concordance(Keyword in Context)


Concordancer

今天早上釋出了Concise 0.2.1b,修正了一些小小的問題,同時也為Concise的查詢增加了一個實用小功能——萬用字(wildcard)。在這篇Tutorial裡頭,我們就運用Concordancer來進行查詢的介紹,同時為關鍵詞進行脈絡化的工作。


1. 關鍵詞文脈(Keyword in Context)與詞語索引(concordance)

關鍵詞文脈(KWIC, Keyword in Context)的詞語索引(concordance)長久以來都是電腦化文本分析的一個重要工具。幾乎在每一個語料分析的工具中,都以某種類似的形式呈現。對搜尋引擎進行搜尋後,出現的部分內文預覽,就是這樣的一個概念。不單單是關鍵詞,連關鍵詞週遭的句子也一併呈現,使它構成一個簡短的文脈,這就是關鍵詞文脈(KWIC)的主要概念。而詞語索引(concordance)的工作則是將這些簡短的文脈,用比較清楚的方式呈現出來。

1.1. 關鍵詞搜尋

Concise中是以Concordancer來承擔詞語索引的工作。在上方的工具列中輸入想要搜尋的詞,並設定左右文脈的長度,按下放大鏡進行關鍵詞的脈絡化與詞語索引。這就是最簡單的詞語索引操作。

ToolBar

大部份的語料工具(如WordSmith和AntConc)是以視窗大小(window size or window span),也就是畫面中能夠容納多少的字元的方法來設定詞語索引的文脈大小。可是Concise的架構有點不同,是以詞語數來定義文脈的長短。並且以「段落」(純文字中則是以換行字元來界定段落)作為關鍵詞文脈的邊界。儘管設定左邊文脈的長度為10個詞,有時卻只會出現兩三個詞,甚至是空的。另外還有一點要注意,標點符號在Concordancer當中也被當成一個詞,在輸入搜尋條件的時候必須要考慮進去。

1.2. 脈絡化與再脈絡化

重新設定左右文脈的長度,可以調整詞語索引可見的範圍。然而,對於語料極少的眾多質化研究的使用者來說,只有一行簡短的文脈仍舊是不夠的,斷章取義的風險仍然太大。Concise提供了另一項再脈絡化的利器——File Viewer。在Concordancer的表格上,針對你想深入探究的文脈點兩下滑鼠,File Viewer便會出現在畫面右方,並且標出你所選取的關鍵詞位置,同時還凸顯出同樣關鍵詞在該檔案中的位置。這麼一來,應該可以避免過於片斷化、過於簡化的推論。

file viewer

File Viewer右方還提供了一個簡單的詞語索引的位置散佈圖,標示這個關鍵詞在整個檔案中的相對位置。假使你的文本是個演講稿,你就可以知道這個詞是否在某些時刻特別被強調。

不過File Viewer目前仍然限於使用小文章,無法開啟過大的語料檔案。如果要查看比較大的語料檔案的關鍵詞位置散佈狀況,請使用ConcordancePlotter來進行。


2. 進階搜尋

Concise提供三種搜尋方式,Word、Regex、還有Words List。

  • Word: 簡單的關鍵詞搜尋,可搭配萬用字使用(見2.1.與2.2.)
  • Regex: 使用正規表達式(regular expression)進行搜尋(見2.3.)
  • Words List: 使用詞表進行搜尋(見2.4.)

search action


2.1. 多個連續詞的搜尋

Concordancer除了進行單一個關鍵詞的搜尋之外,也可以進行多個連續詞的搜尋。比方說,我想知道「休閒農業」在這份語料檔中是怎麼被描述的,我就可以輸入「休閒 農業」。注意到,「休閒」與「農業」之間有個空格存在。換句話說,必須用空格來連接兩個連續的詞。再說得簡單一點,把中文當成英文來寫就對了,每個詞中間都要夾著空格。

mutiple words search

為什麼不能直接使用連續的「休閒農業」四個字進行搜尋呢?原因就出在中文對於詞的模糊定義。當然,如果你當初分詞的時候就將「休閒農業」視為一個詞,這麼做就沒有任何問題。只不過這麼一來,便會犧牲了「休閒」與「農業」單獨存在的意義解釋空間。在這份語料檔案中,「休閒」與「農業」是被當作兩個獨立的詞,要搜尋休閒農業就只能用空格將兩個詞給連起來了。


2.2. 使用萬用字(wildcard)

儘管Concise裡面提供了REGEX的搜尋方式(見2.3. REGEX),允許使用者用正規表達式(regular expression)來進行搜尋。但是對大部份的使用者來說,REGEX是個相當陌生的東西。所以,Concise決定在這個版本(0.2.1b)之後增加萬用字(wildcard)來解決這個問題。

wildcards

Concise提供下列萬用字,直接看例子應該比較容易瞭解。這些字都是可以替換的,你可以換成自己習慣使用的符號來用。

  • *:零或更多個字元(Zero or more characters)
  • ?:零或一個字元(Zero or one character)
  • +:任何一個字元(Any one character)
  • @:零或一個詞(Zero or one word)
  • #:任何一個詞(Any one word)
  • |:搜尋詞「或」搜尋詞(search term 'OR' search term)

使用「黑*」來搜尋時,可以找到「黑面琵鷺」、「黑豬」、「黑心」、「黑」等等。黑的後面可以有字,也可以沒有字。

wildcard star


使用「黑?」進行搜尋,則只能夠找到「黑豬」、「黑心」、還有「黑」。因為「?」的限制是零或一個字元。

wildcard question mark


用「黑+」搜尋的話,就只有「黑豬」、「黑心」兩個詞而已。「+」代表一定要有一個字元存在。

wildcard plus


使用「黑心@」來搜尋的話,則會找到「黑心」、「黑心 食品」。「@」代表的是詞,可以有一個也可以沒有。

wildcard at


使用「黑心#」來找的話,就只有「黑心 食品」了。「#」表示後面一定要接著一個詞才可以。

wildcard hash


用「黑心|黑豬」去找,就可以看到「黑心」或者「黑豬」構成的搜尋條件了。

wildcard pipe


熟練之後,可以使用更複雜的搜尋方式,像是「黑心|黑豬#等」來進行更精確的搜尋。

wildcard multiple search


2.3. REGEX

如果你會使用正規表達式(regular expression)的話,用Regex這個方法來搜尋會很方便。這裡不打算介紹正規表達式,有興趣的請看Java Pattern class的描述,或者使用線上的Regular Expression Test Page來嘗試。

只不過Concise因為架構的原因,針對正規表達式做了一個限制。在搜尋的正規表達式中,不能在()和[]之間夾著空格。空格對Concise來說,是詞與詞的連接符號。如果使用空格,表示的是前後兩個詞單獨的搜尋模板(pattern)。

regex search


2.4. WORDS LIST

運用詞表(Words List)來進行搜尋,則是單純將幾個詞的結果集合起來。不過,詞表當中無法使用萬用字或正規表達式,必須是精確的詞。

words list search


3. 小結

本文以Concordancer介紹了Concise中使用的搜尋模式,在Collocator和Word Cluster裡頭也可以使用相同的搜尋方式。事實上,Collocator和部份Word Cluster的資料基礎正是這些關鍵詞的簡短文脈所提供的。

回到關鍵詞文脈(Keyword in Context)的概念上,儘管Concise可以提供比較快速的方式去掌握文本,不過詮釋的功夫仍然在研究者或分析師的腦子中。因此,Concise在文脈的這個部分,提供了不同程度的再脈絡化工具,讓研究者能夠快速的穿梭在各種脈絡當中,掌握快速或全面的文本狀況。

留言

熱門文章

差不多食譜實驗:小烤箱烤長茄子? Oven-roasted Long Aubergine?

發佈了「 差不多食譜:小烤箱烤茄子 Oven-roasted Aubergine 」之後,有位朋友在YouTube上留言問說,這個方法也可以用在市場上比較常看到的那種長茄子嗎?當時我只能回答不知道,因為沒試過。現在我有答案了!結果是一半一半!

差不多食譜:香煎南瓜片 Pan-fried Pumpkin

托爺爺的福,在萬聖節那碗「 南瓜盅飯 」後,我還有個老家的南瓜可以用。但要怎麼好好運用這顆南瓜,卻是個不小問題。差不多食譜曾經試過「 醋漬南瓜 」、「 牛奶南瓜 」,還有「 南瓜濃湯 」幾種運用新鮮南瓜的料理,難度雖然都不高,看起來卻都不像平時會出現在餐桌的家常菜。這次我們不妨搞得家常一點,用廚房裡都會有菜刀和煎鍋 (除非你家不開伙) ,來弄個超級家常的「香煎南瓜片」。

上車睡覺、下車尿尿

台灣人對於旅遊的形容,往往是「上車睡覺、下車尿尿」。這是因為行程被極度壓縮,試圖要在最短的時間裡面看最多的東西,於是每個景點都只是蜻蜓點水般匆匆帶過,停留的時間往往等同於排隊上廁所的時間。 這個紫南宮的行程已在「人山人海的紫南宮」當中提到過,只是當初沒寫到為什麼要去參觀紫南宮。事實上,紫南宮最富盛名的是可以借錢的土地公。然而,這點對我們家人而言一點吸引力都沒有,反倒是那號稱七星級的廁所,才是吸引我們前往參拜的重點。或許你會說:「有沒有搞錯,開一個鐘頭的車去上廁所!」沒錯,行程就是這麼規劃的。 在過年期間要到紫南宮上廁所還不是件容易的事。首先,你必須先開車到紫南宮,這大概是最容易的部份。接著,你就得面臨搶停車位窘境。 過年期間,不論哪個景點都是人山人海,免費停車位更是難找。紫南宮雖然提供一大片停車場,在過年期間卻也不敷使用,每台進入停車場的車都虎視眈眈,只要哪邊出現一個車位,起碼就有四、五台車等著。 好不容易停好車,接下來就得穿越那群要去借錢、還錢、拜拜的人群。在那個地方,怎麼前進的都不知道,反正總會有人把你向前推進。 好不容易到達造價上億的廁所,人山人海的盛況依舊。還好這群並非全部都來上廁所,要不然廁所早就被塞爆了。聽老爸老媽說,上次他們來的時候廁所裡面都沒人,還可以在裡面拍照、欣賞噴水。但這次裡面卻塞了不少人,我也不好意思拿著那麼大的一台相機拍人家上廁所的模樣,只能拍拍外觀。 由於是在盛產竹筍的竹山鎮,廁所的外觀也用竹筍作為造型,每個竹筍下方都是一間造價昂貴的廁所。一個令我覺得很貼心的設計在於,廁所不僅僅只是男廁/女廁,還有一個殘障廁所,方便行動不便的人。 雖然招牌寫著「金筍迎客」,但是看起來那個筍子明明就是不鏽鋼的,除非把它理解成金屬。我還特地爬上廁所的樓頂,想說能不能看到些什麼特別的風景。可是過年期間,看到的除了人群還是人群。 上完廁所後,簡單徒手祭拜了提供廁所的土地公,我們又再次穿越那重重的人群。不過,我還是偷偷跑去滾了一下那個象徵「財源滾滾」的金元寶。最後,又踏上那個停車戰場,從容地離去。 我不奢望有賺大錢的機會,只要生活能過得去,偶爾還能買些奢侈品犒賞自己就夠了。不過這個願望似乎也不簡單!