今天早上起床後閒來無事,無意識下,隨手拿了一本書開始閱讀,這本書是說明自然語言處理技術的書籍,介紹了從1970年那個時候的人到今天為止的研究,對自然語言的處理方式以及他們所使用的一些技術。我隨便翻了一個章節來閱讀,雖然這本書從前也閱讀過,但總是片片段段的零星閱讀,似乎我也沒有一次將這本書從頭到尾仔細看過,每次都隨手翻開這本書,匆匆閱讀幾個章節後又去忙別的事情了,這次的情況也是如此。這次閱讀了Part-of-Speech Tagging這一個章節,以前好像也曾經讀過,就當作是複習,又將這個章節讀一次。自然語言處理的過程中有一個步驟是做Part-of-Speech Tagging,這一個步驟的主要目的就是將所要處理的資料做分類,根據書中所提到的資料以及其他文獻中的資料,在執行這個步驟時需要一部字典來當做分類的參考依據,從字典中獲取某個單詞的詞性資料和線索,這些分門別類的詞性組成的集合叫做tagsets,世界上存在許許多多的tagsets,而且這些tagsets的數量也不固定,從40個到200個,有多有少,主要目的就是將文字的詞性分類。一般而言一個字不可能只有一個詞性這麼單純,通常都會有一個以上的詞性存在,既然有一個以上的磁性存再就會造成處理時發生混淆的現象,舉例來說:英文中的Book這個單字,可以當作名詞來使用,也可以當作動詞來使用,當作名詞他的中文解釋叫做書,當作動詞其中文翻譯叫做訂(如:訂房間)。不同的詞性造成的語意上的差異很大,如何消除這個混淆現象從1970年到今天人有不少人在研究。主要的方法有三種:第一種方法是定一些文法規則來辨別詞性,例如:英文中to 後面可能接動詞,字尾有s可能是名詞,當然這些規則一定有例外,遇到例外時要額外定義例外的規則處理,不是很方便。第二種是使用機率的方式來處理,從文章中統計出各詞性所會發生的機率,例如:p(V|book) =0.2, p(N|book) =0.8,上面的意思是說book這個英文單字出現時有20%的機會是當動詞,有80%的機會是當名詞,憑藉著這些機率數字我們來猜一猜到底book這個單字應該是動詞還是名詞。第三種方法是結合第一種和第二種方法所產生的方法,根據事先所撰寫的規則中判斷該單字的詞性,並使用HMM的方法來計算哪個詞性在此規則出現的機率比較高,並使用學習的演算法來調整這些結果,這類的學習演算法都需要人的介入去調整並修正這些錯誤的資料。另外在Part-of-Speech Tagging的另一個問題就是該字的詞性無法再字典中找到時應該如何解決?換句話說就是如果這個字是新創造應該如何給定它的詞性。是要根據某些規則來賦予他詞性呢?還是應用統計機率的方式來決定,如果是用機率的方式來決定他到底是屬用均勻分部還是其他哪一種分布。如果是均勻分部每種詞性出現的機率都一樣,所以新創造出來的字可能屬於任一種以定的詞性。這類的問題相當有趣,但至今似乎也沒有一個比較好的解決方式,如果有一個比較好的方式來解決這個問題,自動翻譯,無論是中翻英或英翻中,應該會比目前翻譯機翻出來的句子通順一些。
arrow
arrow
    全站熱搜

    CJY0503 發表在 痞客邦 留言(1) 人氣()