CH1、導論
1.1語音與語言處理中的知識
·語音學與音系學专普,研究語言的語音:能夠接收并分析人發(fā)出的聲音信號粘昨;生成人能識別的生成信號
·形態(tài)學瞻讽,研究詞的有意義的組合:產生并識別單詞的變體,如can't
·句法學筷频,研究詞與詞之間的結構關系:組詞成句
·語義學蚌成,研究意義:解決詞的不同意思,了解語言實體的意義
·語用學凛捏,研究如何用語言來達成一定的目的:回答語的情感担忧,如直接的,委婉的坯癣,客氣的等
·話語學涵妥,研究大于話段的語言單位:使用代詞?這里不太懂
1.2歧義
語言中存在歧義坡锡,會產生不同的意思蓬网。
英文中:單詞的詞性;一詞多義鹉勒;代詞的指代帆锋;動詞的用法,如及物不及物會引起歧義禽额。同時锯厢,除了書面,語音中會引起同音的歧義脯倒。例如:I&eye
問:中文中有什么特別的歧義嗎实辑?
目前主要有兩大解決方法:詞匯排歧與句法排歧。其中詞匯排歧分詞類排歧(POS)和詞義排歧(word sense disambiguation)藻丢;句法排歧例如根據(jù)概率剖析判斷實體關系剪撬。
除了以上兩種,還可以根據(jù)語言行為解釋方法來解決悠反,如判斷一個句子是陳述句還是疑問句
1.3模型與算法
模型與理論中最重要的部分大多來源于狀態(tài)機残黑、形式規(guī)則系統(tǒng)、邏輯以及概率論和其他機器學習工具斋否。其中最重要的算法是狀態(tài)空間搜索算法和動態(tài)規(guī)劃算法梨水。
第一種要討論的模型是狀態(tài)機,狀態(tài)機是形式模型
第二種要討論的是陳述模型茵臭,最重要的是正則語法疫诽、正則關系、上下文無關語法、特征增益語句等
第三種要討論的是邏輯模型奇徒。傳統(tǒng)方法上雏亚,語義、語用很大程度上依賴依賴邏輯逼龟。
第四種概率論评凝。以上三種模型都可以使用概率得到進一步提升追葡。
概率論同時也是一種機器學習方法腺律。
1.4語言、思維和理解
1.5學科現(xiàn)狀與近期發(fā)展
1.6語音和語言處理簡史
計算機科學(自然語言處理)宜肉、電子工程(語音識別)匀钧、語言學(計算語言學)與心理認知語言學(computational psycholiguistics)等不同領域都有研究。
領域研究最早可以追溯到第二次世界大戰(zhàn)結束谬返,計算機剛剛發(fā)明的時代之斯。
1957年開始分為兩個學派:符號派&隨機派。符號派主要由語言學家與計算機科學家在兩個方面進行研究:一方面研究形式語言理論和生成句法遣铝;另一方面研究人工智能佑刷。隨機派主要由統(tǒng)計學家和電子學研究人員,應用貝葉斯解決最優(yōu)字符識別問題酿炸。
1970年出現(xiàn)四個paradigm:隨機范型瘫絮、邏輯范型、自然語言理解范型填硕、話語模型范型
1983年經驗主義與有限狀態(tài)模型復蘇
1994年概率與數(shù)據(jù)驅動的方法幾乎成為自然語言處理的標準方法麦萤。
ch2、政策表達式與自動機
2.1正則表達式
正則表達式的搜索要求有一個試圖搜索的模式pattern和一個被搜索的文本語料庫corpus
1.基本正則表達式模式:
正則表達式對大小寫敏感扁眯;
[]內的字符是或者的關系壮莹;
正則表達式[1234567890]可以表達任何簡單數(shù)字;
-可以表示某一范圍內的字符姻檀,如A-Z表示一個大寫字母命满;
^表示不出現(xiàn)某個單獨字符,但是僅當^在第一個字符時才起效果绣版;
周荐?表示前一個字符可有可無;
*表示前面一個字符可以出現(xiàn)零次或連續(xù)出現(xiàn)多次僵娃;
+表示前面一個字符出現(xiàn)一次或者多次概作;
.是一個通配符,表示任何一個字符默怨;
.*表示任何一個字符串讯榕;
\b表示詞界
2.pipe symbol、組合以及優(yōu)先級
|表示或者的關系;
()將多個字符組合成讓機器以為是一個字符愚屁;
()也可以用來表示算符之間的優(yōu)先關系济竹;
3.高級算符
{n}前面一個字符匹配n次;
{n,m}前面一個字符出現(xiàn)n到m詞霎槐;
{n,}前面一個字符至少出現(xiàn)n次送浊;
在引用特殊符號前要加\,如*丘跌;
4.利用正則表達式進行替換
s/(原表達式)/(新表達式)就可以進行替換袭景;
\1表示回過頭去參照第一個模式
2.2有限狀態(tài)機(finite-state automaton)
正則表達式時自然語言處理的計算工作的理論基礎。
有限狀態(tài)機可以由五個參數(shù)來定義:
1)N種狀態(tài)的有限集合
2)有限的輸入符號字母表
3)初始狀態(tài)
4)終止狀態(tài)的集合
5)狀態(tài)之間的轉移函數(shù)或者轉移矩陣
1.確定性識別算法
D-RECOGNIZE闭树,是一種沒有選擇的算法耸棒,對于任何的輸入,算法總是知道怎樣工作报辱。
算法第一步:初始化index与殃,使之成為傳送帶的愛頭
算法第二步:初始化自動機的狀態(tài)使之成為current-state
接下來算法進入一個loop不斷檢查是否已經到達輸入的終點。若到達輸入的重點則判斷是接受輸入還是拒絕輸入碍现;若未到達輸入的終點則根據(jù)轉移表判斷下一步地狀態(tài)幅疼,并更新index和current-state的值。若轉移表中沒有值則直接拒絕輸入昼接。
2.形式語言
形式語言是一種模型爽篷,這個模型能夠而且僅能夠生成或者識別滿足形式語言的定義所要求的某一形式語言的字符串。他是字符串的集合辩棒,而每個字符串由字母表的有限地符號的集合組合而成狼忱。
形式語言和自然語言是不同的,但通常我們使用形式語言來模擬自然語言的某些部分一睁。
3.非確定FSA
非確定PSA又叫NFSA钻弄,帶有判斷點的自動機稱為NFSA,或者存在沒符號的弧者吁。
在非確定自動機模型中存在選擇問題窘俺,對于非確定問題有三個解決方法:backup、look-ahead复凳、parallelism瘤泪;對于回退算法,我們需要記住兩點:1.機器將進入的狀態(tài)育八;2.輸入帶子上的相應位置对途。
NFSA的例子和算法語言沒看懂
NFSA系統(tǒng)的探索自動機中所有可能的解的路徑的算法稱為狀態(tài)空間搜索算法。這種算法定義一個空間髓棋,空間內包含所有可能的解实檀。提高算法的關鍵在于空間的順序惶洲。NFSA在處理狀態(tài)順序時用到的狀態(tài)通常被稱為深度優(yōu)先搜索或者后進先出策略,通過棧來實現(xiàn)膳犹。第二種狀態(tài)探索方法是廣度優(yōu)先搜索或者叫先進先出恬吕,通過隊列來實現(xiàn)。深度優(yōu)先算法可能陷入死循環(huán)须床,廣度優(yōu)先算法可能耗費相當大的存儲量铐料,所以適合小規(guī)模。對于大規(guī)模則更適合動態(tài)規(guī)劃和A*
4.DFSA與FNFSA的關系
對于任何NFSA存在一個完全等價的DFSA
how豺旬?沒看懂
2.3正則語言與FSA
由于由正則表達式所定義的語言類恰好也是有有限自動機所刻畫的語言類钠惩,所以我們把這些語言統(tǒng)稱為正則語言。正則語言定義如下:
正則語言定義看不懂了
正則表達式與自動機等價的證明可以分為兩個部分哈垢,第一:證明對于每一個正則語言都可以建立一個自動機妻柒;第二證明每一個自動機都可以建立一個正則語言扛拨。
但要特別注意的是正則表達式中的存儲器\1是無法實現(xiàn)成自動機的耘分。
CH3、詞與轉錄機
首先了解一個概念:形態(tài)剖析绑警。剖析是指取一個輸入并且產生出關于這個輸入的各類語言結構求泰,可以是形態(tài)結構、句法結構计盒、語義結構或話語結構渴频,產生的形式也可以是多樣的。形態(tài)剖析中一個重要算法就是有限狀態(tài)轉錄機北启。在實際應用中卜朗,也可以使用詞干還原、詞目還原咕村、詞例還原场钉、單詞氣氛、最小編輯距離等概念懈涛、算法或方法逛万。
3.1 英語形態(tài)學概觀
形態(tài)學研究如何從語素構成詞,語素是語言中具有意義的最小的單位批钠。語素可以被分為詞干和詞綴宇植,詞干是語素中的主要元素,詞綴則提供附加意義埋心。
利用語素構詞通常有四種方法“屈折”指郁、“派生”、“合成”拷呆、“附著”闲坎。
1)屈折形態(tài)學:英文名詞中通常只有兩種屈折變化,一種是加詞綴表示負數(shù),一種是加詞綴表示領域箫柳。英文的動詞相對復雜手形。動詞有三類:主要動詞、情態(tài)動詞悯恍、基礎動詞
2)派生形態(tài)學:英文中的派生通常是將詞干和一個語法語素結合形成通常是屬于不同此類的新詞库糠,新詞的意義也很難預測
3)附著:英文中通常有兩種附著成分,一種是前附著成分涮毫;一種是后附著成分瞬欧。
以上討論的范疇都是毗連形態(tài)學,但此時又相互毗連的詞素構成的罢防;還有一種是非毗連形態(tài)學艘虎,單詞中的中綴就是非毗連形態(tài)學的一個實例。
語言中存在著復數(shù)語素咒吐,時態(tài)語素野建,行的標記等。這是我們還需要要求他們必須保持一致恬叹。
3.2有限狀態(tài)轉錄機
我們之前討論的都是形態(tài)剖析候生,當實現(xiàn)形態(tài)剖析器的時候我們需要:詞表、形態(tài)順序規(guī)則绽昼、正詞法規(guī)則(拼寫規(guī)則)
而有限轉態(tài)轉錄機就是一種實現(xiàn)此表的形態(tài)特征建模和形態(tài)剖析的一種工具唯鸭。
我們使用FSA可以實現(xiàn)形態(tài)識別,也就是判斷有字母構成的輸入字符串是否是合法的硅确。但FSA是能返回合法與非法目溉。這是我們就需要有限狀態(tài)轉錄機,他可以進行形態(tài)剖析他可以同時進行輸入和輸出菱农。
FST有四個使用途徑:識別器缭付、生成器、翻譯器大莫、關聯(lián)器蛉腌。
FST有兩個附加的必包特性:逆反和組合。逆反使得用于剖析的轉錄機可以轉化為作為生成的轉錄機只厘;組合可以使兩個轉錄機轉化為一個更為復雜的轉錄機烙丛。
轉錄機通常是非確定性的,有一些可以轉化成確定性的狀態(tài)轉錄機羔味。定序轉錄機是轉錄機的一個次類河咽,她的輸入是確定的,但輸出不一定是定序的赋元。后繼轉錄機是定序轉錄機的泛化忘蟹。定序轉錄機與后記轉錄機都是確定性的飒房,無法處理歧義,但它們都將輸入的字符串準確的轉錄為一個可能的輸出媚值。p-后繼轉錄機是后繼轉路機的一種泛化狠毯,他可以處理有限數(shù)目的歧義。
1)用于形態(tài)剖析的FST
根據(jù)有限狀態(tài)學理論褥芒,我們可以吧FST看成是兩個帶子嚼松,上層帶子表示詞匯帶子,下層帶子表示表層帶子锰扶。
2)用轉錄機實現(xiàn)正詞法規(guī)則
此時需要引入拼寫規(guī)則或者叫正詞法規(guī)則献酗,以此來處理語素邊界發(fā)生的拼寫變化問題。
3)把FST詞表與規(guī)則相結合
4)與詞表無關的FST:Porter詞干處理器
不要求大規(guī)模的聯(lián)機詞表坷牛,所以通常用于網(wǎng)絡搜索和信息檢索罕偎。
3.3單詞和句子的詞例還原
把文本切成單詞和句子就是詞例還原。
英文切詞中比較簡單京闰,可以應用空格來進行切分颜及,但也存在一定的問題。
句子切分也是文本的關鍵步驟忙干,一般依據(jù)標點符號進行器予。比如英文的.
中文自動切詞
中文切詞最簡單的算法是最大匹配算法浪藻,是一種貪心的搜索算法捐迫,他要求匹配一個次詞典。
3.4拼寫錯誤的檢查與更正
并寫錯誤的更正的標準算法是一種概率算法爱葵,拼寫錯誤檢查與更正基本有三大類:非錯詞錯誤檢查施戴、孤立詞錯誤更正、依賴于上下文的錯誤檢查與更正萌丈。
對于非詞錯誤檢查通吃藁可以使用詞典。更正的話可以使用最小編輯距離算法辆雾。他是衡量兩個字符串之間的距離肪笋,相似程度。