码迷,mamicode.com
首页 > 编程语言 > 详细

斯坦福大学自然语言处理第二课“文本处理基础(Basic Text Processing)”

时间:2015-08-26 20:14:22      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:自然语言处理   斯坦福大学   nlp   

文本处理基础

1.正则表达式(Regular Expressions)

正则表达式是重要的文本预处理工具。
以下截取了部分正则写法:

技术分享
技术分享
技术分享


2.分词(Word tokenization)

我们在进行每一次文本处理时都要对文本进行统一标准化(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分隔符作为简单的分词器实现,但这样存在许多弊问题像:

    • Finland’s capital –> Finland Finlands Finland’s ?
    • what’re, I’m, isn’t -> What are, I am, is not
    • Hewlett-Packard -> Hewlett Packard ?
    • Lowercase -> lower-case lowercase lower case ?
    • 。。。
      虽说上面的方法对英语这种包含固定分隔符的语言行之有效,但是对于汉语日语等词语间没有空格的就不适用了。

    中文分词(Word Tokenization in Chinese)或者叫做(Word Segmentation),最简单且普遍使用的方法叫做最大匹配法Maximum Matching (also called Greedy)

    其中正向最大匹配法FFM步骤如下(forward Maximum Matching):

    • 正向即从前往后取词,对照字典中的词语进行匹配
    • 如果没有匹配成功,则删除掉最后一个词,继续匹配。
    • 重复2步骤直到匹配成功,则将匹配到的词取出作为成功的词片段,继续匹配剩下的词语(前面删除掉的收回)

    具体方法可以参考这篇文章:
    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)”

标签:自然语言处理   斯坦福大学   nlp   

原文地址:http://blog.csdn.net/iothouzhuo/article/details/48006999

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!