如何在斯坦福 CoreNLP 服务器上使用自定义 TokensRegex 规则注释器?

2024-01-10

TokensRegex 规则颜色注释器 (stanford-corenlp-full-2016-10-31/tokensregex/color.rules.txt)通过命令行使用 CoreNLP 时加载成功,但对于 Web 服务器则失败java.lang.IllegalArgumentException: Unknown annotator: color.

Setup

# custom.properties
annotators=tokenize,ssplit,pos,lemma,ner,regexner,color
customAnnotatorClass.color = edu.stanford.nlp.pipeline.TokensRegexAnnotator
color.rules = tokensregex/color.rules.txt

命令行

$ java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -props custom.properties -file ./tokensregex/color.input.txt -outputFormat text
[main] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Registering annotator color with class edu.stanford.nlp.pipeline.TokensRegexAnnotator
...
[main] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Adding annotator color
[main] INFO edu.stanford.nlp.ling.tokensregex.CoreMapExpressionExtractor - Reading TokensRegex rules from tokensregex/color.rules.txt
[main] INFO edu.stanford.nlp.ling.tokensregex.CoreMapExpressionExtractor - Read 7 rules

# color.input.txt.output
Sentence #1 (9 tokens):
Both blue and light blue are nice colors.
[Text=Both CharacterOffsetBegin=0 CharacterOffsetEnd=4 PartOfSpeech=CC Lemma=both NamedEntityTag=O]
[Text=blue CharacterOffsetBegin=5 CharacterOffsetEnd=9 PartOfSpeech=JJ Lemma=blue NamedEntityTag=COLOR NormalizedNamedEntityTag=#0000FF]
...

Server

  1. java -mx2g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -c custom.properties
  2. wget --post-data 'Both blue and light blue are nice colors.' 'localhost:9000/?properties={"annotators":"tokenize,ssplit,pos,lemma,ner,regexner,color","outputFormat":"json"}' -O -

    HTTP request sent, awaiting response... 500 Internal Server Error
        2016-11-05 14:41:27 ERROR 500: Internal Server Error.
    
    java.lang.IllegalArgumentException: Unknown annotator: color
        at edu.stanford.nlp.pipeline.StanfordCoreNLP.ensurePrerequisiteAnnotators(StanfordCoreNLP.java:304)
        at edu.stanford.nlp.pipeline.StanfordCoreNLPServer$CoreNLPHandler.getProperties(StanfordCoreNLPServer.java:713)
        at edu.stanford.nlp.pipeline.StanfordCoreNLPServer$CoreNLPHandler.handle(StanfordCoreNLPServer.java:540)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
        at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
        at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
        at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
        at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    

Solution

在请求中包含自定义注释器属性:wget --post-data 'Both blue and light blue are nice colors.' 'localhost:9000/?properties={"color.rules":"tokensregex/color.rules.txt","customAnnotatorClass.color":"edu.stanford.nlp.pipeline.TokensRegexAnnotator","annotators":"tokenize,ssplit,pos,lemma,ner,regexner,color","enforceRequirements":"false","outputFormat":"json"}' -O -


Add

"enforceRequirements":"false"

根据您的要求,这应该会阻止此错误!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在斯坦福 CoreNLP 服务器上使用自定义 TokensRegex 规则注释器? 的相关文章

  • Nltk stanford pos tagger 错误:Java 命令失败

    我正在尝试使用nltk tag stanford module用于标记一个句子 首先像维基的示例 但我不断收到以下错误 Traceback most recent call last File test py line 28 in
  • 我的公报上的实体无法识别

    我想创建一个自定义 NER 模型 这就是我所做的 训练数据 斯坦福 ner tsv Hello O O My O name O is O Damiano PERSON O 特性 stanford ner prop trainFile sta
  • 解析短语动词

    有人尝试过用斯坦福 NLP 解析短语动词吗 问题出在可分离短语动词上 例如 climb up do over 我们爬上了那座山 我必须把这项工作重新做一遍 第一个短语在解析树中看起来像这样 VP VBD climbed ADVP IN th
  • 格式化斯坦福 Corenlp 的 NER 输出

    我正在与斯坦福 CoreNLP 合作并将其用于 NER 但是当我提取组织名称时 我看到每个单词都标有注释 因此 如果实体是 NEW YORK TIMES 那么它会被记录为三个不同的实体 NEW YORK 和 TIMES 我们是否可以在斯坦福
  • nltk 无法解释斯坦福解析器输出的语法类别 PRP$

    我想从斯坦福解析器检索的语法生成句子 但 NLTK 无法解释 PRP from nltk parse stanford import StanfordParser from nltk grammar import CFG from nltk
  • 使用 TokenRegex 以所需格式获取输出

    我正在使用 TokensRegex 进行基于规则的实体提取 它运行良好 但我无法以所需的格式获得输出 以下代码片段为我提供了以下句子的输出 本月早些时候 特朗普针对丰田 威胁要对其实施制裁 如果世界上最大的汽车制造商生产卡罗拉 它将收取高额
  • 斯坦福-NER定制对软件编程关键字进行分类

    我是 NLP 新手 我使用斯坦福 NER 工具对一些随机文本进行分类 以提取软件编程中使用的特殊关键字 问题是 我不知道如何更改斯坦福 NER 中的分类器和文本注释器来识别软件编程关键字 例如 today Java used in diff
  • 从解析树中获取某些节点

    我正在研究一个涉及通过霍布斯算法进行照应解析的项目 我已经使用斯坦福解析器解析了我的文本 现在我想操作节点以实现我的算法 目前 我不明白如何 根据 POS 标签访问节点 例如 我需要以代词开头 如何获取所有代词 使用访客 我对 Java 有
  • 使用 Stanza 和 CoreNLPClient 提取名词短语

    我正在尝试使用 Stanza 使用斯坦福 CoreNLP 从句子中提取名词短语 这只能通过 Stanza 中的 CoreNLPClient 模块来完成 Import client module from stanza server impo
  • 为什么 stanford corenlp 性别识别是不确定的?

    我有以下结果 正如您所看到的 名字 edward 有不同的结果 空和男性 好几个名字都发生过这种情况 edward Gender null james Gender MALE karla Gender null edward Gender
  • 用户评论 - R 中的主题建模或意图检测

    我正在 R 中进行社交媒体分析 类似于查看特定业务的用户反馈并尝试将用户评论区分为类别 主题 例如 查找用户评论是否谈论邻里或犯罪等 如何找到给定文本的意图 为了训练模型 我没有任何预先确定的主题和标题 我正在进行一个未知的主题分析 主题建
  • 如何使用斯坦福 CoreNLP 对预标记文本进行 NER 和 POS 标记?

    我在我的应用程序中使用斯坦福大学的 CoreNLP 命名实体识别器 NER 和词性 POS 标记器 问题是我的代码预先标记了文本 然后我需要对每个标记进行 NER 和 POS 标记 但是 我只能找到如何使用命令行选项来执行此操作 而不能以编
  • 使用Python在NLP中的命名实体识别中提取人名

    我有一个句子需要单独识别人名 例如 sentence Larry Page is an American business magnate and computer scientist who is the co founder of Go
  • 使用斯坦福核心 NLP 的自定义关系提取模型未找到任何关系

    我使用斯坦福核心 NLP 训练了一个用于关系提取的自定义模型example http nlp stanford edu software relationExtractor html 但是当我运行模型时 它没有找到任何关系 即使我直接使用训
  • 斯坦福 CoreNLP - 未知变量:工作日

    我使用斯坦福 CoreNLP 处理英语 Gigaword 语料库的 NYT 部分 当它仍在进行时 以下消息会被记录多次 Unknown variable WEEKDAY 每次记录此消息时 内存消耗都会增加 现在大约是23 8GB 有人知道这
  • 将中文文档拆分成句子[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我必须将中文文本分成多个句子 我尝试了斯坦福文档预处理器 它对于英语来说效果很好 但对于中文则不然 请
  • 如何使用斯坦福NER(命名实体识别器)的python接口?

    我想使用 pyner 库在 python 中使用斯坦福 NER 这是一个基本的代码片段 import ner tagger ner HttpNER host localhost port 80 tagger get entities Uni
  • NLTK CoreNLPDependencyParser:无法建立连接

    我正在尝试通过 NLTK 使用斯坦福解析器 按照示例here http www nltk org api nltk parse html nltk parse corenlp CoreNLPDependencyParser 20tutori
  • 创建 .conll 文件作为斯坦福解析器的输出

    我想使用斯坦福解析器创建一个 conll 文件以进行进一步处理 到目前为止 我设法使用以下命令解析测试句子 stanford parser full 2013 06 20 lexparser sh stanford parser full
  • 使用 NLP 进行句子压缩 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 使用机器翻译 我可以获得一个句子的非常压缩的版本 例如 我真的很想喝一杯美味可口的咖啡将被翻译为我想喝咖

随机推荐