word2vec

Word Embedding 稳定性研究

回眸只為那壹抹淺笑 提交于 2020-10-28 17:30:23
https://zhuanlan.zhihu.com/p/113339927 我们在production的系统里面会遇到一个问题,模型如何处理新进来的数据。重新训练的话下游的prediction可能会非常不一样,但是我们不知道到底怎么不一样。之前在MLSys 2020 看到了这个关于稳定心的文章,所以跟大家分享一下。这个paper尝试总结retraining对embedding的影响到底有多大,原文在这里 https://proceedings.mlsys.org/static/paper_files/mlsys/2020/104-Paper.pdf ​ proceedings.mlsys.org 既然我们要讨论稳定性,我们得先给一个稳定性的定义 这个定义的逻辑本身是根据下游的task来定义上游够不够稳定,如果完全稳定的话下游的模型就不用retrain了。这里文章讲用zero one可能是因为讨论的是NLP的问题,假设是ctr的话这种zero one loss就不合理。 对于word embedding的算法,文中用了三种 Matrix Completion GloVE word2vec quantization用的是uniform quantization,原文在这里 https://arxiv.org/pdf/1909.01264.pdf ​ arxiv.org

用BERT夺腾讯广告算法大赛50万元大奖,这是冠军团队的解决方案

爷,独闯天下 提交于 2020-10-27 07:28:30
  机器之心报道    编辑:小舟、蛋酱    这三位程序员,用 BERT 捧走了 50 万人民币的高额奖金。   8 月 3 日,一年一度的腾讯广告算法大赛在深圳腾讯滨海大厦举办。   一直以来,腾讯广告都在不断寻找更为优秀的数据挖掘和机器学习算法。这场备受瞩目的算法盛事,今年已经是第四届。每一年的比赛都会吸引上万人参加,还催生出一个小型算法社区。   最终,由三位年轻程序员组成的 DYG 团队捧走了冠军 7 万美金(近 50 万人民币)的高额大奖。从初赛冠军、复赛冠军,再到最佳答辩,这三位程序员究竟靠的是什么?   DYG 团队由来自武汉大学计算机科学硕士、算法工程师王贺,中山大学 - 微软研究院联合培养博士生郭达雅以及多次荣获国内 NLP 和数据挖掘比赛 TOP 名次的梁少强组成。值得一提的是,前两位选手同时也是 2019 年腾讯广告算法大赛的冠军得主。      左起:腾讯广告副总裁蒋杰,「DYG」战队王贺、郭达雅、梁少强。    比赛题目   今年腾讯广告算法大赛的题目是「广告受众基础属性预估」,和以往比赛分析广告转化率、预估曝光效率的传统思路不同,这次的赛题是一种逆向思考。   通常认为人们对于广告的偏好会因年龄和性别的不同而有所区别,许多行业的实践者已经验证了这一假设。但大多数采用的方法是在已有这些属性之后进行区分推荐,随后对比推荐效果。   而今年的赛题

Soft-Masked BERT:文本纠错与BERT的最新结合

孤街浪徒 提交于 2020-10-14 19:54:00
文本纠错 ,是自然语言处理领域检测一段文字是否存在错别字、以及将错别字纠正过来的技术,一般用于文本预处理阶段,同时能显著缓解智能客服等场景下语音识别(ASR)不准确的问题。 本文将通过以下几个章节简要介绍文本纠错相关知识。 1. 文本纠错示例与难点 2. 文本纠错常用技术 3. 如何将 BERT 应用于文本纠错 4. 文本纠错最优模型 : Soft - Masked BERT ( 2020 - ACL ) 5. 立马上手的纠错工具推荐 一.文本纠错示例与难点 生活中常见的文本错误可以分为(1)字形相似引起的错误(2)拼音相似引起的错误 两大类;如:“咳数”->“咳嗽”;“哈蜜”->“哈密”。错别字往往来自于如下的“相似字典”。 相似发音中文字典 相似字形中文字典 其他错误还包括方言、口语化、重复输入导致的错误,在ASR中较为常见。 现有的NLP技术已经能解决多数文本拼写错误。剩余的 纠错难点 主要在于,部分文本拼写错误需要 常识背景(world-knowledge) 才能识别。例如: Wrong : "我想去埃及金子塔旅游。" Right : "我想去埃及金字塔旅游。" 将其中的“金子塔”纠正为“金字塔”需要一定的背景知识。 同时,一些错误需要模型像人一样具备 一定的推理和分析能力 才能识破。例如: Wrong : "他的求胜欲很强,为了越狱在挖洞。" Right :

