正则表达式是重要的文本预处理工具。
以下截取了部分正则写法:
我们在进行每一次文本处理时都要对文本进行统一标准化(text normalization)处理。
文本规模 How many words?
我们引入变量Type和Token
分别代表词典中的元素(an element of the vocabulary)和这个元素在文中的出现(an instance of that type in running text)。
如果定义 N = number of tokens 和 V = vocabulary = set of types,|V| is the size of the vocabulary,那么根据Church and Gale (1990)的研究工作可知: |V| > O(N?) ,我们可以从下图中的shakespeare著作和google多元模型等等的统计中看到上面的结论:
分词算法:
有时我们将非字母字符作为token分隔符作为简单的分词器实现,但这样存在许多弊问题像:
中文分词(Word Tokenization in Chinese)或者叫做(Word Segmentation),最简单且普遍使用的方法叫做最大匹配法Maximum Matching (also called Greedy)
其中正向最大匹配法FFM步骤如下(forward Maximum Matching):
具体方法可以参考这篇文章:
http://blog.sina.com.cn/s/blog_53daccf401011t74.html
文本归一化(normalization):
主要包括大小写转换、词干提取、繁简转换等问题。
断句(Sentence Segmentation and Decision Trees):
像 !, ? 等符号是有明确的分割意义的,但是在英文中“ . ”会在多种场景下被使用,如缩写“Inc.”、“Dr.”、“.02%”、“4.3”等,无法通过简单的正则表达式处理 ,我们引入了决策树的分类方法进行判断是否是句子中断EndOfSentence/NotEndOfSentence:
我们可以通过使用决策树的方式来解决问题,我们也可以基于上述特征使用其他分类方法如:逻辑回归,SVM,神经网络等等。
版权声明:本文为博主原创文章,未经博主允许不得转载。
斯坦福大学自然语言处理第二课“文本处理基础(Basic Text Processing)”
原文地址:http://blog.csdn.net/iothouzhuo/article/details/48006999