如何在斯坦福的CoreNLP上创建自己的注释器?

时间:2016-04-20 13:04:14

标签: stanford-nlp

我正在使用斯坦福大学的Deepdive项目来诠释大量关于特定车辆的公众投诉。我的项目是使用问题描述并教Deepdive学习如何根据句子中的单词对问题进行分类。例如,如果客户说出“安全气囊发生故障”这样的事情,那么深度应该能够说明这是一个安全问题而他们正在谈论汽车的一部分。因此,我要做的是更新斯坦福大学的CoreNLP命名实体识别(NER)列表,以便开始查找这些类似的单词并将其标记为诸如" CAR SAFETY ISSUE"。任何人都可以深入解释如何添加新的注释器,以便CoreNLP可以根据汽车零件和一般问题分析这些句子。 谢谢

2 个答案:

答案 0 :(得分:1)

你看过TokenRegexAnnotator了吗?使用规则,您可以使用自定义NER标记提取此类表达式并注释标记:

{
   ruleType: "tokens",
   pattern: (/airbag/ /malfunctioned/),
   result: Annotate($0, ner, 'CAR SAFETY ISSUE')
}

答案 1 :(得分:1)

@Blaise是正确的,这听起来非常适合TokensRegex。但是,如果您确实要创建自定义注释器,则该过程的布局如下:http://nlp.stanford.edu/software/corenlp-faq.shtml#custom

在较高级别,您希望创建一个继承自Annotator的类并实现一个2参数构造函数MyClass(String name, Properties props)。然后,在您传递给CoreNLP的属性文件中,您应指定customAnnotatorClass.your_annotator_name = your.annotator.Class。您可以通过指定your_annotator_name.key = value

以通常的方式将属性传递给此注释器
相关问题