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

文本处理基础

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,神经网络等等。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-19 05:32:44

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

斯坦福大学自然语言处理第一课——引言(Introduction)

一.课程介绍 斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛Dan Jurafsky 和 Chirs Manning教授授课:https://class.coursera.org/nlp/ 以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展.注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学习. 课件汇总下载地址:斯坦福大学自然语言处理公开课课件汇总 二.自然语言处理概览——什么是自然语言处理(NLP) 1)相关技术与应用

斯坦福大学自然语言处理第四课“语言模型(Language Modeling)”

http://52opencourse.com/111/斯坦福大学自然语言处理第四课-语言模型(language-modeling) 一.课程介绍 斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛Dan Jurafsky 和 Chirs Manning教授授课:https://class.coursera.org/nlp/ 以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展.注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学

Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化”

Coursera公开课笔记: 斯坦福大学机器学习第七课"正则化" NLPJob 斯坦福大学机器学习第七课"正则化"学习笔记,本次课程主要包括4部分: 1) The Problem of Overfitting(过拟合问题) 2) Cost Function(成本函数) 3) Regularized Linear Regression(线性回归的正则化) 4) Regularized Logistic Regression(逻辑回归的正则化) 以下是每一部分的详细解读

java第二课,java基础2

关键字: 在java中被赋予了特殊含义的单词,具有特殊用途. 标识符: 由字母,数字,下划线(_),美元符($)组成,不能以数字开头,不能是java中的关键字,保留字,区分大小写,见名之意. 变量: 从本质上来讲,变量其实是内存中的一小块区域, 表示存储空间,用于存储常量数据, 先声明再赋值再使用 语法:变量类型 变量名=变量值: 命名规范与标识符一样. 变量名第一个首字母小写,其他单词首字母大写. 常量: *只允许赋值一次,在程序运行过程中不允许个更改 *语法: final  常量名=值 *程

斯坦福大学深度学习与自然语言处理第二讲

第二讲:简单的词向量表示:word2vec, Glove(Simple Word Vector representations: word2vec, GloVe) 转载请注明出处及保留链接“我爱自然语言处理”:http://www.52nlp.cn 本文链接地址:斯坦福大学深度学习与自然语言处理第二讲:词向量 推荐阅读材料: Paper1:[Distributed Representations of Words and Phrases and their Compositionality]]

斯坦福大学IOS开发课程笔记(第七课第二部分)

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/32163347 作者:小马 本篇是demo演示,程序其实就是上节课的心理学家那个demo, 不过在这个demo的基础上,把它作成一个通用版,可以自动识别当前运行的设备是iphone还是ipad,然后有不同的显示效果.所以,还是打开原来的Psychologist工程,在开始之前,我会用第五课讲的自动布局知识,让视图能在横屏模式下也可以正常显示.这一部分不细讲,参考第五课. 下面就可以

斯坦福大学深度学习与自然语言处理第一讲:引言

斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing ,授课老师是青年才俊Richard Socher,他本人是德国人,大学期间涉足自然语言处理,在德国读研时又专攻计算机视觉,之后在斯坦福大学攻读博士学位,拜师NLP领域的巨牛 Chris Manning和Deep Learning 领域的巨牛 Andrew Ng ,其博士论文是< Recursive Deep Le

斯坦福大学深度学习与自然语言处理第一讲

我学习自然语言是从Christopher D.Manning的统计自然语言处理基础这本书开始的,很多文本分析也是应用统计方法,或者机器学习的方法,而近年来深度学习逐渐渗入各个领域,其在自然语言处理领域中也取得了令人惊叹的效果,这成功的引起了我的重视,决定学习一下.何其所幸,让我找到了斯坦福大学深度学习与自然语言的课程,深得我心啊,所以打算好好学习一下,鉴于我爱自然语言处理中有相关课程的slides,我就直接复制粘贴了,接下来打算做的工作是对该课程中推荐阅读的部分论文做一些笔记.本人才疏学浅,专业

斯坦福IOS开发第五课(第二部分)

转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/27845257 作者:小马 五 代码示例 上面讲到的知识点在这个示例都有涉及.另外我这里也只是分析部分重要的代码,更多的知识了解请自行下载代码(文章最下面有地址)并结合公开课一起看. 新建一个single view的工程,然后新增一个视图类,叫FaceView,如下图所示: 然后我们在storyboard里拖进来一个通用的视图控件,作为上面那个视图类对应的视图,如下图所示: