萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

都说GPT-3能接人话,补充上下文关系,中文版的“填词大师”你见过没?

不仅是中文版,这个“填词大师”甚至还是从古代穿越过来的文言文版

这是两个来自北理工的小哥做出的模型GuwenBERT,经过训练后的模型,不仅能自动帮助文言文断句,还能帮你思考被遮住的词语到底是什么。(真没有用原诗骗你)

要是这个模型去参加高考,文言文断句、诗词背诵部分,岂不是都能拿满分?

来看看它是怎么被做出来的~

文言文版BERT,填词断句样样通

GuwenBERT,是在中文BERT-wwm模型的基础上,利用古文数据集训练出来的。

中文BERT-wwm(基于全词遮罩技术的中文预训练模型)是哈工大和讯飞联合发表的模型,在中文BERT的基础上,修改了预训练阶段的训练样本生成策略。

全词遮罩(Whole Word Masking),指原来的遮罩(mask)只随机遮一个字,现在则会对一个词的所有字进行遮罩。

但中文BERT-wwm,是针对现代汉语训练的模型。

经受过文言文“毒打”的小伙伴都知道,古文不仅词法与现代汉语中多存在不同,而且没有断句,理解起来费神费力。

想要在大量古籍中按图索骥,快速查找到想要的资料,更是难上加难。

为此,GuwenBERT横空出世,根据已有的现代汉语模型,用古文数据集训练出了文言文预训练模型。预训练的过程是这样的:

目前,这个模型已经给出了样本,在线就能一试文言文版BERT的功力。

调戏Demo的方法是,随便给一句古文,用[MASK]遮住其中一个字、或是一个标点,让GuwenBERT来猜猜看,你遮住的到底是什么。

例如,遮住一个逗号,看文言文会不会断句。BERT在思考了不到一秒后,就给出了自己的答案:

至于填词方面,文言文BERT的表现也很优秀,在思考了一会后,填上了正确的词语。

是不是感觉有点简单?我们用课文来试一下:

效果竟然也不错,要是这样的理解能力去参加高考,岂不是就能拿个默写部分的满分了?

其实不然,这个文言文BERT,并不是根据记忆来判断如何填词,只是根据训练后的模型,来预测“概率最大的字”。

于是在测试过程中,出现了一些神奇的事情:这个文言文BERT,不仅能接梗造词,甚至还给李白诗中的字“推荐”了更好的替代者。

接梗造词样样会,李白的诗也能改

举个例子,即使输入的不是原来的诗句,文言文BERT也同样能预测出被遮住的字,不仅能随便接梗,还面不改色心不跳。

例如,“垂死病中惊坐起,笑问客从何处来”也能接……(原诗是?)

一旦涉及动词的选取,GuwenBERT的预测就更加难以捉摸,因为可选的范围太大了。(中文博大精深)

例如,将“不及汪伦送我情”的“送”字遮住的话,GuwenBERT就开始感到迷茫,即使是预测率最高的“知”,也只有15.7%的概率。

“不及汪伦知我情”,想必BERT版李白,内心一定认为汪伦是自己高山流水一般难得遇见的知音。

在断句的情况下,如果并非对仗工整的语句,GuwenBERT也要好好思考一会。

虽然文言文BERT有自己的想法,不过它还是“循规蹈矩”的,目前在测试时,语法上还没有出现太大的问题。

甚至,还能为古人们的写作提供别样的灵感。

但文言文BERT目前还只能遮罩一个字,要是多了几个,它就不跟你玩了。

不知道作者以后会不会在这方面进一步加上新功能。

作者介绍

这个文言文BERT的作者,是两位来自北理工的同学。

阎覃,来自北京理工大学,目前是计算机科学与技术专业的一名硕士生。

这位小哥在GitHub的名字是Ethan,他还特意选择了某些日期来contribution,把自己的名字拼了上去。

迟泽闻,同样来自北京理工大学,目前的研究工作主要是通过预训练来进行跨语言的自然语言生成。

目前,模型的相关代码已经开源,想要了解的小伙伴,可以在下方试玩模型、或是查看代码。

这样的文言文BERT,你觉得还能用在哪些地方呢?

欢迎留言讨论~

demo在线可玩:
https://huggingface.co/ethanyt/guwenbert-base

模型地址:
https://github.com/Ethan-yt/guwenbert

参考链接:
https://zhuanlan.zhihu.com/p/275970135
https://www.linkedin.com/in/ethanyan/

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

「MEET 2021智能未来大会」启幕,

早鸟票限时抢购中,扫码预定席位!

李开复博士、尹浩院士、清华唐杰教授,以及来自小米美团爱奇艺小冰亚信浪潮、容联、澎思地平线G7等知名AI大厂的大咖嘉宾齐聚,期待关注AI的朋友报名参会、共探新形势下智能产业发展之路。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

