Deep Learning Specialization on Coursera
NLPJob

标签热度

机器学习 coursera 斯坦福大学 公开课 斯坦福 深度学习 自然语言处理 python 数据科学 andrew ng 数学 nlp 数据分析 数据挖掘 神经网络 大数据 计算机科学 英语 deep learning 统计学 算法 课件 数据可视化 机器学习公开课 机器学习笔记 google 机器学习视频 计算机 推荐系统 数据结构 商业 r语言 java 密码学 udacity 金融 免费电子书 电子书 公开课笔记 计算机视觉 商务英语 学术英语 python数据可视化 机器学习课程 机器人 ted 文本挖掘 r 视频 java编程 回归模型 excel 深度学习课程 mysql cousera公开课 统计 大数据公开课 ted公开课 ted演讲 线性回归 mit 概率图模型 领导力 金融市场 tensorflow 学习英语 物联网 大数据专项课程 python入门 大数据课程 英语写作 英语学习 算法课程 强化学习 高级机器学习 kaggle 文本分析 机器学习资料 函数式编程 scala 游戏设计 cousera 机器学习系统 机器人公开课 开源代码 人工智能 普林斯顿大学 machine learning 线性代数 代价函数 软件工程 javascript 伯克利 市场营销 财务会计 沃顿商学院 网页开发 网站开发 web开发 网络安全 python数据科学 商业分析 非对称密码学 对称密码学 应用密码学 大规模数据科学 英语听说 概率 机器学习基石 python机器学习 算法公开课 源代码 数学思维 社交网络分析 微积分公开课 杜克大学 机器学习公开课视频 公开课视频 coursera公开课视频 coursera公开课 贝叶斯 信息论 离散数学 宾夕法尼亚大学 neural networks 伯克利大学 密歇根大学 成本函数 梯度下降 云计算 编译器 自动机 cs101 daphne koller spark 软件 管理 会计 英语交流 商业策略 风险管理 资产管理 地理信息系统 gis 卷积神经网络 面向对象编程 序列模型 移动应用开发 数据库 计算机通信 敏捷开发 高级商务分析 商务分析 商务英语课程 c语言 数据管理 投资 计算原理 计算基础 推荐系统导论 学术英语写作 android应用开发 android开发 android 机器人课程 机器人学 数据科学竞赛 yandex 深度学习公开课 深度学习书籍 数据集 机器学习资源 分布式 微积分 大规模机器学习系统 统计推断 数据科学公开课 游戏 数学思维公开课 机器学习课件 数学公开课 微积分公开课视频 微积分公开课下载 mit微积分 mit公开课 龙星计划 神经网络公开课 coursera视频 斯坦福公开课 windows ios udacity公开课 无人驾驶汽车 人机交互公开课 人机交互 正则化 过拟合 逻辑回归 模型思维 网易公开课 acl net 逻辑 cmu 情感分析 我爱公开课 引言 普林斯顿 经济 saas 52opencourse 逻辑导引 图模型 chirs manning dan jurafsky ppt 时间序列 go语言课程 go语言 工程师 语法 区块链基础 区块链 软件开发 商务基础 运营管理 商务 机器学习实战 数据系统 投资管理 swift 计算机安全与系统管理 系统管理 计算机安全 seo策略 seo工具 seo 组织领导力 css3 html5 会计基础 c sharp 英语沟通 并发 并行 全栈开发 数据仓库 商业智能 投资策略 金融基础 数据工程 python零基础 安全系统 现代密码学 硬件安全 软件安全 网络安全基础 递归神经网络 信息检索 云计算网络 云计算应用 云计算基础 云计算概念 分组交换网络 局域网 创意写作 写作 数学基础 台湾大学 基因序列 生物信息学 斯坦福算法课程 软件架构 软件设计 java程序设计 r语言基础 图论 组合数学 python数据表示 python基础 深度学习专项课程 游戏设计与开发 游戏开发 游戏设计概念 游戏设计艺术 angular 恐龙古生物学 恐龙 古生物学 推荐系统评价 jquery 英语语法 c# 高级算法 算法专项 iot python专项课程 python入门课程 商务英语交流技巧 商务英语交流 python社交网络分析 python文本挖掘 机器学习专项 金融价值 金融决策 金融公开课 数据结构与算法 大数据机器学习 大数据分析 商业与金融建模 金融建模 c++ 学术英语听说 数据分析工具 编程入门 编程 编程基础 算法思维 计算机基础 秘钥管理 hdfs 数据工程师 hive 3d交互设计 3d建模 虚拟现实 vr 洛桑联邦理工学院 函数式编程入门 数据科学课程 数据科学专项课程 学术英语课程 学术英语写作课程 斯坦福算法专项课程 斯坦福算法 python数据分析 英文简历 英文面试 英文写作 贝叶斯方法 商业分析技术 大数据建模 数据获取 数据清洗 文本挖掘课程 聚类分析 python公开课 python课程 主成分分析 深度学习资料 词意消歧 词义消歧 推荐系统入门 python书籍 机器学习算法 数据结构课程 图像处理 贝叶斯方法实战 深度学习源代码 sibyl p2p 机器学习书籍 数据结构资料 凸优化 推荐系统入门资料 数据科学导论 可视化 机器学习开源工具包 jane mcgonigal 公开课社区 挖课 courseminer 文本情感分析 多变量微积分 社会计算 数学分析公开课 概率图模型公开课 百度 吴恩达 香港科技大学 函数式语言 scala公开课 class2go coursera无法连接 coursera打不开 keith devlin 数学思维简介 社交网络 余凯 张潼 机器人视频 robert sedgewick 算法上 多伦多大学 莱斯大学 华盛顿大学 佐治亚理工学院 神经网络视频 矩阵 coursera在线视频

