Nlp 将中文文档拆分成句子

Nlp 将中文文档拆分成句子,nlp,tokenize,stanford-nlp,sentence,Nlp,Tokenize,Stanford Nlp,Sentence,我必须把中文文本分成多个句子。我试过斯坦福文档预处理器。它对英语很有效,但对汉语不起作用 请告诉我任何好的中文分句器,最好是Java或Python。对于未分段的文本,使用斯坦福图书馆,您可能想使用他们的中文CoreNLP。这并不像基本的corenlp那样有很好的文档记录,但它可以用于您的任务 你需要分节器和分句器。“分部,ssplit”其他部分不相关 或者,您可以直接使用edu.stanford.nlp.process.WordToSentenceSplitter中的WordToSenceS

我必须把中文文本分成多个句子。我试过斯坦福文档预处理器。它对英语很有效,但对汉语不起作用


请告诉我任何好的中文分句器,最好是Java或Python。

对于未分段的文本,使用斯坦福图书馆,您可能想使用他们的中文CoreNLP。这并不像基本的corenlp那样有很好的文档记录,但它可以用于您的任务

你需要分节器和分句器。“分部,ssplit”其他部分不相关


或者,您可以直接使用edu.stanford.nlp.process.WordToSentenceSplitter中的WordToSenceSplitter类。如果您这样做,您可以使用Python中的一些正则表达式技巧来了解它在WordsToSentencesAnnotator中的用法(c.f.的第2.3节中的修改正则表达式):

正则表达式解释:



这些开源项目中的任何一个都应该对AIK有用:

  • 汉普
  • 福丹尔普

您的文本是分段的还是未分段的?它是未分段的。在使用斯坦福分词器之后,我进行了分句。我必须用另一种方式来做吗。
import re

paragraph = u'\u70ed\u5e26\u98ce\u66b4\u5c1a\u5854\u5c14\u662f2001\u5e74\u5927\u897f\u6d0b\u98d3\u98ce\u5b63\u7684\u4e00\u573a\u57288\u6708\u7a7f\u8d8a\u4e86\u52a0\u52d2\u6bd4\u6d77\u7684\u5317\u5927\u897f\u6d0b\u70ed\u5e26\u6c14\u65cb\u3002\u5c1a\u5854\u5c14\u4e8e8\u670814\u65e5\u7531\u70ed\u5e26\u5927\u897f\u6d0b\u7684\u4e00\u80a1\u4e1c\u98ce\u6ce2\u53d1\u5c55\u800c\u6210\uff0c\u5176\u5b58\u5728\u7684\u5927\u90e8\u5206\u65f6\u95f4\u91cc\u90fd\u5728\u5feb\u901f\u5411\u897f\u79fb\u52a8\uff0c\u9000\u5316\u6210\u4e1c\u98ce\u6ce2\u540e\u7a7f\u8d8a\u4e86\u5411\u98ce\u7fa4\u5c9b\u3002'

def zng(paragraph):
    for sent in re.findall(u'[^!?。\.\!\?]+[!?。\.\!\?]?', paragraph, flags=re.U):
        yield sent

list(zng(paragraph))