stanford-nlp - 用 RegexNER 而不是 CRF 模型覆盖命名实体
问题描述
我正在尝试在任务中使用斯坦福 CoreNLP 检测命名实体。
我已经在我的 RegexNER 映射文件中给出了如下规则:
Train VEHICLE_TYPE 2.0
但它被识别Train
为CRIMINAL_CHARGE
实体类型。
我已经添加了这个选项ner.applyFineGrained
并将其设置为true
也许这就是为什么它覆盖了 CoreNLP 的 CRF 模型。
我的问题是如何在 RegexNER 映射文件中添加这样的异常,或者是否有更好的方法。
解决方案
您应该使用以下设置:
# run fine-grained NER with a custom rules file
java -Xmx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner -ner.fine.regexner.mapping custom.rules -file example.txt -outputFormat text
您需要确保设置ner.fine.regexner.mapping
为您的自定义规则文件以使用它而不是默认的细粒度规则,这些规则将标记诸如CRIMINAL_CHARGE
推荐阅读
- java - 插入项目时 RecyclerView 行闪烁/闪烁
- javascript - 更改 jQuery 点击事件(this)
- dropbox - Dropbox ModuleNotFoundError:没有名为“石头”的模块
- magento2 - Magento 2 无法删除模块 bceause ClassReader.php 类未找到
- sql-server - 如何在 sql 中创建与 sql 用户同名的数据库用户?
- http - 如何在安全组入站 http 上允许其他安全组
- python - 应用 transform() pandas 时如何识别更改的值
- python - 如何在越来越多的任务上使用 asyncio.wait?
- node.js - 无法使用 Nodejs 连接到 MongoDB
- r - 如何平均列表矩阵?