从PageRank到反欺诈与TextRank

六月ゝ 毕业季﹏ 提交于 2020-10-12 11:25:27
©PaperWeekly 原创 · 作者|贲忠奇 单位|混沌大学推荐算法工程师 研究方向|推荐算法、反作弊 PageRank 是一种利用网页之间的连接数量和质量来计算网页重要性的技术。PageRank 算法基础上衍生出来很多重要的链接分析算法,TextRank 是其重要的衍生之一,在 nlp 领域用于文章摘要和关键词提取。 PageRank 也可以用于反作弊,网页的连接数量和质量可以类比成某个黑产团伙中的成员之间的连接数量和连接的质量,可以用于黑产成员重要性分析。 背景 最早的搜索引擎采用的是分类目录方法,即通过人工编辑审核进行网页分类并整理出高质量的网站,并按照人工编辑认为的重要程度去排序。由于早期的网页比较少,那时 Yahoo 和国内的 hao123 就是使用这种方法,在那一历史时期是可以行的。后来网页越来越多,人工分类已经不可能了。 搜索引擎采用文本检索的方式,即计算用户查询关键词与网页内容的相关程度来返回搜索结果,被搜索词语在网页中的出现次数来决定排序——出现次数越多的网页排在越前面。但是总有一些垃圾网站,来回地倒腾某些关键词使自己的搜索排名靠前,使得李鬼取代李逵,显然这种方式是不合理的。 1996 年初,谷歌公司的创始人, 当时还是美国斯坦福大学(Stanford University)研究生的佩奇(Larry Page)和布林(Sergey Brin

详解 GloVe 的原理和应用

孤街醉人 提交于 2020-10-12 01:48:00
前面我们学习了 word2vec 的两种训练模型:CBOW 和 Skip-Gram,这两种都是通过一个神经网络学习出单词的词向量,今天我们来学习另外一个学习词向量的模型 GloVe,全称叫 Global Vectors for Word Representation,它是一个基于全局词频统计的词表征工具,属于非监督式学习方法。 word2vec 是深度学习中比较主流的词嵌入方法,后来在 2014 年由 Stanford NLP 团队的 Jeffrey Pennington、Richard Socher、Chris Manning 在论文 GloVe: Global Vectors for Word Representation 中提出了 GloVe。在论文中给出了 GloVe 和 word2vec 的对比,经过实验表明在单词类比任务中 GloVe 的效果要好于 CBOW 和 Skip-Gram,可以比 word2vec 更快地学习出更好的词向量。 GloVe 的基本思想是: 首先建立一个很大的单词-上下文的共现矩阵,矩阵的每个元素 $X_{ij}$ 代表每个单词 $x_i$ 在相应上下文 $x_j$ 的环境中共同出现的次数。 然后用共现次数计算出共现比率,并建立词向量与共现比率之间的映射关系,进而得到 GloVe 的模型函数。 接着建立加权平方差损失函数,再用 AdaGrad

Mxnet (39): 上下文敏感的nlp模型:BERT

99封情书 提交于 2020-10-12 01:43:58
word2vec和GloVe之类的词嵌入模型是与上下文无关。他们将相同的预训练向量分配给相同的单词,而不管该单词的上下文(如果有)。他们很难用自然语言处理好多义性或复杂的语义。这种上下文无关的很有局限性,因此出现了很多上下文敏感的模型,ELMo为其中之一。 ELMo将来自预训练的双向LSTM的所有中间层表示形式组合为输出表示形式,然后ELMo表示将作为附加功能添加到下游任务的现有模型中。虽然这解决了上下文无感的问题,但是解决的方案取决与特定的任务体系。但是,为每个自然语言任务设计特定的体系比价困难。为此GPT模型设计为用于上下文相关且非任务确定的通用模型。GPT建立在Transformer解码器上,可以预训练将用于表示文本序列的语言模型。当将GPT应用于下游任务时,语言模型的输出将被馈送到添加的线性输出层中,以预测任务的标签。但是由于模型具有自回归特征,只能向前看(从左到右),在“我去银行存钱”和“我去银行坐下”的情况下,由于“银行”对左侧的上下文很敏感,因此GPT将为“银行”返回相同的表示形式有不同的含义。 ELMo双向编码上下文,GPT与任务无关。BERT吸取了二者的有点,可以双向编码上下文,使用预训练的Transformer编码器,BERT可以基于其双向上下文表示任何token。下图展示了三者的差异: 用于下游任务的监督学习时: BERT表示将被输入到一个附加的输出层中

从自监督学习主流方法、最新工作进展,看未来前景研究方向

时间秒杀一切 提交于 2020-10-10 00:28:37
来源: 机器学习算法与自然语言处理 本文约 6000字 ,建议阅读 10分钟。 找到合适的辅助任务,对于自监督学习是最需要解决的问题。 本文作者来自东北大学,他通过整理自监督学习的一系列工作,把主流方法分成三大类,方便大家更全面的了解自监督学习的定义、方法、用途。 与此同时,文中也穿插着几大主流方法的最新工作进展,现在正在探索自监督学习未来前景研究方向的同学,也不妨借鉴一二,说不定能找到灵感哦~ 学习的范式 我们首先来回顾下机器学习中两种基本的学习范式,如图所示,一种是监督学习,一种是无监督学习。 监督学习与无监督学习[1] 监督学习利用大量的标注数据来训练模型,模型的预测和数据的真实标签产生损失后进行反向传播,通过不断的学习,最终可以获得识别新样本的能力。而无监督学习不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类相关的任务。有监督和无监督最主要的区别在于模型在训练时是否需要人工标注的标签信息。 无监督学习中被广泛采用的方式是自动编码器(autoencoder): 深度自编码器[6] 编码器将输入的样本映射到隐层向量,解码器将这个隐层向量映射回样本空间。我们期待网络的输入和输出可以保持一致(理想情况,无损重构),同时隐层向量的维度大大小于输入样本的维度,以此达到了降维的目的,利用学习到的隐层向量再进行聚类等任务时将更加的简单高效。 对于如何学习隐层向量的研究

最小熵原理系列:词向量的维度应该怎么选择?

旧街凉风 提交于 2020-10-03 11:44:40
©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP、神经网络 随着 NLP 的发展,像 Word2Vec、Glove 这样的词向量模型,正逐渐地被基于 Transformer 的 BERT 等模型代替,不过经典始终是经典,词向量模型依然在不少场景发光发热,并且仍有不少值得我们去研究的地方。本文我们来关心一个词向量模型可能有的疑惑: 词向量的维度大概多少才够? 先说结论,笔者给出的估算结果是: 更简约的话可以直接记 ,其中 N 是词表大小,n 就是词向量维度, 是自然对数。当 n 超过这个阈值时,就说明模型有足够的容量容纳这 N 个词语(当然 n 越大过拟合风险也越大)。 这样一来,当 N=100000 时,得到的 n 大约是 96,所以对于 10 万个词的词向量模型来说,维度选择 96 就足够了;如果要容纳 500 万个词,那么 n 大概就是 128。 背景 之所以想起这个问题,是因为昨天在 Arxiv 上刷到了论文 Word2vec Skip-gram Dimensionality Selection via Sequential Normalized Maximum Likelihood [1] ,遗憾的是,从这篇论文中笔者并没有找到想要的答案。顺带搜索了一下,发现也有类似文献研究同样的问题,比如 On the Dimensionality of