当年如果有这个,语文就不会不及格了

简介: 当年如果有这个,语文就不会不及格了

最近在github上看到了一个项目,是小牛翻译开源的文言文-现代文平行语料,一共有967257个句对,地址在下面:

https://github.com/NiuTrans/Classical-Modern

于是我突发奇想,何不用它来训练一个文言文-现代文互相翻译的模型呢?

效果演示

来看看最终的翻译效果,先看一句舔狗经典语录:

现代文:

昨天在工地扛沙袋,我一下子扛了三袋,工友们问我为什么这么能扛?我眼泪瞬间就下来了,是啊,为什么我这么能扛,就是扛不住想你。

翻译成文言文:

昨于工地荷沙囊,余忽肩三囊,工友问何以如此?吾泣须臾而下,为也,何吾之能负,负之不胜念。

再来看一下朱自清《背影》中经典的一段话:

现代文:

他往车外看了看,说:“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。父亲是一个胖子,走过去自然要费事些。我本来要去的,他不肯,只好让他去。我看见他戴着黑布小帽,穿着黑布大马褂,深青布棉袍,蹒跚地走到铁道边,慢慢探身下去,尚不大难。可是他穿过铁道,要爬上那边月台,就不容易了。他用两手攀着上面,两脚再向上缩;他肥胖的身子向左微倾,显出努力的样子。这时我看见他的背影,我的泪很快地流下来了。

翻译成文言文:

车外顾曰:买橘数枚去,君在此,勿动也。余视其月台栅外有卖物数人待客。至其边月台,须穿铁道,须跳下复上。父为肥子,行自费。吾本将之,不肯,故许之。见著乌布小帽,乌布大马皂,深青布袍,乃至铁道侧,徐探其身,尚不难。然穿铁道,欲上其月台,未易也。以两手攀之,两足复上缩,肥身左微倾,有足力状。见其背影,余泪遽下。

可以看出效果还是非常不错的。

而文言文翻译成现代文的效果也非常不错,广大中学生语文再也不用愁了。可惜我当年咋就没这好东西呢,不然语文也不会考那么差。

训练方法

训练方法非常简单,正好之前写过一个聊天机器人的训练教程,这次可以拿来直接用:

养成女友?我训练出了一个“杨超越”聊天机器人

训练代码在下面:

https://github.com/godweiyang/chatbot

和训练聊天机器人唯一的不同就是训练数据,这里需要处理一下文言文-现代文语料,将其拆分成训练集和验证集,这里我写了个简单的脚本拆分整合了一下。

import os
trgs = os.listdir("Classical-Modern/target")
f3 = open("data/train/train.src", "w")
f4 = open("data/train/train.trg", "w")
f5 = open("data/dev/dev.src", "w")
f6 = open("data/dev/dev.trg", "w")
cnt1 = 0
cnt2 = 0
for trg in trgs:
    src = trg[:-2]
    f1 = open(f"Classical-Modern/source/{src}", "r")
    f2 = open(f"Classical-Modern/target/{trg}", "r")
    for line in f1:
        if cnt1 < 3000:
            f5.write(line.strip() + "\n")
        else:
            f3.write(line.strip() + "\n")
        cnt1 += 1
    for line in f2:
        if cnt2 < 3000:
            f6.write(line.strip() + "\n")
        else:
            f4.write(line.strip() + "\n")
        cnt2 += 1
    f1.close()
    f2.close()
print(cnt1)
f3.close()
f4.close()
f5.close()
f6.close()

然后就可以直接用和训练聊天机器人相同的方法训练了,这里不再赘述,我在8张A100显卡上训练了短短一两个小时效果就已经很不错了。

相关文章
|
人工智能 运维 Cloud Native
解密通义灵码:软件研发工具的“大脑”
解密通义灵码:软件研发工具的“大脑”
|
Dubbo Java 应用服务中间件
nacos常见问题之Nacos dubbo耗时严重如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
|
机器学习/深度学习 自然语言处理
自然语言处理技术(NLP)
自然语言处理技术(NLP)
553 1
|
安全 机器人 云计算
计算巢AppFlow-如何在钉钉群实现智能答疑
随着大模型能力越来越强大,利用大语言模型进行智能答疑已经成为了一个非常普遍和常见的场景。然而,各个产品或业务方要能够准确有效地进行答疑,仅依靠大模型的通用能力是远远不够的,这时候利用私有领域FAQ文档进行大模型的检索增强生成往往可以有效解决上述问题。
|
3月前
|
JSON API 数据格式
实时外汇行情接口接入教程
本教程将指导您如何通过简单的几步接入实时外汇行情接口,获取您所需的外汇数据。
|
3月前
|
前端开发 JavaScript Java
智能客服系统的技术栈解析-唯一客服系统技术架构优势
“唯一客服系统”采用 Vue.js 2.x + ElementUI 构建前端,实现响应式界面,支持多端适配;后端基于 Golang + Gin + GORM,具备高性能与高并发处理能力。系统支持私有化部署,提供灵活定制、AI 扩展能力,技术栈简洁易维护,兼顾开发者友好与企业级应用需求。
204 1
|
存储 监控 Kubernetes
面向全栈可观测的数据融合
全栈可观测应用是日志服务提供的一站式IT系统可观测方案,包含全链路Trace、IT系统监控、性能监控、用户体验监控、智能告警等功能。
147567 35
面向全栈可观测的数据融合
|
JavaScript
Vue中的路由导航守卫有哪些?它们的执行顺序是什么?
Vue中的路由导航守卫有哪些?它们的执行顺序是什么?
527 6
|
前端开发 算法 JavaScript
提速利器:Tree Shaking助力你的应用程序
提速利器:Tree Shaking助力你的应用程序
提速利器:Tree Shaking助力你的应用程序
|
物联网 语音技术 Swift
魔搭社区LLM模型部署实践, 以ChatGLM3为例(二)
魔搭社区LLM模型部署实践, 以ChatGLM3为例(二)
601 1