A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings论文笔记

本文主要是介绍A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings论文笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

回看前几篇笔记发现我剪贴的公式显示很乱,虽然编辑时调整过了,但是不知道为什么显示的和编辑时的不一样,为方便大家的阅读,我开始尝试着采用markdown的形式写笔记,前几篇有时间的话再修改。

这篇论文阅读完,我依然有很多不懂的地方,对其操作不是很清晰,因为我没做过这方面的内容,且近期估计没时间学习其项目,所以记录理解的可能有误,希望大家带着思考阅读。
PS:感觉这篇文章的作者是这个方向的大神呢,引用里好多都是他自己的文章
原文下载链接
项目下载链接

摘要

  • 跨语种嵌入映射(cross-lingual embedding mappings)的核心思想:分别训练单个语种语料,再通过线性变换映射到shared space。
  • 方法整体分为监督的、半监督的和非监督的,监督和半监督都要依赖种子字典(seed dictionary),本文主要研究非监督的方法
  • 非监督方法主要有两种:对抗训练(adversarial training)和自学习(self-learning)
  • 对抗训练的缺点:依赖favorable conditions(如限制在相关的语种,类似维基百科的语料)
  • 自学习的缺点:初始化不好时,易陷入差的(poor)局部最优
  • 本文即使根据自学习的缺点提出了初始化的方法。
  • 提出方法的依据是:观察到不同语种中相同的词有相似的相似度分布,如图1所示:在这里插入图片描述
    Figure 1中的第一幅图是英文单词two的相似度分布,第二幅图是意大利语due(等同于two)的相似度分布,第三幅图是意大利语cane(等同于dog)的相似度分布。

本文算法

设X和Z是两种语言的embedding矩阵,所以他们的第 i t h ith ith X i ∗ X_{i*} Xi Z i ∗ Z_{i*} Zi表示他们语种中的第 i i i个词,我们的目标就是学习变换矩阵 W X {W_{X}} WX W Z {W_{Z}} WZ,所以映射embedding X W X {XW_{X}} XWX Z W Z {ZW_{Z}} ZWZ在相同的跨语种空间,同时,要在两个语种中构建一个字典即稀疏矩阵 D D D,如果目标语言中的第j个单词是源语言中第i个单词的翻译,则Dij = 1。
本文算法主要分四步:1)normalize embedding的预处理;2)完全非监督的初始化方案;3)鲁棒性强的self-learning步骤;4)最后微调通过对称re-weighting进一步improve mapping.

1 embedding normalization

这边具体不知道怎么做的,只能把翻译写下来了(也不知道翻的对不对):长度标准化嵌入,然后平均每个维度的中心,然后长度再次标准化它们。(原文:length normalizes the embeddings, then mean centers each dimension, and then length normalizes them again.)

2 完全非监督初始化

这里我就拷贝公式了,剩下的部分因为我也似懂非懂所以就简单写一下:mapping中的一个难点是X和Z并不对应,此处包含两方面,词不对应(反应到行),维度不对应(反应到列)。
本文的方法是首先通过 M X = X X T M_{X}=XX^{T} MX=XXT M Z = Z Z T M_{Z}=ZZ^{T} MZ=ZZT分别求其相似度矩阵,然后对每一行进行排序,然后在进行第一节的规范化操作;

3 Robust self-learning

这部分没看懂啊,大家还是认真看原文吧

4 Symmetric re-weighting

同上一节(羞愧)

这篇文章没仔细看,很多细节没看懂,所以记得也比较草率,之所以还这样记录下来是为了记录下其核心思想,等回顾时也许能用上。这篇写的很差,大家见谅啊~~~~

这篇关于A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings论文笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python自动化提取多个Word文档的文本

《Python自动化提取多个Word文档的文本》在日常工作和学习中,我们经常需要处理大量的Word文档,本文将深入探讨如何利用Python批量提取Word文档中的文本内容,帮助你解放生产力,感兴趣的小... 目录为什么需要批量提取Word文档文本批量提取Word文本的核心技术与工具安装 Spire.Doc

C#高效实现在Word文档中自动化创建图表的可视化方案

《C#高效实现在Word文档中自动化创建图表的可视化方案》本文将深入探讨如何利用C#,结合一款功能强大的第三方库,实现在Word文档中自动化创建图表,为你的数据呈现和报告生成提供一套实用且高效的解决方... 目录Word文档图表自动化:为什么选择C#?从零开始:C#实现Word文档图表的基本步骤深度优化:C

Qt实现对Word网页的读取功能

《Qt实现对Word网页的读取功能》文章介绍了几种在Qt中实现Word文档(.docx/.doc)读写功能的方法,包括基于QAxObject的COM接口调用、DOCX模板替换及跨平台解决方案,重点讨论... 目录1. 核心实现方式2. 基于QAxObject的COM接口调用(Windows专用)2.1 环境

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

C#实现插入与删除Word文档目录的完整指南

《C#实现插入与删除Word文档目录的完整指南》在日常的办公自动化或文档处理场景中,Word文档的目录扮演着至关重要的角色,本文将深入探讨如何利用强大的第三方库Spire.Docfor.NET,在C#... 目录Spire.Doc for .NET 库:Word 文档处理利器自动化生成:C# 插入 Word

Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)

《Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)》在职场中,Word文档是公认的好伙伴,但你有没有被它折磨过?批量生成合同、制作报告以及发放证书/通知等等,这些重复、低效... 目录重复性文档制作,手动填充模板,效率低下还易错1.python-docx入门:Word文档的“瑞士

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码