Anu*_*Anu 5 java named-entity-recognition stanford-nlp
我是NLP的新手,并试图找出命名实体识别器如何注释命名实体.我正在试验斯坦福NER工具包.当我在标准的更正式的数据集上使用NER时,其中遵循所有命名约定来表示命名实体,例如在新闻专线或新闻博客中,NER正确地注释实体.但是,当我使用非正式数据集(例如twitter)运行NER时,命名实体可能没有按原样大写,NER不会对实体进行注释.我使用的分类器是3-CRF序列化分类器.任何人都可以告诉我如何让NER识别小写实体?关于如何破解NER以及在何处进行改进的任何有用建议都非常感谢.在此先感谢您的帮助.
恐怕没有一种简单的方法可以让我们分发的训练模型在运行时忽略案例信息。所以,是的,他们通常只会标记大写的名字。有可能训练一个无大小写的模型,它可以合理地工作(但在大小写文本上效果不佳,因为案例是英语中的一个重要线索(但不是德语、中文、阿拉伯语等)。
小智 5
我知道这是一个老线程,但希望它会帮助某人.正如克里斯托弗·曼宁回答的那样,检测到小写的方法是将english.muc.7class.distsim.crf.ser.gz替换为english.muc.7class.caseless.distsim.crf.ser.gz,当你获得时解压缩核心nlp无壳jar文件.
例如,在我的python文件中,我保持一切相同,除了更改为新文件,它完美地工作(好吧,大部分时间)
st = NERTagger('/Users/username/stanford-corenlp-python/stanford-ner-2014-10-26/classifiers/english.muc.7class.caseless.distsim.crf.ser.gz', '/Users/username/stanford-corenlp-python/stanford-ner-2014-10-26/stanford-ner.jar')
Run Code Online (Sandbox Code Playgroud)
我认为 Twitter 对于这个应用程序来说将会非常困难。大写字母是一个重要线索,正如你所说,Twitter 上经常缺少它。通过字典检查来删除有效的英语单词的作用有限,因为 Twitter 文本包含大量缩写,而且它们通常是唯一的。
也许词性标记和频率分析都可以用来帮助改进专有名词的检测?
| 归档时间: |
|
| 查看次数: |
4046 次 |
| 最近记录: |