草庐IT

python - 使用自定义语料库在 NLTK 中训练 NER 模型

我有一个conll2002格式的注释语料库,即一个制表符分隔文件,带有标记、pos-tag和IOB标记,后跟实体标记。示例:JohnNNPB-PERSON我想在NLTK中训练一个葡萄牙语NER模型,最好是MaxEnt模型。我不想想在NLTK中使用“内置”StanfordNER,因为我已经能够使用独立的StanfordNER。我想使用MaxEnt模型来与斯坦福NER进行比较。我找到了NLTK-trainer但我无法使用它。我怎样才能做到这一点? 最佳答案 nltkbook的第6章和第7章解释如何在IOB编码的语料库上训练“分block

python - 如何使用 python nltk 加速 stanford NER 的 NE 识别

首先,我将文件内容标记为句子,然后对每个句子调用StanfordNER。但是这个过程真的很慢。我知道如果我在整个文件内容上调用它会更快,但我在每个句子上调用它,因为我想在NE识别之前和之后为每个句子建立索引。st=NERTagger('stanford-ner/classifiers/english.all.3class.distsim.crf.ser.gz','stanford-ner/stanford-ner.jar')forfilenameinfilelist:sentences=sent_tokenize(filecontent)#breakfilecontentintosen

python - 在 Spacy NER 模型中的评估

我正在尝试评估使用spacylib创建的训练有素的NER模型.通常对于这类问题,您可以使用f1分数(精度与召回率之间的比率)。我在文档中找不到经过训练的NER模型的准确度函数。我不确定它是否正确,但我正在尝试通过以下方式(示例)并使用sklearn中的f1_score来做到这一点:fromsklearn.metricsimportf1_scoreimportspacyfromspacy.goldimportGoldParsenlp=spacy.load("en")#loadNERmodeltest_text="mynameisJohn"#texttotestaccuracydoc_to

python - spacy 如何使用词嵌入进行命名实体识别 (NER)?

我正在尝试使用spaCy训练NER模型来识别位置、(人)名和组织。我试图了解spaCy如何识别文本中的实体,但我一直无法找到答案。来自thisissue在Github上和thisexample,看来spaCy使用文本中存在的许多特征(例如POS标记、前缀、后缀以及文本中的其他基于字符和单词的特征)来训练平均感知器。但是,代码中没有任何地方显示spaCy使用GLoVe嵌入(尽管句子/文档中的每个单词似乎都有它们,如果存在于GLoVe语料库中的话)。我的问题是-这些现在在NER系统中使用了吗?如果我将词向量切换到不同的集合,我是否应该期望性能以有意义的方式发生变化?我可以在代码的哪个位置找

python - 从 NLTK 格式分块斯坦福命名实体识别器 (NER) 输出

我正在使用NLTK中的NER在句子中查找人物、地点和组织。我能够产生这样的结果:[(u'Remaking',u'O'),(u'The',u'O'),(u'Republican',u'ORGANIZATION'),(u'Party',u'ORGANIZATION')]是否可以通过使用它来将事物组合在一起?我想要的是这样的:u'Remaking'/u'O',u'The'/u'O',(u'Republican',u'Party')/u'ORGANIZATION'谢谢! 最佳答案 它看起来很长,但它确实有效:ner_output=[(u'R
12