自然語言是人類獨有的智慧結晶。自然語言處理(Natural Language Processing,NLP)是計算機科學領域與人工智能領域中的一個重要方向,旨在研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。用自然語言與計算機進行通信,有著十分重要的實際應用意義,也有著革命性的理論意義。由于理解自然語言,需要關于外在世界的廣泛知識以及運用操作這些知識的能力,所以自然語言處理,也被視為解決人工智能完備(AI-complete)的核心問題之一。對自然語言處理的研究也是充滿魅力和挑戰的。
自然語言處理的困難關鍵在于消除歧義問題,如詞法分析、句法分析、語義分析等過程中存在的歧義問題,簡稱為消歧。而正確的消歧需要大量的知識,包括語言學知識(如詞法、句法、語義、上下文等)和世界知識(與語言無關)。由于歧義的存在給自然語言處理帶來兩個主要困難。
首先,當語言中充滿了大量的歧義,分詞難度很大,同一種語言形式可能具有多種含義。特別是在處理中文單詞的過程中,由于中文詞與詞之間缺少天然的分隔符,因此文字處理比英文等西方語言多一步確定詞邊界的工序,即“中文自動分詞”任務。通俗地說就是要由計算機在詞與詞之間自動加上分隔符,從而將中文文本切分為獨立的單詞。例如 “昨天有沙塵暴”這句話帶有分隔符的切分文本是“昨天|有|沙塵暴”。自動分詞處于中文自然語言處理的底層,意味著它是理解語言的第一道工序,但正確的單詞切分又需要取決于對文本語義的正確理解。這形成了一個“雞生蛋、蛋生雞”的問題,成為自然語言處理的第一條攔路虎。
除了在單個詞級別分詞和理解存在難度外,在短語和句子級別也容易存在歧義。例如 “出口冰箱”可以理解為動賓關系(從國內出口了一批冰箱),也可以理解為偏正關系(從國內出口的冰箱);又如在句子級別,“做化療的是她的媽媽”可以理解為她媽媽生病了需要做化療,也可以理解為她媽媽是醫生,幫別人做化療。
其次,消除歧義所需要的知識在獲取、表達以及運用上存在困難。由于語言處理的復雜性,合適的語言處理方法和模型難以設計。在試圖理解一句話的時候,即使不存在歧義問題,我們也往往需要考慮上下文的影響。所謂的“上下文”指的是當前所說這句話所處的語言環境,包括說話人所處的環境,或者是這句話的前幾句話或者后幾句話等。以“小A打了小B,因此我懲罰了他”為例。在其中的第二句話中的“他”是指代“小A”還是“小B”呢?要正確理解這句話,我們就要理解上句話“小A打了小B”意味著“小A”做得不對,因此第二句中的“他”應當指代的是“小A”。由于上下文對于當前句子的暗示形式是多種多樣的,因此如何考慮上下文影響問題是自然語言處理中的主要困難之一。
此外,正確理解人類語言還要有足夠的背景知識,特別是對于成語和歇后語的理解。比如在英語中“The spirit is willing but the flesh is weak.”是一句成語,意思是“心有余而力不足”。但是曾經某個機器翻譯系統將這句英文翻譯到俄語,然后再翻譯回英語的時候,卻變成了“The Voltka is strong but the meat is rotten.”,意思是“伏特加酒是濃的,但肉卻腐爛了”。導致翻譯偏差的根本問題,在于機器翻譯系統對于英語成語并無了解,僅僅是從字面上進行翻譯,結果失之毫厘,謬之千里。
中培作為國內資深IT教育機構,自然語言處理(NLP)學科自開設以來就廣受好評。如果你也想學習自然語言處理(NLP),跟著老師學習是最快的捷徑。可以報名我們的12月20日-24日在上海舉辦的公開課,名師大咖帶領你走進自然語言處理(NLP)精彩世界,避免走彎路!
想了解更多IT資訊,請訪問中培偉業官網:中培偉業