我正在使用StanfordCoreNLPServer从文本中提取一些信息(例如表面,街道名称)
街道是由经过专门训练的NER模型提供的,而表面是通过RegexNER通过简单的正则表达式给出的。
它们每个都可以单独正常工作,但是当一起使用时,在ner
标记下的输出中仅存在NER结果。为什么没有regexner
标签?有没有办法也可以获得RegexNER结果?
有关信息:
'http://127.0.0.1:9000/'
'?properties={"annotators":"tokenize,ssplit,pos,ner,regexner", '
'"pos.model":"edu/stanford/nlp/models/pos-tagger/french/french.tagger",'
'"tokenize.language":"fr",'
'"ner.model":"ner-model.ser.gz", ' # custom NER model with STREET labels
'"regexner.mapping":"rules.tsv", ' # SURFACE label
'"outputFormat": "json"}'
如建议的here一样,
regexner
注释器在之后的ner
之后为,但仍然... {u'index': 4, u'word': u'dans', u'lemma': u'dans', u'pos': u'P', u'characterOffsetEnd': 12, u'characterOffsetBegin': 8, u'originalText': u'dans', u'ner': u'O'}
{u'index': 5, u'word': u'la', u'lemma': u'la', u'pos': u'DET', u'characterOffsetEnd': 15, u'characterOffsetBegin': 13, u'originalText': u'la', u'ner': u'O'}
{u'index': 6, u'word': u'rue', u'lemma': u'rue', u'pos': u'NC', u'characterOffsetEnd': 19, u'characterOffsetBegin': 16, u'originalText': u'rue', u'ner': u'STREET'}
{u'index': 7, u'word': u'du', u'lemma': u'du', u'pos': u'P', u'characterOffsetEnd': 22, u'characterOffsetBegin': 20, u'originalText': u'du', u'ner': u'STREET'}
[...]
{u'index': 43, u'word': u'165', u'lemma': u'165', u'normalizedNER': u'165.0', u'pos': u'DET', u'characterOffsetEnd': 196, u'characterOffsetBegin': 193, u'originalText': u'165', u'ner': u'NUMBER'}
{u'index': 44, u'word': u'm', u'lemma': u'm', u'pos': u'NC', u'characterOffsetEnd': 198, u'characterOffsetBegin': 197, u'originalText': u'm', u'ner': u'O'}
{u'index': 45, u'word': u'2', u'lemma': u'2', u'normalizedNER': u'2.0', u'pos': u'ADJ', u'characterOffsetEnd': 199, u'characterOffsetBegin': 198, u'originalText': u'2', u'ner': u'NUMBER'}
SURFACE
标记,即RegexNER
结果。 让我知道是否需要更多详细信息。
最佳答案
这是RegexNER documentation所说的:
我不确定您的映射文件是什么样子,但是如果它只是将实体映射到标签,则原始NER将您的实体标记为NUMBER,而RegexNER将无法覆盖它们。如果您明确声明某些NUMBER实体应在映射文件中作为SURFACE覆盖,则它应该可以工作。
关于stanford-nlp - 在StanfordCoreNLPServer输出中同时具有NER和RegexNER标签吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37883035/