已遷移到我新部落格,閱讀體驗更佳token:nlp之詞形還原
完整**實現放在我的github上:click me
載入dic_ec.txt詞典,詞典儲存著英到漢的對映,對於輸入的單詞,如果dic_ec.txt詞典中包含這個單詞的對映則直接輸出。下面給出dic_ec.txt內容的基本形式:
//gbk編碼,以\t分隔
homokaryosis none. 同核性, 同核現象
homokaryotic adj. 同核體的
homokurtic none. 等峰態性
homolanthionine none. 高羊毛氨酸
考慮到有些單詞本身就是原形,也是其它單詞的形態變換,所以在設計時決定把所有可能的結果都輸出。在完成詞典對映後再檢查該單詞是否能通過變換規則轉換得到。我們知道英文單詞的形態變換存在有規律的和無規律的變換,首先看有規律的變換,動詞的規律變換形式有下面4條規則:
規則1. *ves --> *f/*fe
規則2. *ies --> *y
規則3. *es --> *
規則4. *s --> *
名次的規律變換形式有下面9條規則:
//第三人稱單數
規則5. *ies --> *y
規則6. *es --> *
規則7. *s --> *
//現在進行時
規則8. *??ing --> *?
規則9. *ying --> *ie
規則10. *ing --> */*e
//過去時、過去分詞
規則11. *??ed --> *?
規則12. *ied --> *y
規則13. *ed --> */*e
通過在程式中寫入這些規則來對單詞形態進行還原,而無規則的形態變換只能通過預先建立好的詞庫來完成詞形形態對映。在程式中通重載入irregualr nouns.txt對名詞進行還原,載入irregualr verbs.txt對動詞進行還原。下面分別給出這兩檔案中的內容形式:
irregular nouns.txt的內容形式:
//gbk編碼,每行的第乙個詞是原形,後面的是變換形態,以\t分隔
grief griefs
roof roofs
gulf gulfs
grief griefs
irregualr verbs.txt的內容形式:
//gbk編碼,每行的第乙個詞是原形,後面的是變換形態,以\t分隔
bear bore borne born
alight alighted alit alighted alit
arise arose arisen
awake awoke awaked awoken awoke awaked
如果找到了還原對映,則在dic_ec.txt詞典中查詢還原後的單詞並輸出結果。
若最終該單詞沒有檢索到結果則把他登記到單詞缺失詞典missing words.txt中。
Hadoop之詞頻統計WordCount
參考文章 ubuntu16.04安裝hadoop單機和偽分布式環境超詳細 1.啟動hdfs start all.sh2.檢視hdfs下包含的檔案目錄 hadoop dfs ls 由於是第一次執行,沒有檔案 3.在hdfs中建立乙個檔案目錄input,將 usr local hadoop readme...
NLP之詞袋模型一
宣告 參考a gentle introduction to the bag of words model 目的 將不定長的文字型資料轉化為定長的數值型資料,以便用作機器學習模型的輸入。用處 常用於文字建模和分類。優點 簡單,易實現。缺點 不能考慮文字的結構和順序。以 雙城記 中的一段話為例 詞袋中的...
NLTK之詞性 POS 標註
詞性 pos 目前最先進的詞性標註演算法在 給定單詞的詞性上已經有了較高的精確度 約97 但詞性標註領域中仍有大量的研究等著我們。pos標記器 n gram標註器 正規表示式標註器 最大熵分類器 mec 隱性馬爾可夫模型 hmm 條件隨機場 crf import nltk from nltk imp...