北理工校友发明文言文“填词大师”,断句、造词都能做,高考文言文满分靠它了...相关推荐

  1. 北理工计算机流程图,北京理工大学:用“286”电脑,为北京亚运会上做出世界先进“信息系统”...

    在如今的体育赛事直播中 成绩瞬间发布 球路动态模拟 技术时实解析-- 已经让人们习以为常 在上世纪八十年代末 计算机尚未在中国普及 如果要为国际性体育赛事搭建信息化系统 无疑是困难重重 然而在1990 ...

  2. 我的2019计算机保研夏令营/预推免经历【中南,北理工,北航,南大,浙大】

    2019年10月27日更新 个人背景: 普通211,信息安全专业,专业排名2%,非ACM队,因为喜欢编程,参加过一些校赛. 国奖等奖学金+3年优秀共青团员.有数学建模,CCF,软件设计师,大英竞赛等等 ...

  3. 【大学】北理工的恶龙

    [大学]北理工的恶龙 最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集全校所有勇士杀死这只恶龙.要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能 ...

  4. 南理工c语言程序设计,北理工年C语言程序设计考试.doc

    北理工年C语言程序设计考试 C语言设计期末试题 一.选择题(共24分,每题2分) 1.下列不可以用作C语言程序变量名的是......4π r^3/3(π为圆周率,约等于3.14r是圆的半径r^3是指半 ...

  5. 北理工硕士被指抄袭投稿论文,校方通报:留校察看

    9月30日,北京理工大学研究生院网站发布<关于对我校研究生张某某处分的情况通报>,根据调查结果,认定2020级硕士研究生张某某"滥用学术成果署名",属于"严重 ...

  6. 北理工硕士生「一字不差」抄袭顶会投稿,网友:买论文被忽悠了?

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨机器之心 编辑丨极市平台 导读 竟然如此明目张胆,一字不差地抄 ...

  7. 竟有内鬼!北理工硕士生「复制粘贴」论文,旷视研究员最新声明

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|AI算法与图像处理 [导读]过了半个多月,北理工硕士公然抄 ...

  8. 北理计算机考研机试,北理工计算机2000-2010考研机试题目c语言实现.doc

    北理工计算机2000-2010考研机试题目c语言实现 北理工计算机2000-2010考研机试题目c语言实现1.进制转换#include #include //#include #include #in ...

  9. 北理工团队在推动运动意图神经解码走向真实应用场景方面取得研究进展

    近日,北京理工大学机械与车辆学院毕路拯教授团队在基于非侵入式神经信号的运动意图解码方面取得重要研究进展.研究成果以"Hierarchical Decoding Model of Upper ...

最新文章

  1. AI系列一:机器学习介绍
  2. 安卓飞机大战(三) 弹出对话框
  3. v8学习笔记(七) 执行过程
  4. How is javascript asynchronous AND single threaded?
  5. 【图片识别】java 图片文字识别 ocr (转)
  6. SAP UI5 应用开发教程之四十二 - SAP UI5 自带的 Diagnostics 诊断工具使用方法介绍
  7. php用mssql还是用pdo,php使用pdo连接mssql server数据库实例
  8. 【NOI2016】国王饮水记【贪心】【斜率优化】【决策单调性】
  9. matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计
  10. SpringBoot增和MongoDB实现增删改查、复合查询
  11. 【luogu P3979 遥远的国度】 题解
  12. ofbiz中用 ajax 几点注意
  13. JavaEE中级.20190615.易买网项目(一).隐藏域.
  14. Mac应用程序、软件、工具仓库
  15. adobe bridge cs6怎么卸载_怎么取消adobe bridge cs6 更新
  16. maya调磨砂教程_怎么用maya调磨砂玻璃的材质?
  17. 小程序中实现用户的登录与注册
  18. Matlab分析系统的动态性能
  19. android os仿ios,安卓仿ios12桌面全套仿安卓完美版
  20. spark on hive 的部署,和spark on hive (ha)在本地测试步骤

热门文章

  1. 在SQL Server中使用JOIN更新表?
  2. 如何在win10环境下运行debug
  3. 定位(positioning)
  4. vue2.0中文网站2.0
  5. 读《程序员的SQL金典》[4]--SQL调优
  6. Windows-Server下加强系统安全性系列之方案【九】
  7. F2etest+UIRecorder(环境搭建)【1】
  8. c语言tcp硬时事通讯程序代码,使用C语言编写基于TCP协议的Socket通讯程序实例分享...
  9. oracle tns 代理配置_OGG实现Oracle到MySQL数据平滑迁移
  10. python requests模块_Python 爬虫教程 requests 模块