当我尝试包含StanfordNLP序列化分类器文件时,它给出了以下异常。
edu.stanford.nlp.io.RuntimeIOException: Resource or file looks like a gzip file, but is not: models/ner/default/english.all.3class.distsim.crf.ser.gz
有人能帮上忙吗?
我正在尝试执行分类过程,其中我的训练数据如下所示:
(状态,(feature_1,feature_2,feature_3,...,feature_n))
因此,给定一组特征,我需要预测这些特征最可能对应的状态/标签/类。
我有一个很好的模型,可以非常快速地制作CRF,但是CRF真的很适合这种学习吗?我过去使用CRF表示状态序列,也就是说,$nth$状态的标签也可能取决于前$n-1$状态的标签/特征。例如,下面是我用来预测儿童语音输出的训练序列,给出了成人IPA转录:
e Adult=e __BOS__
i Adult=-
d Adult=d
r Adult=-
i Adul
这可能无关紧要,但我使用的是CRF++ 0.58的windows发行版。
因此,我已经成功地使用mallet训练了一个具有CRF的模型,然后对其进行了测试。当我尝试在CRF++中使用相同的训练和测试文件时(并且在创建模板文件之后),我得到一个
The line search routine mcsrch failed: error code:0
当我使用以下任一选项时出错
-a CRF-L1
或缺省设置
-a CRF-L2
当我使用
-a MIRA
尽管如此,训练没有错误,测试也是如此。
对于mallet和crf++,测试和训练数据的格式可以是相同的,所以这不是问题所在。我的模板文件很简单,就
我正在尝试将全名标记为完整的标记(一个人),而不是单独的标记。下面是一个例子。
(斯坦福NER online)
穆罕默德·阿里是一位伟大的拳击手。阿里最大的对手是乔·弗雷泽。这个名字也可以写成M. Ali和J. Frazier。
这是我现有的PHP代码`
$text = "Muhammad Ali was a great boxer. Ali's greatest rival was Joe Frazier. The name can also be written as M. Ali and J. Frazier";
$pos = new \StanfordN
我正在尝试使用Mallet库训练CRF序列模型,但我遗漏了一些重要信息。我在的库中找到了一个示例,但是该示例没有说明输入训练数据的格式,因此我不知道如何重新创建它。
Mallet在上确实有一个数据导入示例,但这个特定的示例似乎是用于文档分类,而不是我的用例-- CRF序列模型。
我尝试将输入训练数据放入中使用的形式,即
Bill CAPITALIZED noun
slept non-noun
here LOWERCASE STOPWORD non-noun
和表单中的测试数据
CAPITAL Al
slept
here
然而,根据输出日志,它似乎不是正确的格式。
当我对我的训练数据(train.txt)运行CRF++时,我得到了以下错误
C:\Users\2012\Desktop\CRF_Software_Package\CRF++-0.58>crf_learn template train.d
ata model
CRF++: Yet Another CRF Tool Kit
Copyright (C) 2005-2013 Taku Kudo, All rights reserved.
reading training data: tagger.cpp(393) [feature_index_->buildFeatures(this)]
我有几个字符串列表已经被分类了
<string> <tag>
088 9102355 PHONE NUMBER
091 910255 PHONE NUMBER
...
Alfred St STREET
German St STREET
...
RE98754TO IDENTIFIER
AUX9654TO
我正在使用斯坦福命名实体识别系统来识别我的查询中的命名实体。我发现其中一个分类器(english.all.3class.distsim.crf.ser.gz)比另一个(english.muc.7class.distsim.crf.ser.gz)更能识别人员命名的实体。而第二个分类器比第一个分类器更多地识别组织命名实体。问题是我如何修改我的代码来结合3class和7class分类器的性能。我的意思是如何将第2行和第3行合并。
public void main () {
//String serializedClassifier = "classifiers/english.all
我使用斯坦福核心NLP API;我的代码如下:
public class StanfordCoreNLPTool {
public static StanfordCoreNLPTool instance;
private Annotation annotation = new Annotation();
private Properties props = new Properties();
private PrintWriter out = new PrintWriter(System.out);;
private StanfordCoreNLPTool(
我正在做我的项目手势识别使用OpenCV,C++代码。在特征提取之后,需要进行训练和测试。为此,我从CRF++下载了另一个工具包的格式。我现在使用的是crf++-0.54版本。我用的是“crf_learn -a MIRA Templatefile Trainfile Model_crf”格式。
我已经准备了'.CSV‘格式的模板和训练文件。
但它显示了以下错误: MIRA不支持多线程。使用thread_num=1。
正在等待解决方案.........