- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Stanford NER 是否有类/方法来计算 Java 中的 Precision/Recall(不是命令行)?
我已经能够在 Java 中像这样在我的训练数据上训练我的模型:
Properties props = StringUtils.propFileToProperties("classifierTraining/austen.prop");
SeqClassifierFlags flags = new SeqClassifierFlags(props);
CRFClassifier<CoreLabel> crf = new CRFClassifier<CoreLabel>(flags);
crf.train();
crf.serializeClassifier("classifierTraining/model.ser.gz");
是否可以使用 Stanford NLP 包以编程方式对测试数据集执行交叉验证?我看到了this question从三年前开始,当时说“不”。
有没有办法在 Java 中以编程方式在测试数据集上运行经过训练的分类器,并获得准确率/召回率值(不使用命令行)?这样,我应该能够手动拆分数据集并在其上运行代码以进行交叉验证。
更新:我意识到在新的 3.7.0 包中,我可以使用以下方法来获得精确度、召回率和 F1,但这是所有类型实体(个人、组织、位置)的平均值。有没有办法为特定实体获取它们?
Triple<Double,Double,Double> scores = crf.classifyAndWriteAnswers("classifierTraining/testFileTokenized.txt", true);
最佳答案
通过CRFClassifier类扫描可以看出,下面的函数是用来做日志记录的
Triple<Double,Double,Double> classifyAndWriteAnswers(Collection<List<IN>> documents,
PrintWriter printWriter,
DocumentReaderAndWriter<IN> readerWriter,
boolean outputScores)
以上函数classifyAndWriteAnswers
电话 Triple<Double,Double,Double> printResults(Counter<String> entityTP, Counter<String> entityFP, Counter<String> entityFN)
它使用 Redwood 记录器打印出所有指标。
一个简单的 hack 就是在你的类中导入 Redwood 记录器,它有 main()
并对其进行配置,以便显示所有指标。
导入:import edu.stanford.nlp.util.logging.*;
并将其添加到您的 main() 中 StanfordRedwoodConfiguration.setup();
然后只需调用 classifyAndWriteAnswers
的任何实现即可与 outputScores = true
关于java - 评估 Stanford NER CRF 并以编程方式计算 Precision/Recall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41900156/
我刚开始使用Stanford Parser,但我不太了解这些标签。这可能是一个愚蠢的问题,但是谁能告诉我SBARQ和SQ标签代表什么,在哪里可以找到它们的完整列表?我知道Penn Treebank的样
我正在使用 python 的内置库 nltk 来获取 stanford ner tagger api 设置,但我发现此 api 的单词标记与 stanford 的 ner tagger 网站上的在线演
我正在尝试使用斯坦福依赖解析器。我尝试从 Windows 上的命令行运行解析器以使用以下命令提取依赖项: java -mx100m -cp "stanford-parser.jar" edu.stan
我正在尝试开始使用 Stanford CoreNLP,甚至无法通过这里的第一个简单示例。 https://stanfordnlp.github.io/CoreNLP/api.html 这是我的代码:
我正在使用 stanford 核心 NLP,并使用这一行来加载一些模块来处理我的文本: props.put("annotators", "tokenize, ssplit, pos, lemma, n
我找到了与 Stanford Core NLP 兼容的德语解析和 pos-tag 模型。但是我无法使德语词形还原工作。有办法吗? 最佳答案 抱歉,据我所知,Stanford CoreNLP 不存在德语
我目前正在使用以下命令解析阿拉伯文本: java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser \ -cp "$scri
我有以下结果,如您所见,爱德华这个名字有不同的结果(null 和 male)。这发生在几个名字上。 edward, Gender: null james, Gender: MALE karla, Ge
我发现了 stanford-NLP 的工具,发现它真的很有趣。 我是一名法国数据挖掘者/数据科学家,喜欢文本分析,并且很想使用您的工具,但是 NER 在法语中不可用,这让我感到非常困惑。 我很想制作我
我正在使用 Suse Linux 13.1 并自学斯坦福大学的 CS 106b 类(class)。我在这里找到了压缩库 http://www.stanford.edu/class/cs106b/hom
我正在使用 stanford CoreNLP 来尝试查找名词短语的语法关系。 这是一个例子: 给定“The fitness room was dirty”这句话。 我成功地将“The fitness
我正在使用 Stanford CoreNLP 并将其用于 NER。但是当我提取组织名称时,我看到每个词都标有注释。因此,如果实体是“纽约时报”,那么它将被记录为三个不同的实体:“NEW”、“YORK”
我开始使用 coreNLP 库 3.3.1 来分析意大利文本文档。有没有人尝试过使用英语以外的语言?您是否找到了训练算法所需的模型? 谢谢 卡罗 最佳答案 目前,除了英语,我们只为中文打包模型(见 h
斯坦福解析器和斯坦福 CoreNlp 的词性 (POS) 模型用途不同,这就是为什么通过 Stanford Parser 和 CoreNlp 执行的 POS 标记的输出存在差异。 在线核心 NLP 输
我的 (maven) 项目依赖于 stanford-CoreNLP 和 stanford-Parser,显然每个依赖项的(词汇化)解析器产生不同的输出,它们并不相同。 我的问题是如何确定应该从哪个包加
我正在尝试学习 Stanford CoreNLP 库。我在发布的示例 ( https://sergeytihon.wordpress.com/2013/10/26/stanford-corenlp-i
我是 nltk 的新手,似乎正在遵循过时的教程来开始使用 nltk 中的 StanleyDependencyParser。 我已经从https://stanfordnlp.github.io/安装了S
我正在尝试使用Stanford CoreNLP训练NER模型,但是找不到主类。我已经在我的CLASSPATH中包含了jar文件的路径,但仍然找不到它们。有什么办法解决这个问题吗? C:\ Users
我不明白它要我做什么。分配给 sentence正在工作: val sentences : java.util.List[CoreMap] = document.get(classOf[Sentence
我正在参加 Rotten Tomatoes NLP 预测的 kaggle 竞赛。 训练集格式解析如下: PhraseId SentenceId Phrase Sentiment 1 1 A serie
我是一名优秀的程序员,十分优秀!