跳到主要內容

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無法計算的狀況發生。至於兩種不同共現的使用時機,我也還在研究。如果你已經有了一點心得,麻煩分享給我知道。


留言

熱門文章

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

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

【豐原大蔥】免揉大蔥佛卡夏 No-knead Leek Focaccia - 差不多食譜

「豐原大蔥」的第二道食譜,就做 大蔥馬鈴薯濃湯 那篇提到的「大蔥佛卡夏」,而且用的還是懶人的免揉方法。不光是麵包,這份食譜還有一個衍生的副產品「大蔥油」,靈感來源就是蔥油拌麵。接著就來看看我是怎麼做的吧! 「大蔥佛卡夏」差不多需要這些材料:(20cm鑄鐵鍋) 豐原大蔥 ...... 1根 橄欖油 …… 適量(150ml左右) 高筋麵粉 …… 200g 鹽 …… 2g 酵母粉 …… 2-3g 水 …… 180-200g 「大蔥佛卡夏」差不多是這麼做的: Step 1. 製作「大蔥油」 說來你可能不相信,製作「大蔥佛卡夏」的「大蔥油」,靈感竟是來自於蔥油拌麵。但是大蔥油製作時需要人在旁邊顧著,而且炸過的大蔥也會拌進麵團裡面,正式製作佛卡夏前就先把這個大蔥油做好。 用小蔥製作蔥油的時候,只有切段丟進油裡去炸。可是我打算把炸過的大蔥一起揉到麵包裡,大蔥纖維比較不好咬斷,就先用刀子給它切碎。要注意的是,這裡我只用蔥白,以及稍微有點厚度的蔥綠,也就是蔥白和蔥綠交界那邊。 接下來,把切碎的大蔥放入鍋中,並倒入橄欖油,用中小火慢慢去炸大蔥。我不想要麵包裡黑黑的,所以炸到大蔥變軟,香味散出,顏色稍微黃一點的時候就可以關火,並將炸過的大蔥撈出放涼。 剩下的油就是大蔥油了,留下來炒菜、拌麵都很不錯。 Step 2. 製作佛卡夏麵團 拿個大碗,倒入高筋麵粉、鹽巴、酵母,再加上水攪拌成團。不用揉,只要成團就可以。 Step 3. 拌入大蔥發酵 往麵團中放入炸過而且放涼的大蔥,用湯匙或筷子拌進麵團。如果你的大蔥瀝的比較乾,再多補一兩匙大蔥油進去。當然,我這種差不多的作法,盛大蔥的碗底就差不多有一兩匙大蔥油了,整碗直接倒進去就好。 拌好後,找個蓋子蓋起來,室溫放一兩個鐘頭進行基礎發酵。也可以直接放進冰箱發酵,隔天再拿出來處理,就像其他的免揉麵包一樣。 Step 4. 移到烤盤 發酵完成,就可以把麵團轉移到烤盤上。我懶得洗鍋子,直接拿炸大蔥油的那個鑄鐵鍋當作烤盤來用。先在鑄鐵鍋(烤盤)底部抹些油,再灑些鹽巴,這樣麵包烤好之後表面就可以咬到一點鹹味。 接著就把麵團直接搬到烤盤,淋點大蔥油,開始用手指戳出佛卡夏特有的孔洞。操作之前記得洗手! 戳完孔後,切點蔥綠用大蔥油泡一下,均勻放在佛卡夏表面,並稍微壓進麵團裡。最後往表面再灑些鹽巴,同樣是在表面就可以嚐到些許的鹹味。這樣,就可以準備烘焙了! Step

差不多食譜:壽桃 Birthday Bunns

「壽桃」可不是老人家生日的專利,小巧玲瓏的壽桃超級受到小朋友歡迎,直說「好可愛喔!」其實壽桃就是一種造型饅頭/包子,只要掌握了這些方法,要做其他的造型都沒問題。