学编程比较好的8个网站
|
关于其他 Embedding 方法的思考 Embedding 方法被广泛应用于自然语言处理领域,也就是使用数学语言表示一篇文本。虽然上文提到的 SVD 算法的有效性在实际模型计算中被验证了,但是在文本特征表示方面仍有缺陷。 首先,它是一个词袋模型(BOW,bag of words),不考虑词与词之间的顺序,而在实际文本中,词语的顺序也非常重要,而且每个词在句子中的重要性各不相同;其次,它假设词与词之间相互独立,但在大多数情况下词与词是相互影响的,这也是为什么我们在做“阅读理解”的时候经常要联系上下文的原因。 如今 Embedding 领域早已向深度学习的方向衍化,大致可以分为以下四种常见应用: 不依赖文本语法和语序的词袋模型:one-hot、tf-idf、textrank 等; 主题模型:LSA、pLSA、LDA; 基于词向量的固定表征:word2vec、fastText、glove 基于词向量的动态表征:elmo、GPT、bert 其中,Word2vec 是获得工业界广泛应用的算法之一。提到 Word2vec 就不得不引入“词向量”的概念。NLP 领域中,最细粒度的是词语,词语构成句子,句子再组成段落、篇章、文档。如何用数学语言表示每一个词语,成为研究词与词之间关系的关键。Word2vec 正是来源于这个思想,可以把它看作是简单化的神经网络模型,但是它的最终目的,不仅仅是用数值表示文本符号,还有模型训练完后的副产物——模型参数(这里特指神经网络的权重)。该模型参数将作为输入词语的某种向量化的表示,这个向量便称为——词向量。 举例子说明如何通过 Word2vec 寻找相近词: 结合 TalkingData 应用 Embedding 的实际场景,与词向量的最大区别就是被表示的特征之间没有上下文的联系。TalkingData 以分析移动设备行为数据为主,对大多数设备属性来说,打乱排列的顺序对于实际意义来说没有任何影响,但是一个句子里面的词语是不能被打乱顺序排列的,句式结构对于词向量表示来说是非常重要的。基于实际业务场景的考量,我们没有选择用 Word2vec 或更复杂的 Embedding 算法来转换原始数据。 虽然,我们保证了原始数据输出的安全性,但是伴随而来的是数据可解释性较弱的问题。由于 Embedding 算法将原始数据转化为了另一个空间的数值向量,因此无法人为理解或者赋予输出矩阵的每一列的实际含义。 假设建模人员构建一个“工资预测回归模型”,采集到的样本特征包括“性别、年龄、学历、工作城市、工作年限…”,分别对应数据集中的每一列,那么他们可以容易的计算得到每个特征的权重,并且能够比较哪个特征的权重较高,即特征重要性的排序,得到诸如“工作年限对工资高低的影响比性别更重要”这样的结论。
但是在使用 TDS 平台输出的数据构建模型的时候,我们没办法向上述模型一样分析比较每一列特征对模型的影响,只能得出增加 Embedding 特征对于模型效果是否有提升这样粒度较粗的结论。显然,如果建模人员对于模型的解释性有特别严苛的需求的话,TDS 平台暂时没有办法提供解决方案。 案例二:某金融企业的风控模型预测效果提升 在与很多企业的合作中,会将 TalkingData 的人口属性标签和应用兴趣标签作为第三方数据引入。在与某金融企业的合作中,TalkingData 将数据通过 TDS 输出给该企业并应用在风控模型中。
在相同的假阳率(False Positive Rate)下,企业原有算法的生产准确率为 0.42,而加入 Embedding 算法输出的数据后,经过优化的生产准确率达到 0.52,提升 25%。在风控领域中,25% 的提升能够帮助企业避免很大的经济损失。 (编辑:揭阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
