依照什么切分句子——標點符號
- 無歧義的:!?等
- 存在歧義的:. 英文中的.不止表示句號,也可能出現在句子中間,比如縮寫Dr. 或者數字里的小數點4.3
- 解決方法:建立一個二元分類器:
- 檢查“.”
- 判斷這個是不是出現在句尾
- 具體使用手寫規則(正則表達式)、機器學習分類器,最簡單的是決策樹
- 決策樹:
- 首先檢查是否在該詞之后有很多空白行,如果是,則該詞是句尾,否則檢查下一項
- 檢查最后一個標點是不是?, !, 或者:,如果是,則該詞是句尾,否則檢查下一項
- 檢查最后一個標點是不是句號,如果否,則該詞不是句尾,並結束,否則檢查下一項
- 檢查該詞是不是“etc”或者其他縮寫,如果是,則該詞不是句尾,否則是句尾
, E-O-S 表示End-Of-Sentence- 其都是基於經驗所建,可以有更復雜的規則如下:
- 帶.的詞:檢查第一個字母是不是大寫、或者小寫、是不是縮寫(比如Mr.)、是不是數字
- 檢查.之后的下一個單詞:第一個字母是不是大寫、小寫、縮寫或數字
- 檢查帶有.的數字:
- 檢查長度,一般縮寫詞的長度較短
- 檢查概率:在語料庫中檢索該詞作為句尾出現的概率
- 檢查概率:在語料庫中檢索.之后的那個單詞作為句首出現的概率
- 決策樹的本質就是一系列if-then-else的聲明,所以關鍵在於如何選擇特征,也就是if里的條件語句。手動選擇特征往往很難,所以一般用機器學習的方法提取特征
- 特征提取之后,也可以被用於其他分類器,比如邏輯回歸、SVM、神經網絡等等
