从CoreNLP获取原始句子

时间:2017-04-16 14:59:36

标签: nlp stanford-nlp

我正在浏览我的数据并希望将其拆分为句子。我正在使用pycorenlp。

from pycorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP('http://localhost:9000')
output = nlp.annotate(text, properties={
    'annotators': 'tokenize,ssplit',
    'outputFormat': 'json'
})
for tempsentence in output['sentences']:
     # store important sentences ...

现在我存储了一些对我的应用很重要的句子。 其中一些包含“或',似乎CoreNLP更改了这些句子。”如果我没记错的话,会被转换为-LRB-和-RRB-。

我是否有可能从CoreNLP获得orignial句子(因为我需要稍后再运行另一个CoreNLP,如果“现在已经消失了,我的数据看起来不是原始的,而且第二个CoreNLP运行似乎没有再认识一些引用。

1 个答案:

答案 0 :(得分:1)

  1. 下载并安装节库:https://github.com/stanfordnlp/stanza

  2. 返回的结果将包含原始令牌。

  3. 示例:

    from stanza.nlp.corenlp import CoreNLPClient
    client = CoreNLPClient(server='http://localhost:9000', default_annotators=['ssplit', 'tokenize'])
    result = client.annotate("...")
    for sentence in result.sentences:
      for token in sentence.tokens:
        print token.word + "\t" + token.originalText