跳到主要內容

Concise Feature: 表面式共現詞與文本式共現詞 Surface Cooccurrence and Textual Cooccurrence


Stefan Evert 在Corpora and collocations裡頭指出了三種詞語搭配(collocation)的計算方式,包括有表面式共現(surface cooccurrence)、文本式共現(textual cooccurrence)、以及句法式共現(syntax cooccurrence)這三種。現有的語料庫套裝軟體多具備第一種詞語搭配的計算,以一個節點詞,向前後延伸幾個單位的跨距,構成片段的文本。至於第二種和第三種共現詞的計算,則多半要使用相當客制化的程序來實現。說白了,要自己寫程式才能做到。


在現行的版本中,Concise的詞語搭配仍是以表面式共現作為基礎。然而,這種計算方法無法準確計算contingency table(列聯表,又稱條件次數表),過於貼近的節點詞會被重複計算。用下面這個句子來做個說明:

這隻 |  | 和 | 那隻 |  | 不是 | 同 | 一隻 | 

當我們使用表面上的共現,以左右跨距四個詞的方式進行搜尋時,Concise或大部份的軟體,都會將結果計算成:

                這隻 |  | 和 | 那隻 |  | 不是
這隻 |  | 和 | 那隻 |  | 不是 | 同 | 一隻 | 
 | 不是 | 同 | 一隻 | 

結果,原本出現次數僅有三次的「狗」,它出現次數變成了七。原來的一個文本,也被視為三個不同的文本分別計算。就這樣,僅能算出Evert列出的簡單關聯測量(simple association measures),也就是MI、MI3、t-score、z-score、simple-ll這幾種統計數字。簡單關聯測量僅需要運用共現次數(cooccurrence)的期望值即可進行估計,可以參考Evert的Corpora and collocations文章,也可以看某德國大學列出的Collocation Analysis。若進行Evert所稱的統計關聯測量(statistical association measures),如Odds Ratio、Dice coefficient、Log-Likelihood等統計數值,極容易出現誤差。

改採文本式共現(textual cooccurrence)來計算,可以避免表面式共現的缺點。進行文本式共現計算的第一步,是要從整份文件中取出一個個文本。在文章裡頭,進行文本式共現計算的文本通常會是一個完整句子。之後,再去計算節點詞和搭配詞出現在多少個文本,也就是多少個句子當中。


拿Evert那篇Corpora and collocations的例子來看,hat和over這一組搭配,它們的共現次數(cooccurrence)是1,但hat本身的出現次數是3,over則存在於兩個文本中,總文本數(Sample Size)是5。這樣的計算方式,捨棄了搭配詞的位置資訊,因此搭配詞是位在節點詞的哪一個方向,便不得而知。

同一段文字,若用表面式共現的計算方式,把跨距設為4,那麼共現次數會是2(最後一句有兩個),hat出現次數為3,over的出現次數也是3,樣本大小則是79(總字數)。

文本式共現的結果,可以直接拿來計算contingency table,但表面式的就需要調整。詳細的內容請自行參考Evert那篇Corpora and collocations


現階段在測試中的Concise,已經可以處理文本式共現的計算方式,也能處理Dice coefficient、Odds Ratio、Chi-squared (corr)、Log-Likelihood這些Evert稱為統計相關測量的指標。下面附上同一個文本使用不同共現方式的計算結果。

表面式共現 Surface Cooccurrence

文本式共現 Textual Cooccurrence

你應當發現,不同的計算方式對於排序是有影響的,計算出的次數和統計量也不相同。另外,使用表面式共現計算時,Odds Ratio會出現NaN無法計算的狀況發生。至於兩種不同共現的使用時機,我也還在研究。如果你已經有了一點心得,麻煩分享給我知道。


留言

熱門文章

OREO聖誕麋鹿 #差不多食譜

