我正在使用斯坦福的Deepdive项目来注释对特定车辆的大量公众投诉。我的项目是使用问题描述,并教Deepdive学习如何根据句子中的单词对问题进行分类。例如,如果客户说“安全气囊故障”,那么deepdive应该能够分辨出这是一个安全问题,他们谈论的是汽车的一个部件。所以我正在尝试做的是更新斯坦福大学的CoreNLP命名实体识别(NER)列表,开始查找这样的词,并将它们标记为“汽车安全问题”。谁能深入解释一下如何添加一个新的注释器,以便CoreNLP可以根据汽车、零件和一般问题来分析这些句子。谢谢
发布于 2016-04-20 23:43:38
你看过TokenRegexAnnotator了吗?通过规则,您可以提取这样的表达式,并使用自定义NER标签注释令牌:
{
ruleType: "tokens",
pattern: (/airbag/ /malfunctioned/),
result: Annotate($0, ner, 'CAR SAFETY ISSUE')
}
发布于 2016-04-21 03:31:02
@Blaise是正确的,这听起来很适合TokensRegex。但是,如果您确实想要创建自定义注释器,可以在:http://nlp.stanford.edu/software/corenlp-faq.shtml#custom中找到该过程。
在较高的级别上,您希望创建一个继承自Annotator
并实现双参数构造函数MyClass(String name, Properties props)
的类。然后,在传递给CoreNLP的属性文件中,您应该指定customAnnotatorClass.your_annotator_name = your.annotator.Class
。您可以通过指定your_annotator_name.key = value
,以通常的方式将属性传递给此注释器。
https://stackoverflow.com/questions/36744727
复制相似问题