论文笔记 | Attention Is All Y ou Need for Chinese Word Segmentation

2024-05-31 12:58

本文主要是介绍论文笔记 | Attention Is All Y ou Need for Chinese Word Segmentation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述


作者:景
单位:燕山大学


论文来源:EMNLP2020
代码地址

关于分词任务

  中文分词(CWS)是在句子中划分单词边界的任务,对于中文和许多其他东亚语言来说,这是一项基本和必要的任务——对于中文来说,进行交流的基本单位是汉字,每个汉字均有各自的意思,且当不同的汉字进行组合后还会产生新的含义。英语中词的最基本单位是字母(letter),但英语日常使用的基本单位是词(word),词汇之间的关联组合性相较中文较弱。在实际应用场景中,如果按照英文的使用习惯对中文进行“按字拆分”,就会割裂中文词汇内的语义联系。

任务定义

  给定一段中文序列[x1,…,xn],用标签0/1来标记序列中俩俩字符之间的间隙(gap),如果间隙前后的字符(如x5、x6)属于不同的词汇,即判定该处间隙属于分词符,用标签1标记该间隙,反之则用标签0表示。最后根据标签值将序列进行划分即可完成分词任务。

论文概述

  • 提出了一种新型的Transformer变体——高斯掩码定向Transformer编码器(Gaussian-masked Directional Transformer encoder,GD)
  • 提出了一种新的中文分词模型,该模型基于GD Transformer设计,但其内部仅仅堆叠了注意力机制模块,没有添加前馈神经网络
  • 作者证明在使用GD作为编码器之后,单个字符特征加上贪婪分割算法可以支持产生强大的性能,并刷新了当前的sota。

方法

模型的总结构图如下所示。
123

1.高斯掩码定向Transformer

  作者提出的GD Transformer与原版的Transformer相比,做了两大改进:
  1.用三种平行的Encoder代替了原transformer中的Encoder
  2.采用高斯掩码定向注意力机制代替了标准的多头自注意力机制

Encoder部分

在这里插入图片描述

  如上图所示,每层共有三个彼此平行的编码器:前向编码器、中心编码器、 后向编码器;前、后向编码器用于捕捉gap前边、后边的信息,中心编码器与原Transformer编码器一样,可以同时捕捉gap前后文的信息。

For the forward encoder, we forcibly set all values inside the attention matrix representing the character pair relation after the concerned character as 0 so that the encoder can focus on the forward characters.

  对于前向编码器,作者强制将gap之后的关系矩阵内的所有值设置为0,进行一个掩盖的操作,以便编码器可以关注前向字符。后向编码器的设置与前向编码器相似,不过掩盖的是gap之前的位置。
  编码器的输出结果为rf、rb、rc,得到图示的 v b v^b vb v f v^f vf
v b = r b + r c v f = r f + r c v^b=r^b+r^c\\ v^f = r^f+r^c vb=rb+rcvf=rf+rc

GD多头注意力机制

在这里插入图片描述

我们知道,Transformer中Attention的计算公式如式1所示,
A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V (1) Attention(Q,K,V)=softmax(\frac{QK^T}{\sqrt {d_k}})V \tag{1} Attention(Q,K,V)=softmax(dk QKT)V(1)

  与缩放的点积注意力不同,高斯掩码定向注意力期望关注每个位置的相邻字符,并将字符之间的局部性关系作为固定的高斯权重进行关注。作者假设高斯权重只依赖于字符之间的距离。因此引入高斯权重矩阵 G = ( g i j )

这篇关于论文笔记 | Attention Is All Y ou Need for Chinese Word Segmentation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017989

相关文章

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

如何Python使用设置word的页边距

《如何Python使用设置word的页边距》在编写或处理Word文档的过程中,页边距是一个不可忽视的排版要素,本文将介绍如何使用Python设置Word文档中各个节的页边距,需要的可以参考下... 目录操作步骤代码示例页边距单位说明应用场景与高级用China编程途小结在编写或处理Word文档的过程中,页边距是一个

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

Java如何根据word模板导出数据

《Java如何根据word模板导出数据》这篇文章主要为大家详细介绍了Java如何实现根据word模板导出数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... pom.XML文件导入依赖 <dependency> <groupId>cn.afterturn</groupId>

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr