BLEU 算法实际上是在判断两个句子的相似程度。要想知道一个句子翻译前后的意思是否一致,直接的方法就是将这个句子的标准人工翻译与机器翻译的结果进行比较。如果它们很相似,那就说明我的翻译很成功。

BLEU 的具体计算方法是以 N-gram 匹配为基础的,并且运用了几何平均值。其具体过程如下:
对于每个句子,要把机器翻译结果里的每个 N-gram 和参考翻译结果里的所有 N-gram 进行对比,接着算出匹配的 N-gram 的数量。
计算每个 N-gram 的权重,比如,BLEU-4 会给四元组的匹配结果赋予更重的权重。
计算 BLEU 得分的几何平均值,也就是将所有权重的 N-gram 匹配数量进行相乘,然后再开 N 次方。
BLEU 分数的范围在 0 到 1 之间。它表示机器翻译结果和参考翻译结果的相似度。一般来讲,BLEU 分数越高,就意味着机器翻译结果越接近参考翻译结果。
需要注意的是,BLEU 分数仅是一种机器翻译评估指标。它不能完全代表机器翻译的质量,因为无法捕捉翻译结果在语法、流畅度以及连贯性等方面的问题。所以,BLEU 分数应当与其他评估指标一同使用,以对机器翻译的质量进行评估。
这是 0.6.2版本
0.8.2就不行了
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre><code class="language-python">使用 torchmetrics 库中的 BLEUScore 类。 - 具体的拆分方式是按照空格进行拆分。 #translate_corpus是list #list中的每个元素是一个句子 #有多个可供选择 reference_corpus 包含两个子列表,一个子列表是['there', 'is', 'a', 'cat', 'on', 'the','mat'],另一个子列表是['a', 'cat', 'is', 'on', 'the','mat'] #reference_corpuss是list #list中的每个元素是一个句子 bleu_1 等于 BLEUScore,其中 n_gram 为 1,默认情况下 n_gram 等于 4。 bleu_2 = BLEUScore(n_gram=2) bleu_3 = BLEUScore(n_gram=3) bleu_4 = BLEUScore(n_gram=4) 调用 bleu_1 函数,并传入 reference_corpus 和 translate_corpus 作为参数,然后进行打印操作。 调用 bleu_2 函数,并传入 reference_corpus 和 translate_corpus 作为参数,然后进行打印操作。 调用 bleu_3 函数,传入 reference_corpus 和 translate_corpus 作为参数,然后进行打印操作。 调用函数 bleu_4,传入 reference_corpus 和 translate_corpus 作为参数,然后进行打印操作。 </code></pre></p>而如果是一样的话
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre><code class="language-python">from torchmetrics import BLEUScore translate_corpus = ['the cat is on the mat'.split()] #translate_corpus是list #list中的每个元素是一个句子 #有多个可供选择 reference_corpus 包含两个子列表,一个子列表是['there is a cat on the mat']分割后的结果,另一个子列表是['a cat is on the mat']分割后的结果。 reference_corpus 包含一个元素,该元素是一个列表,列表中的元素是字符串 'the cat is on the mat' 被分割后的结果,即一个单词列表。 #reference_corpuss是list #list中的每个元素是一个句子 bleu_1 = BLEUScore(n_gram=1) #默认n_gram=4 bleu_2 = BLEUScore(n_gram=2) bleu_3 = BLEUScore(n_gram=3) bleu_4 = BLEUScore(n_gram=4) print(bleu_1(reference_corpus, translate_corpus)) print(bleu_2(reference_corpus, translate_corpus)) print(bleu_3(reference_corpus, translate_corpus)) print(bleu_4(reference_corpus, translate_corpus)) </code></pre></p>就全是1
如果是多条文本一起算,那就是
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre><code class="language-python">from torchmetrics import BLEUScore translate_corpus 包含两个部分,一个是 'the cat is on the mat'.split(),另一个也是 'the cat is on the mat'.split() #translate_corpus是list #list中的每个元素是一个句子 #有多个可供选择 # reference_corpus = [['there is a cat on the mat'.split(), 'a cat is on the mat'.split()]] reference_corpus 包含两个部分,一个是['the', 'cat', 'is', 'on', 'the', 'mat'],另一个也是['the', 'cat', 'is', 'on', 'the', 'mat'] #reference_corpuss是list bleu_1 = BLEUScore(n_gram=1) #默认n_gram=4 bleu_2 = BLEUScore(n_gram=2) bleu_3 = BLEUScore(n_gram=3) bleu_4 = BLEUScore(n_gram=4) print(bleu_1(reference_corpus, translate_corpus)) print(bleu_2(reference_corpus, translate_corpus)) print(bleu_3(reference_corpus, translate_corpus)) print(bleu_4(reference_corpus, translate_corpus)) </code></pre></p>用.bleu
<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre><code class="language-python">使用 pycocoevalcap.bleu.bleu 中的 Bleu 类 # 加载参考文本 references = { } # 加载生成文本 hypotheses = { } # 创建Bleu对象 bleu_scorer = Bleu(n=4) # 计算BLEU分数 计算出的 bleu 分数,其中一个是 bleu_scores,另一个暂未提及,是通过 bleu_scorer.compute_score 函数,以 references 和 hypotheses 作为参数计算得出的。 # 打印BLEU分数 打印("BLEU 分数:", bleu_scores) </code></pre></p> <p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'> <pre><code class="language-python">import nltk 使用 nltk 中的 translate.bleu_score 模块的 sentence_bleu 函数。 # 参考翻译结果 ref 等于 ['this', 'is', 'a', 'test'] 。 # 机器翻译结果 'this'、'is'、'a'、'test' 和 'too' 都在 mt 之中。 # 计算BLEU分数 计算得到的分数等于句子的 BLEU 分数,这个 BLEU 分数是通过将参考文本(ref)与机器翻译文本(mt)进行比较计算得出的。 print(score) </code></pre></p>浅谈用计算文本BLEU分数 - 云+社区 - 腾讯云
# BLEU:双语互译质量评估辅助工具的原理与计算方法
# 是一个
# 多个
# 可供选择
# 的是
# 这是
# 加载
# 是在
# 都在
# 那就
# 腾讯
# 等方面
# 要把
# 要想
# 仅是
# 会给
# 其中一个
# 越高
# 不行了
# 浅谈
# 以对
# 沈阳seo优化报价
# 网站策划推广公司地址
# 关键词排名优化计划表
# 建筑类营销推广
# seo的工作时间
# 鹰潭网站建设技术
# 滨江seo推广网站
# 营销推广的书籍有哪些书
# 枣庄网站建设收费多少
# 随州seo推广技巧分析
# 四川营销推广产品公司有哪些
# 肃宁新型网站建设配置
# 岳阳seo优化服务费
# 青海省网站建设的软件
# 正规网站建设优化建站
# 常州百度营销推广合作电话
# 南希网站建设
# seo锚链接怎么做
# 师宗企业网站建设资费
# 重庆营销推广策划招聘
相关文章:
【揭秘】三个通过广告联盟日赚1000元的方法!
站长必看:四个关键因素影响网站生死!
通过广告联盟推广app日入2000+的经验分享!
做国外广告联盟赚钱需要准备什么软件和注意哪些细节?
南宁SEO优化,让你的品牌在数字海洋中脱颖而出,冠县网站建设多少钱
为什么网站的原创文章收录了但是无排名?主要是这几个原因!
社交app推广引流的6大方式
SEO文案:如何通过巧妙布局提升网站排名,吸引更多流量,重复关键词搜索排名
乘风SEO:突破困境,领航网络营销新时代,谷歌seo推广有效果吗
竞价广告是什么意思?什么是竞价广告?
【联盟基础】制作静默包推广赚钱是什么意思?
引流转化日入1000+的引流思路方法分享!
引流se粉的绝密方法分享,不看绝对后悔!
【SEO优化全攻略】提升网站流量的终极秘籍,带你轻松玩转搜索引擎优化!,橙子营销推广策划
想要通过微信公众号进行引流,首先你得做好公众号运营!
做网赚项目,为什么总觉得别人能赚的多但是自己赚的少?
【联盟基础】利用网盘下载资源进行推广是什么意思?
cpc广告怎么做才能达到最好的效果?6大cpc广告操作技巧分享!
健康生活,从今天开始:全面提升你的生活质量,延安网站推广价格
广告是什么?CPM、、CPC、CPV代表的又是什么含义?
是什么?赚钱的思路又是什么?
SEO要素:优化网站排名的关键因素全解析,创新能力建设资金网站
微信*号是什么?微信*号开通后如何引流?
开通微信*号初期发布*怎样才能提高*号播放量?
SEO需要:如何提升网站排名,打造高效营销利器,随州网站推广公司
“只能写作”:在创作的世界里,选择文字,就是选择自由,seo排名优化客服
互联网时代,这9大app网络推广方法必须得掌握!
单页网站怎么做排名,有什么优势吗?
SEO要不,来看看如何通过SEO优化提高网站流量和曝光度,前后端完全分离 seo问题
谷歌、阿里妈妈、京东这三家广告联盟平台各自有哪些优势?
拼多多SEO优化,如何让您的电商店铺在竞争激烈的市场中脱颖而出,seo经理知识点总结
优排软件:高效管理新天地,轻松提升工作效率,影楼网站建设海报设计
SEO总结:如何通过优化提升网站排名与流量,安阳网站推广和内容编辑
广告联盟上的网赚形式有哪些优势?
三个日赚300500的收益快、无门槛、几乎零成本的网络赚钱项目分享!
SEO建议:如何通过优化提升网站流量,赢得市场竞争,优化网站价格策略研究
关键词5-如何打破困局,释放无穷潜力?,网站seo优化服务商
利用社交软件和引流脚本自动引流,推广交友类app赚钱干货分享!
微信引流的四大群体,引流这样做才有效果!
想比别人赚更多的钱?这份广告联盟推荐榜单不要错过!
网站外链应该怎么发布?发布网站外链的4个最实用有效的方法!
2020年的广告联盟行业,你的赚钱能力及格了吗?
共创小助手:赋能团队创新与协作的全新利器,园区关键词排名策划
想要通过广告联盟赚钱所必须知道的五个要点!
网站主动引流推广赚钱该怎么做?这6个方法简单又实用!
京东业绩再创新高:未来电商巨头的成功之道,php如何seo
教你如何足不出国就能轻松操作国外广告联盟赚取美金!
SEO变现:如何通过SEO技术实现稳定收入,seo优化表情图
想要在联盟推广产品赚钱月入过万,这些你必须得知道!
SEO里面的秘密:如何通过搜索引擎优化提升网站流量,白酒公司厂家网站建设
*请认真填写需求信息,我们会在24小时内与您取得联系。