代码拉取完成,页面将自动刷新
同步操作将从 高桥凉介/machine-translation 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import argparse
import os
from preprocess import word_tokenize
from nltk.translate.bleu_score import corpus_bleu
def get_args():
parser = argparse.ArgumentParser(description='Command-line script for BLEU scoring.')
parser.add_argument('--system', required=True, help='system output')
parser.add_argument('--reference', required=True, help='references')
parser.add_argument('--orders', nargs='+', type=int, default=[1, 2, 3, 4], help='n-grams for calculating BLEU scores')
parser.add_argument('--ignore-case', action='store_true', help='case-insensitive scoring')
return parser.parse_args()
def readlines(filename, ignore_case=False, wrapped=False):
lines = []
with open(filename) as file:
for line in file.readlines():
line = line.rstrip()
if ignore_case:
line = line.lower()
line = word_tokenize(line)
lines.append([line] if wrapped else line)
return lines
def main(args):
assert os.path.exists(args.system), "System output file {} does not exist".format(args.system)
assert os.path.exists(args.reference), "Reference file {} does not exist".format(args.reference)
scores = {}
reference = readlines(args.reference, wrapped=True)
system = readlines(args.system)
for order in args.orders:
scores[order] = corpus_bleu(reference, system, weights=(1.0 / order,) * order)
print(', '.join('BLEU{} = {:.4f}'.format(order, 100 * score) for order, score in scores.items()))
if __name__ == '__main__':
args = get_args()
main(args)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。