Prolog 與 WordNet (3)

來源:互聯網
上載者:User
(9)wn_at.pl這個檔案描述名詞性的與形容詞性的同義字集合間的屬性關聯性。屬性是由名詞描述的實體特徵。各種屬性有各種取值,並由形容詞來描述。例如,名詞 size 是個屬性,所取的值是 little,small,big,large。名詞與形容詞之間的關係,由謂詞 at 定義:at(synset_ID_1,synset_ID_2).於是,詞條 at(104322959,301148236). 和 at(104322959,301149766). 確定了同義字集合104322959中的名詞 weight 是一屬性,並且與之相關的是同義字集合 301148236 中的 heavy 和 集合301149766中的 light。名詞與形容詞間的屬性關聯性,是語義層面的關係。(10)wn_ant.plant 是 antonymous(反義詞)的縮寫。檔案wn_ant.pl儲存的全是意思對立的兩個一組的反義詞。例如,natural object 與 artefact 是一對反義詞。表示反義關係的謂詞有4個形參:ant(synset_ID_1,w_num_1,synset_ID_2,w_num_2).ant(synset_ID_2,w_num_2,synset_ID_1,w_num_1).其中,synset_ID_1,w_num_1 指向一個詞,synset_ID_2,w_num_2 則指向其反義詞。反義關係是相互的,字面意義上的,因其涉及的是2個詞,而非2個同義字集合。(11)wn_sa.pl這一檔案中成對的詞彙,處於這樣一種關係:一個詞是對另一個詞的資訊補充。這種字面關係,僅存在於動詞之間或形容詞之間。表示這種關係的謂詞有4個形參:sa(synset_ID_2,w_num_2,synset_ID_1,w_num_1).先來看其對動詞的應用。前2個形參指定一個動詞,後2個形參定義意思相近的動片語。動片語由一個動詞和一個介片語成,並且,其含義可不同於原動詞。例如,give up 是個動片語,表示停止的意思,不同於原詞 give。sa(200001742,1,200003768,3).sa(200001742,1,200004389,3).其中,同義字組200001742和編號1,指定詞 breathe。第3和第4形參是其片語 breathe out 和 breathe in。給出的片語,只包括未改變原動詞意思的。對於形容詞,前2個形參指定一個形容詞,後2個形參指定另一個形容詞,並且,後者描述前者。如果同義字集合只有一個形容詞,詞彙編號w_num取值為0。例如,同義字集合 300012315 只有一個詞 abstract,於是,謂詞sa(300012315,0,302319830,0).sa(300012315,0,301928363,0).表示出集合302319830中無形難知的詞彙,和集合301928363中的抽象詞彙。(12)wn_ppl.pl謂詞 ppl 表示動詞和副詞間的“分詞”關係。英語有現在分詞和過去分詞,描述時態。由於 WordNet 儲存的資訊不區分時態,謂詞 ppl 描述動詞-副詞的分詞關係。將動詞尾加 -ing ,表示現在分詞,例如,在短語 a walking person 中,動詞 walk 變成形容詞 walking。將詞尾加 -ed,表示過去分詞,例如 the stressed person ,形容詞 stressed 由動詞 stress 變化而來。該謂詞有4個形參:ppl(synset_ID_1,w_num_1,synset_ID_2,w_num_).後2個形參指向動詞,前2個形參確定其相關的形容詞。這一關係是字面意義上的。(13)wn_per.pl謂詞 per/4 表示2個詞之間的從屬關係。per(synset_ID_1,w_num_1,synset_ID_2,w_num_2).前2個形參指定第1個詞,它是形容詞或副詞。若是形容詞,第2個詞必須是名詞或另一個形容詞。於是,原有的形容詞從屬於這個名詞或第二個形容詞。例如,第一個詞是 weekly,從屬於名詞 week。或者 transatlantic 從屬於 Atlantic。若前2個形參表示一個副詞,則第2個詞是其據以產生的形容詞。例如,副詞 essentially 產生於形容詞 essential。(14)wn_fr.pl這是最後一個Prolog資料庫檔案,為同一集合裡的動詞,提供通用的語句架構。相應謂詞是:fr(synset_ID,f_num,w_num).第1個形參是相關動詞同義字集合的標示。第3個形參以編號指定一個詞,若值為0,則適用於集合中的全部詞。第2形參指定動詞適用的語句架構。不幸地是,Prolog資料庫不提供語句架構的任何資訊。因此,這個謂詞沒有用處。你應該查詢 WordNet 文檔(Fellbaum et al. 2003d),找出與 f_num 對應的語句。在本文附帶的軟體包中,我放入了一個檔案 wn_sen.pl,它應當作為 WordNet 的原始檔案。據此,增加了謂詞 sen (是sentence的縮寫)。sen(f_num,string_1,string_2).形參 String_1 是查出的動詞之前的語句部分,string_2 是該動詞之後的語句部分。例如,prefer 是同義字集合201433968中唯一的單詞,查詢 fr_wn.pl,我們得到謂詞 fr(201433968,15,0).於是,我們得知在此集合中只有一個動詞,編號為 15。我們再查詢新的謂詞,從sen(15,‘Somebody’,‘s something to somebody’),發現動詞 prefer 的用法是“Somebody prefers something to somebody”。為了實驗謂詞 fr/3 和 sen/3,可以運行下列程式。當然,首先要用 consult 命令,把檔案 wn_s.pl, wn_fr.pl and wn_sen.pl 裝入記憶體。% 謂詞 sentence_frame(+Verb)% 以“原子”作形參,應為動詞,並在螢幕上列印包含該詞的語句sentence_frame(Verb) :-    s(Num,W_Num,Verb,v,_,_),    fr(Num,F_Num,W_Num),    sen(F_Num,String_1,String_2),    write(String_1),    write(Verb),    write(String_2), nl.sentence_frame(Verb) :-    s(Num,_,Verb,v,_,_),    fr(Num,F_Num,0),    sen(F_Num,String_1,String_2),    write(String_1),    write(Verb),    write(String_2), nl.謂詞 sentence_frame/1 從輸入的動詞,通過 s/6 找到它的同義字集合標示,然後,查詢謂詞 fr/3,匹配 W_Num 成功後,查詢 sen/3 得到動詞的上下文字串,將其列印。若 W_Num 匹配失敗,則回溯到 sentence_frame/1 的第二子句,此時,W_Num 值為0,即該集合中動詞只有一種上下文關係,並列印之。 例如:?- sentence_frame(‘prefer’).Somebody prefers something.?- sentence_frame(‘walk’).Somebody walks.?- sentence_frame(‘give’).Somebody gives somebody something.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.