icp对网站内容网游推广
- 作者: 多梦笔记
- 时间: 2026年02月16日 23:06
当前位置: 首页 > news >正文
icp对网站内容,网游推广,寻找杭州做网站软件人,ADPR国际传媒网站建设1. 背景介绍 随着自然语言处理技术的飞速发展#xff0c;机器翻译已经成为一个重要的研究领域。近年来#xff0c;基于大模型的语言模型在机器翻译任务上取得了显著的进展。这些大模型通常具有数亿甚至数千亿的参数#xff0c;能够更好地理解和生成自然语言。 但是#xf…1. 背景介绍 随着自然语言处理技术的飞速发展机器翻译已经成为一个重要的研究领域。近年来基于大模型的语言模型在机器翻译任务上取得了显著的进展。这些大模型通常具有数亿甚至数千亿的参数能够更好地理解和生成自然语言。 但是现在市面上可用的大模型成百上千每个模型又都有各自的功能特性和适用场景我们应该如何评估不同模型的翻译效果呢解决方案可能多种多样本文尝试采用 WMT 数据集 BLEU 评分的机制来相对完善地评估几个大模型的翻译能力。 首先简单补充一些基础知识 WMT 数据集 WMTWorkshop on Machine Translation数据集是一系列用于机器翻译的基准数据集它由每年举办的WMT会议提供。WMT会议是机器翻译领域的重要国际会议自2006年起每年举行旨在推动机器翻译技术的发展。 WMT 数据集包含了多种语言对的翻译数据这些数据通常来自于新闻文章、议会记录、书籍以及其他公开可用的文本资源。这些数据集被广泛用于训练、评估和比较不同的机器翻译系统。其中一些知名的语言对包括英语-法语、英语-德语、英语-西班牙语等。WMT 提供了比较权威的基准数据可供我们来评估不同模型的翻译准确率。 BLEU 评分 BLEUBilingual Evaluation Understudy评分是一种用于评估机器翻译输出质量的自动评价指标。 BLEU由IBM在2002年提出目的是为了提供一个快速、客观且成本较低的方法来评估翻译系统的性能。BLEU评分已经成为机器翻译领域最广泛使用的评价标准之一。 BLEU 通过计算匹配度Precision、修饰Modified、几何平均、最终评分等流程最终生成一个 [0,1] 范围内的 score其中1表示完美的匹配即机器翻译的输出与参考翻译完全一致。我们通过不同大模型之间评分的相对值就可以评估出翻译能力的差异。 有了这些基础知识我们就可以来实现具体的评测程序了。 下面的程序采用 LangChain 框架以英译中场景为例介绍翻译评测的具体实现流程。
- 实现流程 加载语料数据集 首先安装 datasets 库 pip install datasets然后我们实现一个 DataSetLoader 用于加载 WMT 的语料数据集。wmt19 这个仓库下就包含了英汉互译的数据集。 我们假定英文为原始语言中文为目标翻译语言。 from datasets import load_datasetclass DataSetLoader:数据集加载器def init(self):初始化方法# 加载英译汉数据集self.ds load_dataset(wmt19, zh-en)print(加载[en-zh]数据集完成)def get_origin_content(self, idx: int) - str:获取原始内容return self.ds[train][idx][translation][en]def get_ref_trans(self, idx: int) - str:获取参考翻译return self.ds[train][idx][translation][zh]BLEU 评分计算 接下来我们定义一个 BleuScoreCaculator 组件用于计算 BLEU 分数。这里直接使用 nltk.translate 包即可需要安装 from nltk.translate.bleu_score import sentence_bleuclass BleuScoreCaculator:BLEU分数计算器staticmethoddef calc_score(references, hypothesis) - float:计算BLEU分数return sentence_bleu(references, hypothesis, weights(1,))分词处理 除此之外为了避免不同分词规则所造成的影响我们再开发一个分词组件按照统一的规则对文本进行分词。分词库采用应用广泛的 jieba 即可 from typing import Listimport jiebaclass Tokenizer:分词器staticmethoddef clean_and_tokenize(text: str) - List[str]:清理文本并分词:param text: 原始文本:return: 分词列表# 去除多余空格和标点符号trimmed text.replace(\n, ).replace( , ).strip()# 使用 jieba 进行分词return list(jieba.cut(trimmed)) 翻译评测 所有的基础组件已经准备就绪了下面就可以开始完成核心的翻译评测功能。 我们采用 LangChain 框架构造标准化的处理流程 Chain。采用一下三个候选模型 glm-4-plusgpt-4oqwen-32b 这三个都是当前业界功能非常强大的模型那么他们的翻译能力到底孰优孰劣呢我们写代码看一下 import json from typing import List, Dict, Anyimport dotenv from langchain_community.chat_models import ChatZhipuAI from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAIfrom bleu import BleuScoreCaculator from loader import DataSetLoader from tokenizer import Tokenizerif name main:# 加载环境变量dotenv.load_dotenv()# 对比3个LLM: glm-4-plus、gpt-4o和qwen-32bchat_glm_4_plus ChatZhipuAI(modelglm-4-plus, temperature0.1)chat_gpt_4o ChatOpenAI(modelgpt-4o, temperature0.1)chat_qwen_32b ChatOpenAI(modelqwen-32b, temperature0.1)# 构造promptquery 待翻译内容:{content}原始语言:{origin_lang}翻译成的目标语言:{target_lang}特别注意直接生成翻译好的文本即可无需任何额外信息prompt ChatPromptTemplate.from_messages([(system, 你是一个翻译专家请根据用户需要翻译文本),(human, query)])prompt prompt.partial(origin_lang英语, target_lang汉语)# 构造Chainglm_4_plus_chain prompt | chat_glm_4_plus | StrOutputParser()gpt_4o_chain prompt | chat_gpt_4o | StrOutputParser()qwen_32b_chain prompt | chat_qwen_32b | StrOutputParser()print(翻译评测开始\n\n)# 创建数据集加载器loader DataSetLoader()# 创建分词器tokenizer Tokenizer()# 创建BLEU分数计算器calculator BleuScoreCaculator()count 20 # 评测20条数据,可以视具体情况调整glm_4_plus_total_score: float 0gpt_4o_total_score: float 0qwen_32b_total_score: float 0result: List[Dict[str, Any]] []for i in range(count):# 执行翻译print(f\n第{i 1}组\n)origin loader.get_origin_content(i)print(f[原始内容]: {origin}\n)ref_trans loader.get_ref_trans(i)print(f[参考翻译]: {ref_trans}\n)glm_4_plus_trans glm_4_plus_chain.invoke({content: origin})print(f[glm-4-plus 翻译结果]: {glm_4_plus_trans}\n)gpt_4o_trans gpt_4o_chain.invoke({content: origin})print(f[gpt_4o 翻译结果]: {gpt_4o_trans}\n)qwen_32b_trans qwen_32b_chain.invoke({content: origin})print(f[qwen-32b 翻译结果]: {qwen_32b_trans}\n)# 分词处理ref_tokens tokenizer.clean_and_tokenize(ref_trans)glm_4_plus_trans_tokens tokenizer.clean_and_tokenize(glm_4_plus_trans)gpt_4o_trans_tokens tokenizer.clean_and_tokenize(gpt_4o_trans)qwen_32b_trans_tokens tokenizer.clean_and_tokenize(qwen_32b_trans)# 计算BLEU分数glm_4_plus_trans_score calculator.calc_score([ref_tokens], glm_4_plus_trans_tokens)print(f[glm-4-plus BLEU分数]: {glm_4_plus_trans_score}\n)gpt_4o_trans_score calculator.calc_score([ref_tokens], gpt_4o_trans_tokens)print(f[gpt_4o BLEU分数]: {gpt_4o_trans_score}\n)qwen_32b_trans_score calculator.calc_score([ref_tokens], qwen_32b_trans_tokens)print(f[qwen-32b BLEU分数]: {qwen_32b_trans_score}\n)glm_4_plus_total_score glm_4_plus_trans_scoregpt_4o_total_score gpt_4o_trans_scoreqwen_32b_total_score qwen_32b_trans_score# 保存结果single_result {origin: origin,ref_trans: ref_trans,glm_4_plus_trans: glm_4_plus_trans,gpt_4o_trans: gpt_4o_trans,qwen_32b_trans: qwen_32b_trans,glm_4_plus_trans_score: glm_4_plus_trans_score,gpt_4o_trans_score: gpt_4o_trans_score,qwen_32b_trans_score: qwen_32b_trans_score,}result.append(single_result)print(f\n{json.dumps(result)}\n)print(翻译评测完成\n\n)# 保存结果with open(./trans_result.json, w) as f:json.dump(result, f, ensure_asciiFalse, indent4)print([glm-4-plus BLEU平均分]: , glm_4_plus_total_score / count)print([gpt-4o BLEU平均分]: , gpt_4o_total_score / count)print([qwen-32b BLEU平均分]: , qwen_32b_total_score / count)
- 总结 我们测试了20条数据集最终结果如下 [glm-4-plus BLEU平均分]: 0.6133968696381211 [gpt-4o BLEU平均分]: 0.5818961018843368 [qwen-32b BLEU平均分]: 0.580947364126585生成的结果 json 文件格式如下 [{origin: For geo-strategists, however, the year that naturally comes to mind, in both politics and economics, is 1989.,ref_trans: 然而作为地域战略学家无论是从政治意义还是从经济意义上让我自然想到的年份是1989年。,glm_4_plus_trans: 对于地缘战略家来说无论是在政治还是经济上自然而然会想到的年份是1989年。,gpt_4o_trans: 对于地缘战略家来说无论在政治还是经济方面自然而然想到的年份是1989年。,qwen_32b_trans: 然而对于地缘战略家来说无论是政治还是经济自然想到的一年是1989年。,glm_4_plus_trans_score: 0.5009848620501905,gpt_4o_trans_score: 0.42281285383122796,qwen_32b_trans_score: 0.528516067289035 }]可以看出针对中文翻译这3个大模型的 BLEU 相差不大而且都超过了 0.5基本可以认为翻译质量较好能够传达原文的基本意思错误较少流畅性较好。其中分数最高的是 glm-4-plus大概率是因为智谱 AI 针对中文语料做了很多 fine-tuning 和优化的工作因为在机器翻译领域数据是非常重要的关键因素。 本文仅采用了20条数据进行评测结果可能存在一些偏差而且不同的测试数据也会对结果产生影响可以结合特定业务场景调整参数。重要的是这里提供了一种相对客观的评估方式可以直观地评测不同大模型的翻译效果可以作为业务应用和技术选型的有力依据。
- 上一篇: icp备案查询站长工具汉川做网站
- 下一篇: icp网站备案证书兼职的正规平台哪里有
