【NLP_Stanford课堂】句子切分
依照什么切分句子——标点符号
- 无歧义的:!?等
- 存在歧义的:. 英文中的.不止表示句号,也可能出现在句子中间,比如缩写Dr. 或者数字里的小数点4.3
- 解决方法:建立一个二元分类器:
- 检查“.”
- 判断这个是不是出现在句尾
- 具体使用手写规则(正则表达式)、机器学习分类器,最简单的是决策树
- 决策树:
- 首先检查是否在该词之后有很多空白行,如果是,则该词是句尾,否则检查下一项
- 检查最后一个标点是不是?, !, 或者:,如果是,则该词是句尾,否则检查下一项
- 检查最后一个标点是不是句号,如果否,则该词不是句尾,并结束,否则检查下一项
- 检查该词是不是“etc”或者其他缩写,如果是,则该词不是句尾,否则是句尾
, E-O-S 表示End-Of-Sentence
- 其都是基于经验所建,可以有更复杂的规则如下:
- 带.的词:检查第一个字母是不是大写、或者小写、是不是缩写(比如Mr.)、是不是数字
- 检查.之后的下一个单词:第一个字母是不是大写、小写、缩写或数字
- 检查带有.的数字:
- 检查长度,一般缩写词的长度较短
- 检查概率:在语料库中检索该词作为句尾出现的概率
- 检查概率:在语料库中检索.之后的那个单词作为句首出现的概率
- 决策树的本质就是一系列if-then-else的声明,所以关键在于如何选择特征,也就是if里的条件语句。手动选择特征往往很难,所以一般用机器学习的方法提取特征
- 特征提取之后,也可以被用于其他分类器,比如逻辑回归、SVM、神经网络等等
【NLP_Stanford课堂】句子切分的更多相关文章
- [精通Python自然语言处理] Ch1 - 将句子切分为单词
实验对比了一下三种切分方式: 1,2 : nltk.word_tokenize : 分离缩略词,(“Don't” =>'Do', "n't") 表句子切分的“,” &quo ...
- 【NLP_Stanford课堂】情感分析
一.简介 实例: 电影评论.产品评论是positive还是negative 公众.消费者的信心是否在增加 公众对于候选人.社会事件等的倾向 预测股票市场的涨跌 Affective States又分为: ...
- 【NLP_Stanford课堂】文本分类2
一.实验评估参数 实验数据本身可以分为是否属于某一个类(即correct和not correct),表示本身是否属于某一类别上,这是客观事实:又可以按照我们系统的输出是否属于某一个类(即selecte ...
- 【NLP_Stanford课堂】文本分类1
文本分类实例:分辨垃圾邮件.文章作者识别.作者性别识别.电影评论情感识别(积极或消极).文章主题识别及任何可分类的任务. 一.文本分类问题定义: 输入: 一个文本d 一个固定的类别集合C={c1,c2 ...
- 【NLP_Stanford课堂】拼写校正
在多种应用比如word中都有拼写检查和校正功能,具体步骤分为: 拼写错误检测 拼写错误校正: 自动校正:hte -> the 建议一个校正 建议多个校正 拼写错误类型: Non-word Err ...
- 【NLP_Stanford课堂】语言模型3
一.产生句子 方法:Shannon Visualization Method 过程:根据概率,每次随机选择一个bigram,从而来产生一个句子 比如: 从句子开始标志的bigram开始,我们先有一个( ...
- 【NLP_Stanford课堂】语言模型2
一.如何评价语言模型的好坏 标准:比起语法不通的.不太可能出现的句子,是否为“真实”或"比较可能出现的”句子分配更高的概率 过程:先在训练数据集上训练模型的参数,然后在测试数据集上测试模型的 ...
- 【NLP_Stanford课堂】语言模型1
一.语言模型 旨在:给一个句子或一组词计算一个联合概率 作用: 机器翻译:用以区分翻译结果的好坏 拼写校正:某一个拼错的单词是这个单词的概率更大,所以校正 语音识别:语音识别出来是这个句子的概率更大 ...
- 【NLP_Stanford课堂】词形规范化
一.为什么要规范化 在做信息检索的时候,一般都是精确匹配,如果不做规范化,难以做查询,比如用U.S.A去检索文本,结果文本里实际上存的是USA,那么实际上应该能查到的结果查不到了. 所以需要对所有内容 ...
随机推荐
- Myeclipse经常弹出Subversion Native Library Not Available
- I Hate It(线段树区间最值,单点更新)-------------蓝桥备战系列
很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老 ...
- vim(一) vim与markdown
vim markdown 配置 vim高亮显示Markdown语法 在.vimrc添加 Plugin 'godlygeek/tabular' Plugin 'plasticboy/vim-markdo ...
- HTTP时间指标
总下载时间 监测一个页面总的消耗时间,即从开始监测到监测结束的时间. 基础页面下载时间 基础页面即WEB服务器返回的纯文本HTML文件. 网络层时间 监测一个页面时,发生网络通讯的总消耗时间.IE浏览 ...
- archlinux安装交叉编译工具链
1. 在/usr/local下新建文件夹:arm [guo@archlinux local]$sudo mkdir arm 2. 将交叉编译工具拷贝到arm文件夹中 [guo@archlinux ...
- C++ GUI Qt4编程(07)-3.1menu
1. C++ GUI Qt4编程第三章,添加menu菜单. 2. mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include < ...
- 论文阅读 | Polygon-RNN:Annotating Object Instances with a Polygon-RNN
论文地址:https://arxiv.org/abs/1704.05548 项目地址:http://www.cs.toronto.edu/polyrnn 概述 Polygon-RNN是一篇收录于CVP ...
- Linux设备驱动开发基础--内核定时器
1. Linux内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执行某个函数的一种机制,其实现位于 <Linux/timer.h> 和 kernel/timer.c 文件 ...
- mysql 显示树结构表的节点全路径
SELECT TYPEID AS TYPEID, pTYPEID AS 父TYPEID, levels AS 父到子之间级数, concat(paths, ',', TYPEID) AS 父到子路径, ...
- 树莓派开启wlan功能
烧好系统之后,通过网线连接树莓派到路由器.通过ip登入系统,修改interfaces文件,添加下面内容 sudo nano /etc/network/interfacesauto wlan0allow ...