我建立了一个CoreNLP服务器,并使用斯坦福NER从句子中提取时间段。为什么斯坦福大学NER演示将“今年”转换为2017年,而我的CoreNLP服务器却没有?
如果我使用的在线互动演示在corenlp.run解析句子
“去年发生了一些事情。”
it shows 'DATE' and '2016'。 但是,我自己的服务器搭载最新版本的CoreNLP,only shows 'DATE'。更重要的是,当我使用Python请求以相同语句查询我的服务器的API时,响应中的前两个令牌包含字段'timex': {'type': 'DATE','tid': 't1', 'altValue': 'THIS P1Y OFFSET P-1Y'}
和'normalizedNER': 'THIS P1Y OFFSET P-1Y'
。
如果我只是不得不面对的事实,我的输出并不像演示的,那么哪里是斯坦福NER或timex3文档解释什么THIS P1Y OFFSET P-1Y
手段或描述什么其他可能的回答,我可能在normalizedNER
领域得到良好?
这里是整个API响应
[
{'word': 'Last', 'after': ' ', 'originalText': 'Last', 'timex': {'type': 'DATE', 'tid': 't1', 'altValue': 'THIS P1Y OFFSET P-1Y'}, 'pos': 'JJ', 'ner': 'DATE', 'lemma': 'last', 'normalizedNER': 'THIS P1Y OFFSET P-1Y', 'before': '', 'index': 1, 'characterOffsetBegin': 0, 'characterOffsetEnd': 4},
{'word': 'year', 'after': ' ', 'originalText': 'year', 'timex': {'type': 'DATE', 'tid': 't1', 'altValue': 'THIS P1Y OFFSET P-1Y'}, 'pos': 'NN', 'ner': 'DATE', 'lemma': 'year', 'normalizedNER': 'THIS P1Y OFFSET P-1Y', 'before': ' ', 'index': 2, 'characterOffsetBegin': 5, 'characterOffsetEnd': 9},
{'word': 'something', 'before': ' ', 'originalText': 'something', 'ner': 'O', 'lemma': 'something', 'after': ' ', 'characterOffsetEnd': 19, 'index': 3, 'characterOffsetBegin': 10, 'pos': 'NN'},
{'word': 'happened', 'before': ' ', 'originalText': 'happened', 'ner': 'O', 'lemma': 'happen', 'after': '', 'characterOffsetEnd': 28, 'index': 4, 'characterOffsetBegin': 20, 'pos': 'VBD'},
{'word': '.', 'before': '', 'originalText': '.', 'ner': 'O', 'lemma': '.', 'after': '', 'characterOffsetEnd': 29, 'index': 5, 'characterOffsetBegin': 28, 'pos': '.'}
]
[这](https://stackoverflow.com/questions/39325657/why-does-normalizedner-for-dates-in-my-local-standford-corenlp-server-doesnt-di)可能会有所帮助。 –