Sentence   Detection

Apache OpenNLP Sentence Detector能够检测到一个句子中的标点符号是否标记着句子的末尾。在这个意义上,一个句子被定义为由两个标点符号标记的最长的空格修整的字符序列。第一个和最后一个句子违背了这个原则。第一个没有空格的字符被假定为一个句子的开始,最后一个没有空格 的字符被假定为句子的结尾。

通常,Sentence Detection在句子被标记之前完成,并且在网站上的预训模型(pre-trained models)是以这种方式被训练的,但是也可以首先执行tokenization,让Sentence Detector处理已经tokenized的文本,OpenNLP Sentence Detector
无法识别基于句子内容的句子边界,一个突出的例子就是,一篇文章中的第一个句子(标题)被错误的识别为第一句的第一部分,大多数OpenNLP中的组件期望输入被分割成很多子句。

Sentence   Detection  API

1、Sentence Detector 可以很方便的通过他的API集成到一个应用中。在实例化Sentence Detector之前,必须首先加载sentence模型。

InputStream modelIn = new FileInputStream("en-sent.bin");

try {

SentenceModel model = new SentenceModel(modelIn);

}

catch (IOException e) {

e.printStackTrace();

}

finally {

if (modelIn != null) {

try {

modelIn.close();

}

catch (IOException e) {

}

}

}

2、在模型加载后,可以实例化SentenceDetectorME

SentenceDetectorME sentenceDetector = new SentenceDetectorME(model);

3、Sentence Detector可以输入一个String数组,数组中每一个元素都是一个句子

String sentences[] = sentenceDetector.sentDetect("  First sentence. Second sentence. ");

这个结果数组包括两个记录。第一个String是“Frist sentence.”,第二个String是“Second sentence.”。在输入的String之前,之后,中间的空格都被移除。这个API也提供了一个方法,他简单的返回了这个输入String中的句子的span

4、Span sentences[] = sentenceDetector.sentPosDetect("  First sentence. Second sentence. ");

这个结果数组也包括两个记录。第一个span开始于索引2,结束于17。第二个span开始于18,结束于34。公共方法Span.getCiveredtext 可以创建一个子String,它仅仅包含这个span中的字符

openNLP--Sentence Detector相关推荐

  1. Apache OpenNLP

    Apache OpenNLP库是一种基于机器学习的工具包,用于处理自然语言文本. 它支持最常见的NLP任务,如标记化,句子分割,词性标记,命名实体提取,分块,解析和参考解析. 通常需要这些任务来构建更 ...

  2. 史上R语言最强--资源(免费课程、书籍、教程和各种高级图表)

    史上R语言最强–资源(免费课程.书籍.教程和各种高级图表) 下面是一些免费R的书籍.教程.软件包.图表2单和其他材料,可以在网上学习编程和改进工作流程.有单独的概述 Python resources, ...

  3. [NLP]OpenNLP语句检测器的使用

    目录 Sentence Detector 模型训练 语句检测 Sentence Detector 语句检测器,OpenNLP语句检测器可以检测标点字符是否标记了句子的结尾.在这个意义上,句子被定义为两 ...

  4. OpenNLP使用小结

    http://danielmclaren.com/2007/05/11/getting-started-with-opennlp-natural-language-processing OpenNLP ...

  5. R+openNLP︱openNLP的六大可实现功能及其在R语言中的应用

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- openNLP是NLP中比较好的开源工具,R语 ...

  6. OpenEphyra学习笔记1

    下载了开源对话系统OpenEphyra的源代码进行学习,在Eclipse下进行编译,波折不断,犯了些错误. 1. 通过Import Project后在workspace建立了OpenEphyra的pr ...

  7. 中文分词软件包的使用

    中文分词 (Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词.分词就是将连续的字序列按照一定的规范重新组合成词序列的过程.我们知道,在英文的行文中,单词 ...

  8. [NLP]OpenNLP标记器的使用

    目录 Tokenizer 模型训练 句子分词 Tokenizer OpenNLP标记器将输入字符序列分段为标记.标记通常是单词.标点符号.数字等.标记化是一个两阶段的过程:首先,确定句子边界,然后识别 ...

  9. [NLP]OpenNLP语言检测器的使用

    目录 Language Detector 模型训练 语言类型预测 Language Detector 语言检测器,属于分类范畴.即OpenNLP语言检测器根据模型的能力用ISO-639-3(国际语种代 ...

最新文章

  1. C#简介- 类和对象
  2. 黄了。Google中国版搜索
  3. 软件项目管理0819:一页项目管理——风险,定性问题和其他评价指标
  4. 一个很简单的淡入淡出相册 (转)
  5. boost::mp11::mp_partition相关用法的测试程序
  6. 二叉树表达规定形式的代数表达式并计算表达式结果(无明显缺陷版本)
  7. Python控制台英汉-汉英电子词典
  8. 【笔记】JavaScript高级篇——面向对象、原型、继承
  9. 第七章节 类的抽象(抽象类和接口的区别)
  10. [模板制作技巧3]控制每页显示组的数目
  11. 接口中定义的成员变量是( )。_C++:如何正确的定义一个接口类
  12. 概率论-多维随机变量及其分布思维导图
  13. IO流---Reader和Writer
  14. Windows_01_Windows系统的中的32位和64位(System32和SysWOW64)
  15. 全国软考——软件评测师有感
  16. android adb命令唤醒屏幕,如何使用adb命令打开和关闭屏幕?
  17. php错误排查 写入文档,php error_log 错误信息写入文件
  18. i2c-tool使用详细说明
  19. 【MATLAB编程实战】【例题实战】绘制曲面、曲线,求解偏导,计算极值点,二重积分,曲线积分,收敛性,麦克劳林展开式
  20. java小程序增删改查_用java编一个卡拉ok小程序 有增删改查就可以

热门文章

  1. SQL 复习二(数据查询语言)
  2. 设计模式网站 http://www.cnblogs.com/justinw/archive/2007/02/06/641414.html
  3. jenkins sonar配置
  4. [Server] HP DL380 G6更新esxi6.0 SATA 硬盘掉线问题
  5. 跟我一起数据挖掘(23)——C4.5
  6. 【仿某公司前台】 asp安全查询系统
  7. 交换机集群管理(锐捷)
  8. 简单的路由封装ppp
  9. 晚上大龙哥带来了一本vb教程,由于好奇看了下
  10. 怎么删除用户_误删的手机照片怎么恢复?三种快速恢复的方法