聖誕節就快到囉!今年我們用現成的材料,來做些簡單好玩的小東西。第一個登場的,就是有著紅鼻子的麋鹿。 3隻「OREO聖誕麋鹿」差不多需要這些材料: OREO餅乾 ...... 3片 蝴蝶餅 ...... 3-6片(掰斷有失敗的機會) 餅乾棒 ...... 3根(我用百力滋) 眼睛糖 ...... 6顆 紅色m&m's ...... 3顆(紅鼻子) 融化的巧克力 ...... 適量(黏著用) 「OREO聖誕麋鹿」差不多是這麼做的: Step 1. 準備好材料 計算一下自己想要做多少隻OREO聖誕麋鹿,按照材料表把需要的餅乾糖果給買回來。材料備齊之後,就把巧克力拿去用微波爐融化備用。沒有微波爐的也可以隔水加熱,想辦法把巧克力融化就可以。 Step 2. 製作麋鹿 再過來就要開始製作麋鹿了!先把OREO轉開,留下有奶油的那邊,待會方便把餅乾稍壓一下固定。 把蝴蝶餅掰斷成鹿角的樣子,沾上巧克力,擺到OREO上面。餅乾棒同樣沾上巧克力,一樣放上OREO。接著蓋上OREO,稍微壓一下。 這邊可以大膽去擺,在巧克力凝固前都可以調整。要是發現黏不太住,多沾點巧克力再試試。 Step 3. 擺出表情 接下來要用眼睛糖和紅色m&m's做出麋鹿的表情。用筷子將眼睛糖和m&m's沾上巧克力,黏到眼睛鼻子相應的位置就可以。 沒有辦法買到眼睛糖的,可以用白巧克力先畫出眼白,再用黑巧克力點出眼珠。紅鼻子也可以自己換成橘色、綠色、藍色等等不同的m&m's。 Step 4. 讓巧克力凝固 表情做好之後不要馬上移動,得要有點耐心讓巧克力凝固。要不然悲劇馬上就會發生,不是表情變扭曲,就是整支麋鹿散架。 等巧克力凝固後,就可以像棒棒糖那樣拿起來玩耍了。再來杯熱牛奶,整隻麋鹿給他泡下去也很有趣。 最後幫大家整理一下「OREO聖誕麋鹿」的做法: 巧克力用微波爐加熱融化備用。 轉開OREO。 蝴蝶餅掰成鹿角的形狀,沾巧克力後放上OREO餅乾。 餅乾棒同樣沾上巧克力,擺上OREO餅乾。 蓋上餅乾,在眼睛糖和紅色m&m’s背後沾上巧克力,黏到眼睛和鼻子相應的位置。 稍微等一下,讓巧克力凝固就好囉!

差不多食譜:手工巧克力餅乾 Chocolate Cookies

又是手工餅乾,最近一連出了兩份餅乾食譜,這個「手工巧克力餅乾」已經是第三份了。會不會有更多呢?我可以告訴大家,這是肯定的。 要怪就怪這個陰鬱的冬季雨天,哪裡都不方便去,也懶得出去。餅乾櫃空在那邊已經很久了,雖然有時候會嘴饞,但也沒有迫切去補貨的必要。反正經常開伙,平常該有的材料都會有,自己弄個成分完全透明的零食,也是個不錯的選擇。再說,用烤箱進行烘焙時,房間會變得比較乾燥,也比較溫暖。在夏天是個折磨,但到了冬天,這種感覺還滿不錯的。 話不多說,開始進行這一道「手工巧克力餅乾」的準備工作。

差不多食譜:檸檬餅乾 Lemon Biscuits

寒流來襲,氣象局持續發布低溫特報。在這冷颼颼的冬日,差不多食譜為您準備了一支有溫度的影片食譜「檸檬餅乾 Lemon Biscuits」。檸檬的酸味能夠讓您有清新的味覺,用檸檬做的餅乾則讓您解除冬日過份進補的油膩感,同時又滿足一直想吃東西的衝動。但我可沒說這種吃法的卡路里不高,對您的身材不會有影響。恐怕您還是得自己稍微節制些! 不過,說老實話,我單純是因為天氣太冷,所以把烤箱拿來當暖爐用。坐在烤箱後面等待餅乾完成,果真有暖呼呼的感覺。