def sentence_meteor(
references, # list of tokens
hypothesis, # list of tokens
*args, **kwargs)
def corpus_meteor(
references, # list of list of tokens
hypothesis, # list of tokens
*args, **kwargs)
Options:
-t task One of: rank util adq hter li tune
util implies -ch
-p 'alpha beta gamma delta' Custom parameters (overrides default)
-m 'module1 module2 ...' Specify modules (overrides default)
Any of: exact stem synonym paraphrase
-w 'weight1 weight2 ...' Specify module weights (overrides default)
-r refCount Number of references (plaintext only)
-x beamSize (default 40)
-ch Character-based precision and recall
-norm Tokenize / normalize punctuation and lowercase
(Recommended unless scoring raw output with
pretokenized references)
-lower Lowercase only (not required if -norm specified)
-noPunct Do not consider punctuation when scoring
-l language Fully supported: en cz de es fr ar
Supported with language-independent parameters:
da fi hu it nl no pt ro ru se tr
另外,有没有什么接口可以用来解析这些呢?或者我应该暂时不使用外部词表和同义词支持吗?
-s wordListDirectory (if not default for language)
-d synonymDirectory (if not default for language)
-a paraphraseFile (if not default for language)
4条答案
按热度按时间yfwxisqw1#
遗憾的是,NLTK中的METEOR实现是非规范的。它也不符合BLEU/RIBES/CHRF分数的标准类/函数模式。我建议不要将其用于任何超出算法理解目的的用途。
oxosxuxt2#
你指的是非规范的@alvations无法将token列表传递给函数,而不是字符串吗?如果是这样的话,应该很容易解决,因为分词是第一步,而且所有的内部函数都有它们的分词变体实现。
以下签名的函数应该能解决问题吧?
svujldwt3#
有几种陨石变体,可以通过更改这些变体的参数来使它们与java meteor的官方输出相匹配。
8fq7wneg4#
你是指“通用流星”吗?
https://www.cs.cmu.edu/~alavie/METEOR/pdf/meteor-1.5.pdf
当前的实现基于原始/第一篇流星论文,最终,他们将其推广并将其带到了当前的形式,他们称之为“通用流星”。
起初,我认为我会单独处理通用流星和那时我写的印地语流星,但它带了很多包袱,我试图将印地语同义词数据文件移植到支持NLTK的wordnet API时迷失了方向。
这种痛苦可能是我没有尝试的原因之一,如果你们能给我一些资源或文档来解释wordnet的数据文件,那就太棒了,但即使没有这些,大部分匹配逻辑也可以迁移过来,我需要重新实现分数计算部分,也许还有波束搜索,不确定我是如何编写搜索逻辑的,但如果这是很多人请求的功能,我可以尝试一下。
@alvations 只是为了确保你指的是以下参数的支持,对吗?
另外,有没有什么接口可以用来解析这些呢?或者我应该暂时不使用外部词表和同义词支持吗?