从http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/ie/NERFeatureFactory.html开始,要添加新的提取器,最后一步是:
为此功能添加NERFeatureFactory代码。首先决定哪个 类(隐藏状态)涉及该功能。如果只有 当前类,您将功能提取器添加到featuresC代码,if 当前和上一课,然后是featureCpC等。
我们只需要在功能集合中添加一个字符串,例如:featuresCpCnC.add(getWord(c) + "-PNSEQW");
,然后StanfordNER会将字符串解析成真正的功能吗?在这种情况下,如何在要素字符串中指定特定的类/字段,例如标题和作者?当我将功能转储到文本文件中时(使用exportFeatures或printFeatures),我只找到类似June-PSEQW|CpC
这样的通用类的功能,而我想要June-DateField-DateField-PSEQW|CpC
之类的功能,这意味着(class[t-1]==DateField)*(class[t]==DateField)*(word[t-1]=="June")
答案 0 :(得分:0)
我认为这是预期的行为 - 是否有性能问题表明培训没有按预期进行?
详细说明,在最常见的情况下,特征形成器f(x,y)
同时接受输入x
和输出y
,并为该特定对构造特征向量。但是,在许多NLP应用程序中,这些功能实际上只取决于输入x,因此我们公开的特征化程序接口只是f(x)
,并且只是隐式地将特征与后端的输出类连接起来({{3} })。在这种情况下,我们只打印f(x)
而不是完整的f(x,y)
似乎是合理的。