加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何分割句子?

发布时间:2020-12-15 08:43:46 所属栏目:Java 来源:网络整理
导读:所以,我发现并且目前正在使用Stanford Parser,它可以很好地分割句子.我们的大多数句子来自AP,所以它对这项任务非常有效. 这是问题所在: 它吃了很多记忆(600M很多) 它确实搞砸了文本正文的格式,我必须在以后制作大量边缘情况. (文档预处理器API调用不允许指
所以,我发现并且目前正在使用Stanford Parser,它可以很好地分割句子.我们的大多数句子来自AP,所以它对这项任务非常有效.

这是问题所在:

>它吃了很多记忆(600M很多)
>它确实搞砸了文本正文的格式,我必须在以后制作大量边缘情况. (文档预处理器API调用不允许指定ascii / utf8引号 – 它们立即转到乳胶样式,收缩被分成不同的单词(显然),虚假空间被放入不同的地方)

为此,我已经编写了多个补丁来补偿我真正不应该做的事情.

基本上它正处于使用开始时分裂句子的问题同样多的障碍.

我还有什么其他选择?任何其他NLP类型的框架可能有帮助吗?

我最初的问题是能够以高概率检测句子边缘.

解决方法

如果你想尝试坚持使用Stanford Tokenizer / Parser,请查看 documentation page for the tokenizer.

如果你只想分割句子,你不需要正确地调用解析器,因此你应该能够通过直接使用DocumentPreprocessor来获得少量内存 – 一兆字节或两兆字节.

虽然可用的标记器定制有限,但您可以更改引号的处理.您可能想尝试以下方法之一:

unicodeQuotes=false,latexQuotes=false,asciiQuotes=false
unicodeQuotes=true

第一个将意味着没有任何类型的引用映射,第二个将根据其最佳能力将单引号或双引号ascii引号(如果有)更改为左引号和右引号.

虽然标记生成器以各种方式拆分单词以匹配Penn Treebank约定,但您应该能够从返回的标记中精确构造原始文本(请参阅CoreLabel中的各种其他字段).否则这是一个错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读