概述:
喬姆斯基(Noam Chomky)曾經把語言定義為:按照一定規律構成的句子和字符串的有限或無限的集合。也有把語言看成一個數學系統....深奧,看不懂~~~
總之呢,描述一種語言大致有如下三種途徑:
- 窮舉法
- 文法:每個句子都由嚴格定義的規則來構造,基于規則產生句子。我這里理解為我們語文中的語法規則。什么主謂賓之類的~~~
- 自動機法:通過對輸入的句子進行合法性監測區別哪些是語言中的句子,哪些不是。
形式語言
也稱之為代數語言學,用來精確的描述語言及其結構的手段。
形式語法的定義這里就不闡述了,可以參考wiki。文法表示為:。
喬姆斯基將文法分發分為如下四種:
- 正則文法
- 上下文無關文法
- 上下文相關文法
- 無約束文法
自動機
理論太難懂了..... 簡單說就是由5組元素組成,字符集,狀態集,狀態轉移,起始,末尾。5個要素。,
狀態轉移
文法與自動機之間的關系
文法中的非終結符可以理解為自動機中的字符集,終結符理解為狀態集,狀態轉移可以用規則轉換得到。
自動機的應用:編輯距離:從一個字符串轉變到另一個字符串最少步驟(插入,刪除,交換,修改)。場景應用:拼寫糾錯~。
拼寫糾錯
字母表A上的字母構成的所有合法單詞都是自動機中的一條路徑(有向圖)。即一條路徑上從起始狀態到終止狀態連起來的字符串就是合法拼寫。目標:尋找有向圖中編輯距小于給定閾值t的所有路徑。這些路徑就是滿足閾值t的相似拼寫集合。
當然,當數據量大的話,為了提高搜索速度,則會采取剪枝操作。
其中
編輯距離
例如:ed(hanzhou,hangzhou) = 1,需要進行一次插入操作。
主要思想:判斷當前是需要插入,交換,還是修改使得修改次數最小。
三種情況:
(1) ,當
。
(2),當
執行交換操作
(3) ,其他情況
簡單解析:
min 操作就是判斷前一步驟是修改,還是刪除,還是插入。ed(X{[i]},Y{[i+1]})是插入操作,ed(X{[i+1]},Y{[i]})刪除操作,ed(X{[i]},Y{[i]})則是修改操作。
附頁
常見符號解釋
標記代碼 | 標記名稱 |
---|---|
ROOT | 要處理文本的語句 |
IP | 簡單從句 |
NP | 名詞短語 |
VP | 動詞短語 |
PU | 斷句符,通常是句號、問號、感嘆號等標點符號 |
LCP | 方位詞短語 |
PP | 介詞短語 |
CP | 由‘的’構成的表示修飾性關系的短語 |
DNP | 由‘的’構成的表示所屬關系的短語 |
ADVP | 副詞短語 |
ADJP | 形容詞短語 |
DP | 限定詞短語 |
QP | 量詞短語 |
NN | 常用名詞 |
NR | 固有名詞 |
NT | 時間名詞 |
PN | 代詞 |
VV | 動詞 |
VC | 是 |
CC | 表示連詞 |
VE | 有 |
VA | 表語形容詞 |
AS | 內容標記(如:了) |
VRD | 動補復合詞 |
CD | 表示基數詞 |
來源原文:https://blog.csdn.net/lihaitao000/article/details/51812618