[New Paper]A Joint Model for Word Embedding and Word Morphology

2024-01-08 13:50

本文主要是介绍[New Paper]A Joint Model for Word Embedding and Word Morphology,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家端午节快乐!本文将分享一篇关于词向量模型最新研究的文章,文章于6月8号提交到arxiv上,题目是A Joint Model for Word Embedding and Word Morphology,作者是来自剑桥大学的博士生Kris Cao。


本文最大的贡献在于第一次将词形联合词向量一同进行训练,从某种程度上解决了未登录词(OOV)的词向量表示问题,同时也得到了一个效果不错的词形分析器。


介绍本文模型之前先简单介绍下本文中采用的词向量训练方法,skip-gram with negative sampling(SGNS)。这个方法是word2vec中的一种方法,大概的思路是可参见下图:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


通过用dog这个词来预测其上下文,比如cute、fluffy、barked、loudly,为了更快地收敛,增加负样本,即图中的bicycle和Episcopal这两个与dog无关的词。skip-gram的思路就是通过word来预测上下文context,而negative sampling则是根据当前词构造出一些与之无关的词,作为负样本加速收敛。


接下来介绍本文的模型Char2Vec,将字符作为最小的单元进行研究,因为对于字符这个层次来说,并不会出现OOV词的情况。具体看下图:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


在每个单词的首和尾分别添加符号^和$作为标记,将词看作是一个字符序列。在这个序列上用一个正向LSTM和一个反向LSTM得到两组hidden state,每个位置上的字符都对应着两个hidden state,将其拼接起来,然后用一个单层前馈神经网络进行处理,得到该位置上的hidden state,记为h(i)。有了每个字符的表示,接下来用attention机制来构造出词的表示,即学习一个权重系数,来表明这个词的语义与哪个h(i)关系更大,一般来说词干所在的h(i)权重会大一些,词前缀或者后缀并不能表示语义,所以权重会小很多。见下图:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


图中的单词malice、hatred、greed会与序列中的词干spit、spite,前缀^、后缀ful关系就会紧密一些,而与其他错误的字符串关系不大。


通过attention model我们得到了词向量f(w)。剩下的过程就是用skip-gram with negative sampling来训练词向量了。先前的工作都是用lstm处理字符序列来表示整个单词向量,本文并没有这样做,而是将直接使用attention model来获取每个h(i)中的信息,包括一个正向的lstm和反向的lstm,正向的lstm包含了词干和词前缀,反向的lstm包含了词后缀。当我们处理未知的词时,可以将这个词分解为已知的部分和未知的部分,这个模型就可以通过已知的部分来预测整个词的词向量,因此解决了OOV的问题。


实验中测试了该模型的词形分析的能力,尤其是在单词词形很丰富(包括词干、前缀、后缀)的情况下,效果优于一些成熟的分词器。看下图:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


在词向量效果测试中,本文模型在semantic测试中表现很差,但在syntactic测试中表现非常好。看下图:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


看得出来本文模型的优势非常明显,优势在于解决了大量处于长尾尾端的合成词的词向量表示问题,通过用未知词的已知部分(词干)来预测该词的词向量,从而解决了word2vec等一系列前人工作中未解决的问题,在英语语境中效果可能没那么好,如果换作是德语或者土耳其语这种词形非常丰富的语言会有更好的效果。在整个任务评测中,可以更好地解决syntactic相似问题,因为引入了词形这个feature可以很好地解决syntactic任务;而在semantic任务中却表现非常差,原因是char-level的词向量模型在捕捉语义上效果本身就不如word-level的模型。可以说,本文在传统词向量模型的基础上考虑加入feature来提升性能,是一种非常积极的尝试,虽然并没有在方方面面上都得到改善,但毕竟是一个探索性的、且非常有意义的工作,值得学习。


来源:paperweekly


原文链接

这篇关于[New Paper]A Joint Model for Word Embedding and Word Morphology的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

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中的魔术方法__new__详解

《Python中的魔术方法__new__详解》:本文主要介绍Python中的魔术方法__new__的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、核心意义与机制1.1 构造过程原理1.2 与 __init__ 对比二、核心功能解析2.1 核心能力2.2

Pydantic中model_validator的实现

《Pydantic中model_validator的实现》本文主要介绍了Pydantic中model_validator的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录引言基础知识创建 Pydantic 模型使用 model_validator 装饰器高级用法mo