林夢虹
摘 要:菜名作為專有名詞的一部分,在計算機(jī)分詞中,常屬于“未登錄詞”部分。本文選取600個閩菜名為調(diào)查材料,測試PHP分詞系統(tǒng)在對材料進(jìn)行切分時的效率,分析該分詞系統(tǒng)在菜名切分時存在的問題及問題的主要類別,試圖解釋造成分詞結(jié)果錯誤的原因,提出解決思路。
一、閩菜名特點及對其進(jìn)行正確的識別、切分的必要性
作為中國八大菜系之一的閩菜以福州菜為代表,另外包括閩南菜、閩西菜等。閩菜所選用的食材種類較為豐富,盛產(chǎn)海鮮的東南沿海地區(qū)擅于使用海鰻、蟶子、魷魚等海鮮為原料烹制各式菜肴,內(nèi)陸山區(qū)則多用筍、香菇、雞鴨等山珍野味。閩菜的烹調(diào)方式多樣而又不失自身特色,擅長“炒、熘、煎、煨”等,“糟”是閩菜的一大特色。在命名活動中,符號化的“事物”需要得到社會的、心理的、文化的認(rèn)同。只有經(jīng)過“文化世界的折光”,抽象的所指才能和事物之間建立比較確定的聯(lián)系,符號才能名稱化,成為真正能夠指代事物的名稱。閩菜名作為標(biāo)記具體菜肴的符號,或反映菜品的原料,如“蘿卜鯽魚”“鱘肉豆苗”,或表現(xiàn)該菜的烹調(diào)方式,如“熗糟雞絲”,或運(yùn)用比喻、借代等修辭手法展示該菜的特點,如“龍須燕丸”,或反映菜式的來源,如“福州魚丸”,具有較為深厚的文化內(nèi)涵。
有關(guān)是否應(yīng)該對菜名進(jìn)行切分的問題,存在不同的觀點?!冬F(xiàn)代漢語語料庫加工規(guī)范——詞語切分與詞性標(biāo)注》中認(rèn)為,食譜上的菜名等通常也是短語型的,若拆開了,意思差別甚遠(yuǎn),則不切分,否則切分。即使不切分,也不看作專有名詞,例如木犀肉/n,芝麻/n餅/n。本文認(rèn)為,菜名應(yīng)屬于“專有名詞”的范疇:首先,一個菜名往往與一個具體的、確定的菜品相互對應(yīng);其次,若以拆開后意義與原意的差別程度作為是否切分的標(biāo)準(zhǔn),在實際運(yùn)用時難以落實。
對于計算機(jī)分詞系統(tǒng)來說,相當(dāng)大一部分菜名屬于“未登錄詞”,即詞典中沒有收錄的詞,而“未登錄詞”對于分詞精度的影響是不容忽視的,因此對菜名進(jìn)行相對準(zhǔn)確的識別與切分是必要的。孫茂松、鄒嘉彥(1995)指出,真實文本中(即便是大眾通用領(lǐng)域),未登錄詞對分詞精度的影響超過了歧義切分。未登錄詞處理在實用型分詞系統(tǒng)中占的份量舉足輕重。通過相關(guān)的分詞實驗以及對結(jié)果的分析,本文認(rèn)為能否正確識別菜名對分詞結(jié)果也具有一定的影響,在進(jìn)行機(jī)器翻譯時,不能正確識別菜名的問題,會影響到翻譯的準(zhǔn)確性。大量菜名中包含“煎、炸、炒”等在實際語用中可作動詞的烹飪方式,而自動分詞系統(tǒng)在對菜名進(jìn)行切分時,往往將菜名中的烹飪方式判斷為動詞,導(dǎo)致了切分錯誤或是詞性判斷錯誤。例如“肉燒白菜”這個菜名,若分詞系統(tǒng)將“燒”判定為動詞,本為名詞性短語的菜名就被切分為“主語+謂語+賓語”的成分。又如福建名菜“佛跳墻”,若分詞系統(tǒng)未能識別這是一個菜名的話,就很難得出合適的結(jié)果。另外,未能正確識別、切分菜名還可能導(dǎo)致其所在句子的錯誤切分。例如:“他愛吃西紅柿炒雞蛋?!比绻衷~系統(tǒng)不能正確識別“西紅柿炒雞蛋”這個菜名,就可能導(dǎo)致“他|愛|吃西紅柿|炒雞蛋”這樣錯誤的切分結(jié)果。
二、本文調(diào)查語料的來源及基本情況
(一)語料來源
本文共收集了600個閩菜名稱,主要來自閩菜菜譜及網(wǎng)絡(luò):
1.《家常閩菜1000樣》
2.《中華名菜薈萃——閩菜》
3.美食天下:http://www.meishichina.com/Topic/CaiXi/MinCai/
(二)語料基本情況
本文所收集的菜名,包含福建境內(nèi)不同地區(qū)的各式菜肴,涵蓋了福州菜、閩南菜、閩西菜三大部分,所使用的食材包括海產(chǎn)品、河鮮、山珍等,烹調(diào)方式則包括蒸、燒、炒、熘、炸等。菜名音節(jié)數(shù)從二到七個不等,音節(jié)具體情況。
(三)PHP簡易中文分詞系統(tǒng)簡介
本文在進(jìn)行切分菜名實驗時選用了PHP簡易中文分詞(SCWS)第四版在線分詞系統(tǒng),其鏈接為:http://www.ftphp.com/scws/demo/v4.php。相關(guān)資料顯示這是一套基于詞頻詞典的機(jī)械中文分詞引擎,能將一整段的漢字基本正確地切分成詞。它采用自行采集的詞頻詞典,并輔以一定程度上的專有名稱、人名、地名、數(shù)字年代等規(guī)則集,經(jīng)小范圍測試大概準(zhǔn)確率在90%~95%之間,已能基本滿足一些中小型搜索引擎、關(guān)鍵字提取等場合運(yùn)用。SCWS采用純C代碼開發(fā),以Unix-Like OS為主要平臺環(huán)境,提供共享函數(shù)庫,方便植入各種現(xiàn)有軟件系統(tǒng)。此外它支持GBK,UTF-8,BIG5等漢字編碼,切詞效率高。
三、PHP簡易中文分詞系統(tǒng)(第四版)對閩菜名的切分情況
“分詞單位”也可稱作“切分單位”,是指信息處理中使用的、具有確定的語義和語法功能的基本單位。《信息處理用現(xiàn)代漢語分詞規(guī)范》中指出,分詞單位包括了語言學(xué)中“詞”的全部,如“火車”“學(xué)習(xí)”“更加”;以及滿足某些條件的“詞組”的一部分,如“牛肉”“一個”“越來越”。北京大學(xué)計算語言學(xué)研究所的《現(xiàn)代漢語加工規(guī)范——詞語切分與詞性標(biāo)注》(1999年3月版)中指出,切分單位主要是詞,也包括了一部分結(jié)合緊密、使用穩(wěn)定的詞組。邢福義先生主編的《現(xiàn)代漢語》對“詞”的定義是:具有一定語音形式的、能獨立運(yùn)用的、最小的語言單位。只有少數(shù)菜名是直接由語言學(xué)上的“詞”構(gòu)成的,更多的菜名是由兩個或者以上語言學(xué)上的“詞”組合構(gòu)成的名詞性短語。所謂“名詞性短語”,也叫體詞性短語。性質(zhì)上是名詞性的,功能上跟名詞相當(dāng),經(jīng)常充當(dāng)主語、賓語。
本文在使用PHP簡易中文分詞系統(tǒng)(第四版)對600個中文簡體的閩菜名進(jìn)行切分實驗時,所選擇的編碼類型是GBK,并在復(fù)合分詞選項下選擇了“標(biāo)注詞性”的功能。在判斷分詞效率時,主要考查兩個方面:1.一個菜名被切分后分詞單位的數(shù)量;2.對于被切分后分詞單位的數(shù)量為兩個及以上的菜名則考慮系統(tǒng)對各部分的詞性標(biāo)注是否恰當(dāng)。菜名作為一個整體,應(yīng)該屬于名詞性成分,表示烹飪方式的那部分動詞進(jìn)入菜名作為其構(gòu)成部分時,詞性應(yīng)該與原本的動詞有所差別。
(一)不同音節(jié)閩菜名的切分情況
1.雙音節(jié)閩菜名的切分情況
本文的分詞實驗材料中共有雙音節(jié)閩菜名6個,被分詞系統(tǒng)判定為一個分詞單位的有三個,占總數(shù)的50%,其中,詞性被判定為名詞的只有2個,分別是肉松和素雞,“姜雞”被識別為一個分詞單位,但詞性被標(biāo)注為人名(nr),其原因可能是“姜”除了表示一種食物以外,還可以作為姓氏使用。其余雙音節(jié)菜名均被切分為兩部分,并在詞性標(biāo)注上存在問題?!霸泺啞敝械摹霸恪北慌卸樾稳菰~,然而,“糟”字的詞性一般情況下是形容詞,意義與“好”相對,但在閩菜中,“糟”是一種特殊的烹飪方式。
2.三音節(jié)閩菜名的切分情況
在對104個三音節(jié)閩菜名進(jìn)行切分時,分詞單位個數(shù)為1且詞性標(biāo)注正確的閩菜名僅有“鍋邊糊”。另有“金鯉蝦”“白片羊”等4個閩菜名被判定為一個分詞單位,但詞性被標(biāo)注為人名?!疤?n什錦/n”“荔枝/n肉/n”“砂鍋/n雞/n”等38個菜名被切分為兩個名詞性成分的組合;“釀/v青椒/n”“醉/v排骨/n”“酒/n蒸/v雞/n”等42個菜名中包含的烹飪方式被標(biāo)記為動詞;“扁肉燕”“紅糟雞”等10個菜名因包含“扁”“糟”等可作為形容詞使用的成分,分詞系統(tǒng)未能對其進(jìn)行正確識別。除此之外,未能被正確識別的閩菜名還有“佛跳墻”“五柳居”等來源于相關(guān)故事典故的菜名。
3.四音節(jié)閩菜名的切分情況
材料中的四音節(jié)閩菜名共有285個,占總數(shù)的47.5%,是不同音節(jié)數(shù)菜名占總數(shù)的比重最大的,因此,四音節(jié)菜名的切分情況相對較為重要。被判定為一個分詞單位的只有“游龍戲鳳”“梅開二度”等4個借用成語的菜名。包括“白糖/n鍋巴/n”“太極/nz明蝦/n”“湯醬/nr草頭/n”“包心菜/n卷/q”“甜/a山藥/n桃/n”“蔥/n燒鴨/n塊/q”在內(nèi)的181個四音節(jié)閩菜名被切分成幾個名詞性的分詞單位?!凹t燜/v豬蹄/n”“生/v蒸/v龍蝦/n”“炸/v核桃/n魚/n”等24個四音節(jié)閩菜名被切分為動賓結(jié)構(gòu)的動詞性短語?!笆[/n烤/v草魚/n”“香/n炸/v苦瓜/n”“神仙/n整/v雞/n”等32個四音節(jié)閩菜名被切分為“名詞+動詞+名詞”的結(jié)構(gòu)。另有“酥/a 豬肝/n 排/v”“雞/n 茸/@ 蠣/@ 糊/v”等菜名在切分之后為“名詞+動詞”結(jié)構(gòu)。
4.五音節(jié)閩菜名切分情況
材料中共有187個五音節(jié)閩菜名,占總數(shù)的31.2%,其數(shù)量僅次于四音節(jié)閩菜名?!鞍壮?nr龍蝦/n片/q”“偏口魚/n燉肉/n”“八寶/n書包/n魚/n”等113個五音節(jié)閩菜名被切分為幾個名詞性的分詞單位?!叭馄?n燒/v茄子/n”“三/m絲/n拌/v糟/a雞/n”“桔汁/nz加力/v魚/n”等37個五音節(jié)閩菜名被切分為“名詞+動詞+名詞”的形式?!昂秃?v大烏/nr參/n”“烤/v木筆/n鯧魚/n”等21個五音節(jié)閩菜名切分后表現(xiàn)為動賓短語。“金黃/z栗子/nr松/v”“百合/n花生/n糊/v”等4個五音節(jié)閩菜名被切分為“名詞+動詞”形式。另有“肉片/n燜/@扁豆/n”“雞湯/n汆/@海/n蚌/n”“大棗/n煨/@兔肉/n”等12個五音節(jié)閩菜名含有“燜”“汆”“煨”等系統(tǒng)不能正確識別的字詞。
5.六音節(jié)閩菜名的切分情況
材料中的15個六音節(jié)閩菜名稱都被切分成為若干部分,主要類型有名詞性成分的組合,如“什錦/n蜂窩/n豆腐/n”;述賓結(jié)構(gòu),如“紅燜/v通心/nz河鰻/n”;主謂結(jié)構(gòu),如“陵/ng島/n生/v蒸/v龍蝦/n”等。此外,“松脆”“酥”等對口感的描述性成分也被單獨切分成一個單位。
6.七音節(jié)閩菜名的切分情況
因為音節(jié)數(shù)過多不方便使用和記憶,不利于人們快捷地提取有關(guān)菜品特色的信息等因素,七音節(jié)的菜名并不多見。實驗材料中僅包含3個七音節(jié)閩菜名,分詞結(jié)果分別為:“雙/m冬/nr肉絲/n豆腐/n湯/n”“江東/nr鱸魚/n燉/@姜絲/n”“蓮蓬/n菠菜/n豆腐/n湯/n”。
(二)閩菜名切分結(jié)果的主要類型
通過對不同音節(jié)數(shù)閩菜名切分后結(jié)果的綜合分析,可以歸納出以下6種主要類型:
1.若干個名詞的組合
這類菜名主要構(gòu)成部分是做菜的原材料,例如“酸梅/n藕/n”“白糖/n鍋巴/n”“豆腐/n魚尾/n湯/n”“什錦/n蜂窩/n豆腐/n”“蓬萊/n菠菜/n豆腐/n湯/n”等。
2.“動詞+名詞”式
這類菜名主要結(jié)構(gòu)為“烹飪方式+原料”,例如“熏/v河鰻/n”“燒/v白鴿/n罐/q”“炒/v菠蘿/n鴨/n片/q”“紅燜/v通心/nz河鰻/n”等。
3.“名詞+動詞+名詞”式
這種形式的菜名結(jié)構(gòu)一般為“配料+烹飪方式+主料”,例如“酒/n蒸/v雞/n”“枇杷/n拌/v雞/n”“海米/n拌/v萵筍/n”等。
4.“名詞+動詞”式
被切分為這種形式的菜名,一般是由于以“凍”“煎”“排”“松”“扣”“糊”等具備動詞性的詞結(jié)尾造成。例如“土/n筍/n凍/v”“蠔/@子/k煎/v”“香油/n蝦n/排/v”“五彩/n蝦/n松/v”“五彩/n珍珠/ns扣/v”“百合/n花生/n糊/v”等。
5.直接借用成語或其他固定短語作為菜名
如“梅開二度/l”“吉祥如意/l”“百花爭艷/i”等。
6.來源于典故、故事的菜名
系統(tǒng)往往未能正確識別這些菜名背后的典故,僅憑字面上的語法關(guān)系對其進(jìn)行切分,造成了錯誤,例如“佛/n跳/v墻/n”“五/m柳居/nr”等。
材料中不同音節(jié)數(shù)閩菜名在以上六種主要類型中的分布情況。
根據(jù)上圖可知,僅有極少數(shù)的閩菜名能夠被分詞系統(tǒng)識別為一個分詞單位(不考慮詞性標(biāo)注正確性)。被切分為名詞與名詞相互組合結(jié)構(gòu)的菜名數(shù)量最多,動賓結(jié)構(gòu)的次之,另外,“名詞+動詞+名詞”的形式也較為普遍。
四、分詞結(jié)果可能帶來的問題
(一)即便是由名詞組成的菜名,其整體意義并不等于各部分名詞意義的簡單相加,因此對這類菜名進(jìn)行切分時不合理的。根據(jù)實驗結(jié)果,結(jié)合具體材料,可發(fā)現(xiàn)在被切分為名詞的組合的那部分菜名里,存在一部分菜名切分后的意義與原本的意義出入較大。如“炒面/n線/n”,原本應(yīng)劃分為“炒/v面線/n”,但由于該詞組存在交集型歧義,分詞系統(tǒng)將其處理為“炒面”“線”這兩個名詞的組合,不符合該詞組本來的意義。另一個例子“福州/ns肉/n燕/nr”中,“肉燕”本是福州地區(qū)一種類似餛飩的小吃名稱,被切分開后意義發(fā)生了極大的改變。材料中的其他許多閩菜名,如“蝦仁/n芙蓉/n蛋/n”“雪/n中魚/nz”等,在被切分后意義都發(fā)生了不同程度的改變。
(二)對于被切分為“動詞+名詞”或是“名詞+動詞+名詞”的菜名在進(jìn)入句子后,分詞系統(tǒng)對它們的判定仍然是動賓結(jié)構(gòu),可能導(dǎo)致這個句子其他部分的分詞錯誤。在機(jī)器翻譯過程中,這樣的分詞結(jié)果可能導(dǎo)致影響整句的翻譯結(jié)果。例如“扒/v燒/v全/a雞/n”這個菜名進(jìn)入句子后的分詞結(jié)果為“扒/v燒/v全/a雞/n是/v道菜/n。/un”這個菜名在入句前后的標(biāo)記結(jié)果未見差別,而實際上,這個菜名在進(jìn)入句子后,應(yīng)視作一個名詞性成分。又如“粉絲/n燴/v雞/n”這個菜名進(jìn)入句子后的分詞結(jié)果為“他/r喜歡/v粉絲/n燴/v雞/n”,切分結(jié)果并不能很好地體現(xiàn)句子層次及語義內(nèi)容,給機(jī)器翻譯帶來困難。
(三)“五彩/n蝦/n松/v”“五彩/n珍珠/ns扣/v”等被切分為“名詞+動詞”結(jié)果的菜名則因為菜名構(gòu)成部件存在多義性而導(dǎo)致的詞性判斷錯誤。在切分這類菜名時,分詞系統(tǒng)存在明顯的缺陷,對單個菜名的切分已經(jīng)產(chǎn)生嚴(yán)重失誤。
(四)分詞結(jié)果為一個分詞單位的那部分菜名中也存在問題?!懊烽_二度”“吉祥如意”等以固定詞組為菜名,這些詞組作為菜名使用時的意義與其原本的意義并不相同。如果不能分辨它們在句中出現(xiàn)時是使用原義還是菜名,就會給整體句意的理解帶來影響。
(五)包含了可兼為食材名和姓氏的成分的菜名,例如“姜”“湯”“黃”等往往被判定為人名,如“姜雞/nr”“湯醬/nr草頭/n”“荷包/n黃翅魚/nr”等。這樣的分詞結(jié)果顯然不符合菜名的本義。
(六)在遇到一些較為生僻的烹飪方法用字或是食材用字時,分詞系統(tǒng)也產(chǎn)生切分失誤。例如“雞湯/n汆/@海/n蚌/n”“大蔥/n燜/@羊肉/n”“炣/@豆腐/n蠣/@”等。
五、分詞系統(tǒng)可能進(jìn)行的一些改進(jìn)
根據(jù)PHP簡易中文分詞系統(tǒng)對600個閩菜名的分詞結(jié)果,本文認(rèn)為該系統(tǒng)可能通過一些改進(jìn),提高對菜名的識別和切分能力,以提高分詞效率。
俞士汶主編的《計算語言學(xué)概論》一書中指出,解決未登錄詞識別問題的策略主要有三種:一是盡可能多地收入詞匯,以降低碰到未登錄詞的機(jī)會;二是通過構(gòu)詞規(guī)則和上下文特征規(guī)則來識別;三是通過統(tǒng)計的方法來猜測經(jīng)過一般的分詞過程后剩下的“連續(xù)單字詞碎片”是人名、地名等的可能性,從而識別出未登錄詞。
有關(guān)未登錄詞的識別問題,目前已有一些工作涉及到中國人名的識別、外國譯名的識別、中國地名的識別及機(jī)構(gòu)名的識別,提出了基于模式匹配的中文專有名詞識別、基于統(tǒng)計的中文專有名詞識別等不同方式。菜名的識別,可以借鑒這些專有名詞識別研究工作上已經(jīng)取得的成果。
另有一些識別未登錄詞的解決方案可供參考。陳小荷(1999)指出,在識別未登錄詞時,現(xiàn)有兩種解決方案:個別解決方案和一攬子解決方案。其中,個別解決方案主要針對專名未登錄詞,有建立專名資料庫、利用上下文啟發(fā)信息等方法。一攬子解決方案則包括有窮多層列舉法、語料庫統(tǒng)計、局部統(tǒng)計、結(jié)合詞性標(biāo)注等方法。除此之外,他還提出了自己的一攬子解決方案:先用最大概率法進(jìn)行第一趟分詞,識別已登錄的多字詞;再運(yùn)用概率計算的方法在“分詞碎片”中尋找未登錄詞。
參考在未登錄詞識別研究上已有的成果,本文認(rèn)為,分詞系統(tǒng)在識別菜名時,可采取不同方式,以相互補(bǔ)充、配合。以下是可采用的方法:
1.適當(dāng)擴(kuò)充詞表:利用語料庫、人工篩選相結(jié)合的方法,選取一部分相對穩(wěn)定、常用的菜名,將其收入到詞表中。
2.分析菜名構(gòu)詞規(guī)則上的特點,歸納總結(jié)菜名構(gòu)詞規(guī)律,提高分詞系統(tǒng)對菜名的識別能力。
3.利用語料庫,考察與菜名相匹配的前后成分的情況,分析其上下文特征,為識別菜名提供幫助。
4.對于未收錄到詞表中的,根據(jù)其自身結(jié)構(gòu)或上下文情況也難以使分詞系統(tǒng)識別的那部分菜名,可以通過統(tǒng)計的方法來猜測經(jīng)過一般分詞過程后剩下的“連續(xù)單字詞碎片”是菜名的可能性,從而對其進(jìn)行識別。
參考文獻(xiàn):
[1]孫茂松,鄒嘉彥.漢語自動分詞研究中的若干理論問題[J].語言
文字應(yīng)用,1995,(4).
[2]國家技術(shù)監(jiān)督局.中華人民共和國國家標(biāo)準(zhǔn)GB/T 13715—92[A].
信息處理用現(xiàn)代漢語分詞規(guī)范[C].北京:中國標(biāo)準(zhǔn)出版社,1993.
[3]孫茂松,鄒嘉彥.漢語自動分詞研究評述[J].當(dāng)代語言學(xué),2001,
(1).
[4]高紅,黃德根,楊元生.漢語自動分詞中中文地名識別[J].大連
理工大學(xué)學(xué)報,2006,(4).
[5]王興義.基于模式匹配的中文專有名詞識別[D].山西大學(xué),2005.
[6]俞士汶.計算語言學(xué)概論[M].北京:商務(wù)印書館,2003.
[7]吳景耀.中華名菜薈萃·閩菜[M].長春:吉林?jǐn)z影出版社,2002.
[8]鐘安妮.論中國菜名中的文化內(nèi)涵[J].探求,2006,(1).
[9]俞士汶,段慧明,朱學(xué)峰,孫斌.北京大學(xué)現(xiàn)代漢語語料庫基本
加工規(guī)范[J].中文信息學(xué)報,2002,(2).
[10]邢福義,汪國勝.現(xiàn)代漢語[M].武漢:華中師范大學(xué)出版社,
2003.
[11]陸儉明.有關(guān)詞性標(biāo)注的一點意見[J].語言文字應(yīng)用,2004,
(2).
[12]北京大學(xué)計算語言學(xué)研究所.現(xiàn)代漢語語料庫加工規(guī)范——詞
語切分與詞性標(biāo)注[Z].1999年3月版.
[13]黃昌寧,趙海.中文分詞十年回顧[J].中文信息學(xué)報,2007,
(3).
[14]黃昌寧.中文信息處理的分詞問題[J].語言文字應(yīng)用,1997,
(1).
[15]陳小荷.自動分詞中未登錄詞問題的一攬子解決方案[J].語言
文字應(yīng)用,1999,(3).
[16]黃昌寧.中文信息處理中的分詞問題[J].語言文字應(yīng)用,1997,
(1).