无监督分词和句法分析!原来BERT还可以这样用
BERT 的一般用法就是加载其预训练权重,再接一小部分新层,然后在下游任务上进行 finetune,换句话说一般的用法都是有监督训练的。基于这个流程,我们可以做中文的分词、NER 甚至句法分析,这些想必大家就算没做过也会有所听闻。
本文介绍 ACL 2020 的论文 Perturbed Masking: Parameter-free Probing for Analyzing and Interpreting BERT,里边提供了直接利用 Masked Language Model(MLM)来分析和解释 BERT 的思路,而利用这种思路,我们可以无监督地做到分词甚至句法分析。
本文建议配合如下文章来读:《【中文分词系列】 2. 基于切分的新词发现》[1]、《最小熵原理(二):“当机立断”之词库构建》[2]、《最小熵原理(三):“飞象过河”之句模版和语言结构》。这几篇文章主要是介绍了做无监督分词和句法分析的关键思想:相关矩阵。
▲ 基于 BERT 的 “token-token” 相关度计算图示(原句为“欧拉是一名数学家”)
▲ 基于 BERT 的 “span-span” 相关度计算图示(原句为“欧拉是一名数学家”)
语言结构
作为一个基本的验证,我们可以试着用它来做无监督中文分词。这部分内容是笔者自己实验的,并没有出现在原论文中,大概是因为原论文的实验都是英文数据,而分词是相对来说是比较具有“中文特色”的任务吧。
事实上,有了相关矩阵之后,分词是一个很自然的应用。类似《【中文分词系列】 2. 基于切分的新词发现》[3] 和《最小熵原理(二):“当机立断”之词库构建》[4] 。
我们只需要考虑相邻 token 的相关性,设定一个阈值,然后把相关度小于这个阈值的两个 token 切开,大于等于这个阈值的两个 token 拼接,就构成了一个简单的分词工具了。在实验中,笔者用 作为相邻两个 token 的相关程度度量。
https://github.com/bojone/perturbed_masking/blob/master/word_segment.py
[u'习近平', u'总书记', u'6月', u'8日', u'赴', u'宁夏', u'考察', u'调研', u'。', u'当天', u'下午', u',他先后', u'来到', u'吴忠', u'市', u'红寺堡镇', u'弘德', u'村', u'、黄河', u'吴忠', u'市城区段、', u'金星', u'镇金花园', u'社区', u',', u'了解', u'当地', u'推进', u'脱贫', u'攻坚', u'、', u'加强', u'黄河流域', u'生态', u'保护', u'、', u'促进', u'民族团结', u'等', u'情况', u'。'] [u'大肠杆菌', u'是', u'人和', u'许多', u'动物', u'肠道', u'中最', u'主要', u'且数量', u'最多', u'的', u'一种', u'细菌'] [u'苏剑林', u'是', u'科学', u'空间', u'的博主'] [u'九寨沟', u'国家级', u'自然', u'保护', u'区', u'位于', u'四川', u'省', u'阿坝藏族羌族', u'自治', u'州', u'南坪县境内', u',', u'距离', u'成都市400多公里', u',', u'是', u'一条', u'纵深', u'40余公里', u'的山沟谷', u'地']
我们可以通过修改阈值进一步控制分词粒度,也可以将它作为一个分词发现工具来进一步提升分词效果(即将分词结果统计起来,然后过滤掉低频词,将剩下的词作为词库,来构建一个基于词库的分词工具)。
有相关背景的读者应该知道,跟分词类似,其实在有了相关矩阵之后,句法分析其实也是一件水到渠成的事情罢了。当然,由于这里的句法分析是无监督的,所以它只能想办法析出句子的层次结构(句法树)出来,无法像有监督的句法分析一样,贴上人为定义的句法结构标签。
如图为距离矩阵的可视化,而聚类的目的,就是希望“蓝色部分和绿色部分的均值尽可能大,而黄色部分和橙色部分的均值尽可能小”,所以就有了上述公式的优化目标。
效果怎样呢?我们来试几个句子(事先分好词的,以词为单位构建):
https://github.com/LividWo/Perturbed-Masking
文章小结
参考链接
更多阅读
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。