Text Summarization

Keyword Extraction

Text Processing

Word Similarity

Best Coursera Course

Best Coursera Courses

Elastic Patent

+5 投票

一、课程介绍

斯坦福大学于2012年3月在Coursera启动了在线自然语言处理课程,由NLP领域大牛Dan Jurafsky 和 Chirs Manning教授授课:
https://class.coursera.org/nlp/

以下是本课程的学习笔记,以课程PPT/PDF为主,其他参考资料为辅,融入个人拓展、注解,抛砖引玉,欢迎大家在“我爱公开课”上一起探讨学习。

课件汇总下载地址:斯坦福大学自然语言处理公开课课件汇总

二、文本处理基础

1)正则表达式
自然语言处理过程中面临大量的文本处理工作,如词干提取、网页正文抽取、分词、断句、文本过滤、模式匹配等任务,而正则表达式往往是首选的文本预处理工具。

现在主流的编程语言对正则表达式都有较好的支持,如Grep、Awk、Sed、Python、Perl、Java、C/C++(推荐re2)等。

注:课程中给出的正则表达式语法和示例在此略去
2)分词

  • 词典规模

同一词条可能存在不同的时态、变形,那么给定文本语料库,如何确定词典规模呢?

首先定义两个变量Type和Token:

-Type:词典中的元素,即独立词条

-Token:词典中独立词条在文本中的每次出现

如果定义 N = number of tokens 和 V = vocabulary = set of types,|V| is the size of the vocabulary,那么根据Church and Gale (1990)的研究工作可知: |V| > O(N½) ,验证如下:

  • 分词算法

任务:统计给定文本文件(如shake.txt)中词频分布,子任务:分词,频率统计,实现如下:

以上实现将非字母字符作为token分隔符作为简单的分词器实现,但是,这难免存在许多不合理之处,如下面的例子:

•Finland’s capital  ->  Finland Finlands Finland’s  ?
•what’re, I’m, isn’t  ->  What are, I am, is not
•Hewlett-Packard   ->  Hewlett Packard ?
•state-of-the-art     ->   state of the art ?
•Lowercase  ->  lower-case lowercase lower case ?
•San Francisco ->   one token or two?
•m.p.h., PhD.  ->  ??
上面的方法对英语这种包含固定分隔符的语言行之有效,对于汉语、日语、德语等文本则不再适用,所以就需要专门的分词技术。其中,最简单、最常用,甚至是最有效的方法就是最大匹配法(Maximum Matching),它是一种基于贪心思想的切词策略,主要包括正向最大匹配法(Forward Maximum Matching,FMM)、逆向最大匹配法(Backward Maximum Matching)与双向最大匹配法(Bi-direction Maximum Matching,BMM)。
以FMM中文分词为例,步骤如下:

• 选取包含N(N通常取6~8)个汉字的字符串作为最大字符串;

• 把最大字符串与词典中的单词条目相匹配(词典通常使用Double Array Trie组织);

• 如果不能匹配,就去除最后一个汉字继续匹配,直到在词典中找到相应的词条为止。

例如:句子“莎拉波娃现在居住在美国东南部的佛罗里达“的分词结果是”莎拉波娃/   现在/   居住/   在/  美国/   东南部/     的/  佛罗里达/”。

另外,使用较多的分词方法有最少分词法、最短路径法、最大概率法(或词网格法,大规模语料库+HMM/HHMM)、字标注法等。

  • 分词难点

-切分歧义:主要包括交集型歧义和覆盖型歧义,在汉语书面文本中占比并不大,而且一般都可以通过规则或建立词表解决。

-未登录词:就是未在词典中记录的人名(中、外)、地名、机构名、新词、缩略语等,构成了中文自然语言处理永恒的难点。常见的解决方法有互信息、语言模型,以及基于最大熵或隐马尔科夫模型的统计分类方法。

3)文本归一化

主要包括大小写转换、词干提取、繁简转换等问题。
4)断句

句子一般分为大句和小句,大句一般由“!”,“。”,“;”,“\“”、“?”等分割,可以表达完整的含义,小句一般由“,”分割,起停顿作用,需要上下文搭配表达特定的语义。

中文断句通常使用正则表达式将文本按照有分割意义的标点符号(如句号)分开即可,而对于英文文本,由于英文句号”.“在多种场景下被使用,如缩写“Inc.”、“Dr.”、“.02%”、“4.3”等,无法通过简单的正则表达式处理,为了识别英文句子边界,课程中给出了一种基于决策树(Decision Tree)的分类方法,如下图所示:

此方法的核心就是如何选取有效的特征?如句号前后的单词是否大写开头、是否为缩略词、前后是否存在数字、句号前的单词长度、句号前后的单词在语料库中作为句子边界的概率等等。当然,你也可以基于上述特征采用其他分类器解决断句问题,如罗辑回归(Logistic regression)、支持向量机(Support Vector Machine)、神经网络(Neural Nets)等。

三、参考资料

  1. Lecture Slides:Basic Text Processing
  2. http://en.wikipedia.org
  3. 关毅,统计自然语言处理基础 课程PPT
  4. Gale, W. A. and K. W. Church (1990) “Estimation Procedures for Language Context: Poor Estimates are Worse than None,” Proceedings in Computational Statistics, 1990, p.69-74, Physica-Verlag, Heidelberg .
  5. matrix67-漫话中文分词算法
  6. 中文分词入门之字标注法

 

分类:自然语言处理 | 用户: (2.4k 分)
修改于 用户:

登录 或者 注册 后回答这个问题。

...