我正在尝试 OpenNLP 句子检测工具。文本位于文件 - para3.txt 中。内容:
Bob went to London Mary came from Paris Now everything is fine.
我使用以下命令运行它:
opennlp SentenceDetector ../models/en-sent.bin < para3.txt
我得到这样的输出:
Bob went to London Mary came from Paris Now everything is fine.
理想情况下,我会看到三个句子作为输出:
Bob went to London.
Mary came from Paris.
Now everything is fine.
现在,如果我尝试其他存在“句号”或“句号”的句子,则句子检测进展顺利。人类会猜到文本中有 3 个句子,但是 OpenNLP 如何完成呢? NLP 的哪些工具可以在这里提供帮助???句子检测的下一个级别是什么?
最佳答案
您应该训练您的模型来检测这些类型的句子,即文档中给出的句子检测器训练。 创建您的培训文件 en-sent.train :示例训练数据文件。唯一的要求是每个句子应该在训练文件中单独一行,如下所示。
句子 1
句子2
第3句
……
……
然后使用命令行界面:
opennlp SentenceDetectorTrainer -model en-sent_trained.bin -lang en -data en-sent.train -encoding UTF-8
这将给出一个模型文件:en-sent_trained.bin
现在使用此 .bin 文件而不是 en-sent.bin
希望这有帮助!
关于java - 使用 OpenNLP 进行句子检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36516363/