我很难让 CoreNLP 系统正确找到诗歌语料库中一个句子的结束位置和另一个句子的开始位置。
其陷入困境的原因:
- 有些诗在整个长度上都没有标点符号(有时甚至没有大小写)
- 有些诗的句子从一个段落延伸到另一个段落
- 有些诗每行开头都大写
这是一个特别棘手的问题 http://www.poetryfoundation.org/poem/180418(系统认为第一句以第二节开头的“.”结束)
鉴于缺乏大写字母和标点符号,我想我会尝试使用-tokenizeNLs看看这是否改进了它,但它太过分了,并切断了空行之间的任何句子(有一些)
这些句子通常以行尾结束,但并非总是如此,所以如果系统可以将行结尾视为句子中断的潜在候选者,并可能权衡这些句子作为端点的可能性,那就很巧妙了,但我不知道如何实现它。
有没有一种优雅的方法来做到这一点?或者替代方案?
提前致谢!
(预期句子输出here https://www.dropbox.com/s/pt8yoaxvbnucmjy/sentences.txt?dl=0)
我构建了一个句子分段器,它对于不带标点或部分标点的文本也非常有效。您可以在以下位置找到它:https://github.com/bedapudi6788/deepsegment https://github.com/bedapudi6788/deepsegment .
该模型基于命名实体识别可用于句子边界(即:句子的开头或句子的结尾)的想法。我利用 tatoeba 的数据生成训练数据,并为此任务训练了具有手套嵌入和角色级别的 BiLSTM+CRF 模型。
尽管这是用 Python 构建的,但您将能够使用 Flask 设置一个简单的 REST API,并将其与 Java 代码一起使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)