stanfordnlp differences 3.9.2 -> 4.0.0 changelg。

问题描述 投票:0回答:1

改为 UDv2 标记化("新的 "英语 LDC Treebank);处理多词标记;改进基于 UDv2 的英语、法语、德语、西班牙语的标记器和解析器;新的法语 NER;新的中文分段器;库更新,错误修复。https:/stanfordnlp.github.ioCoreNLPhistory.html。

CoreNLP 4中的重大变化:没有LDC式的标记转义(没有更多的-LRB-),将英语标记化改为 "新的 "LDC树库和UD的标记化(主要是分割连字符),在英语、法语、德语和西班牙语中使用UDv2依赖和POS(有obj和obl)。https:/twitter.comstanfordnlpstatus1252657192764796928。

谁能提供一份关于界面和功能层面变化的详细的信息性和可使用性摘要?如果它有助于缩小范围。

英文模型

注释 requires()

    CoreAnnotations.TextAnnotation.class
    CoreAnnotations.TokensAnnotation.class
    CoreAnnotations.SentencesAnnotation.class
    CoreAnnotations.PartOfSpeechAnnotation.class
    CoreAnnotations.LemmaAnnotation.class
    CoreAnnotations.NamedEntityTagAnnotation.class
    CoreAnnotations.NormalizedNamedEntityTagAnnotation.class
    CoreAnnotations.CanonicalEntityMentionIndexAnnotation.class
    CorefCoreAnnotations.CorefChainAnnotation.class
    SemanticGraphCoreAnnotations.BasicDependenciesAnnotation.class
    CoreAnnotations.QuotationsAnnotation.class

管道属性

    props.setProperty("coref.algorithm", "statistical");
    props.setProperty("coref.maxMentionDistance", "15");
    props.setProperty("coref.maxMentionDistanceWithStringMatch", "50");
    props.setProperty("coref.statisical.pairwiseScoreThresholds", ".15");
    props.setProperty("pos.maxlen", "70");
    props.setProperty("ner.maxlen", "70");
    props.setProperty("ner.applyFineGrained", "false");
    props.setProperty("ner.useSUTime", "true");
    props.setProperty("ner.applyNumericClassifiers", "true");
    props.setProperty("ner.combinationMode", "NORMAL");
    props.setProperty("ner.additional.regexner.mapping", "regexner.txt");
    props.setProperty("quote.maxLength", "70");
    props.setProperty("quote.singleQuotes", "true");
    props.setProperty("quote.asciiQuotes", "true");
    props.setProperty("quote.attributeQuotes", "true");
    props.setProperty("enforceRequirements", "true");
    props.setProperty("parse.model", "edu/stanford/nlp/models/srparser/englishSR.ser.gz");
    props.setProperty("parse.maxlen", "70");
stanford-nlp
1个回答
0
投票

首先,我们不能诚实地说CoreNLP严格地使用了语义还原。如果你愿意的话,可以把它所使用的称为 "印象派版本"。

也就是说,我们肯定决定转移到v4,以反映升级将打破大多数用户的下游代码的事实。

然而,NLP软件的事情是微妙的。API没有大的变化,虽然Properties有一些变化,比如对于tokenizer,但大多数属性也没有变化,你上面的所有属性看起来都很好。事实上,如果你的管道下游是细节无关的,比如全ML管道,CoreNLP 4.0可能不会破坏任何东西,你可以直接插入它。

但是,对于大多数人来说,他们会对标记化的细节或语音部分的分类法、依赖关系等做了假设,那么肯定需要修改代码。

例如,如果您现有的代码假设了英语标记化的细节,比如括号会被渲染为'-LRB-'、'-RRB-',或者引号会变成'``'这样的ASCII序列,那么您的代码就需要修改。如果您假设您的西班牙语标记程序将提供一个 "简化的 AnCora "语音部分标记集,而不是 UD 标记集,那么您的代码将需要修改。如果你假设在依赖分析中,依赖 "dobj "将标记直接对象(UDv1),那么你将需要更新一些模式或其他东西,以寻找 "obj "代替(UDv2)。等等。

这里有一套更详细的发布说明。https:/github.comstanfordnlpCoreNLPreleasestagv4.0.0。 . 但并没有任何精确的记录所有的变化。除了GitHub的历史记录....

© www.soinside.com 2019 - 2024. All rights reserved.