已迁移到我新博客,阅读体验更佳token:NLP之词形还原 完整代码实现放在个人github上:click megit
//gbk编码,以\t分隔 homokaryosis none. 同核性, 同核现象 homokaryotic adj. 同核体的 homokurtic none. 等峰态性 homolanthionine none. 高羊毛氨酸
规则1. *ves --> *f/*fe 规则2. *ies --> *y 规则3. *es --> * 规则4. *s --> *
名次的规律变换形式有下面9条规则:github
//第三人称单数 规则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的内容形式:vim
//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词典中查找还原后的单词并输出结果。编码