美文网首页
百度语义计算

百度语义计算

作者: xiiatuuo | 来源:发表于2019-09-29 17:19 被阅读0次

前记

最近做一些文本匹配相关的事,有两篇百度的nlp相关讲得不错

百度语义计算技术及其应用

语义表示

  • 从基于term的multi-hot ,Topic Model ,CBOW,ERNIE
  • ERNIE与BERT最大的区别是在于进行了知识增强,引入了中文词、实体等先验语义知识进来学习,在中文评测中都取得了更好的成绩。详细见下图


    bert vs ernie

语义匹配

  • 挑战主要有四个


    挑战
  • 基础做了很多工作,挖掘同义词、词级别泛化、语义紧密度、对齐资源挖掘、共线关联计算等。

  • 从传统的VSM到基于深度神经网络的SimNet

  • 长文本匹配有一个很大的挑战,就是让 Document 直接做表示,如果文本太长,很多信息会丢失,计算效率也非常低。但如果我们先做一个粗匹配,选择好相关的句子以后再做精细化的匹配,效果就比较不错。有一篇论文RLTM发表。

  • 模型应用效果并不是静态的,而是动态变化的,特别是搜索反馈的数据,随着时间的推移,网民在搜索的时候,Term 的分布、主题的分布会发生变化,所以数据的时效性影响还是非常大的。

  • 我们把 Bigram 知识也融入了进去。尽管 RNN 已经很厉害了,但加入知识、模型还是会有很大的提升。

  • 新的模型:SimNet-QC-MM,会考虑 Query 中每个词被 Title 和正文覆盖的情况,并基于 Matching Matrix 匹配方法计算。


    标题+正文
  • 语义模型压缩技术,Embedding 一维从32bits压缩到 4bits

神经网络语义匹配技术

介绍

SimNet 在语义表示上沿袭了隐式连续向量表示的方式,但对语义匹配问题在深度学习框架下进行了 End-to-End 的建模,将词语的 Embedding 表示与句篇的语义表示、语义的向量表示与匹配度计算、文本对的匹配度计算与 pair-wise 的有监督学习全部统一在一个整体框架内。在实际应用场景下,海量的用户点击行为数据可以转化大规模的弱标记数据,搭配我们研发的高效并行训练算法,大数据训练的 SimNet 显著超越了主题模型类算法的效果,并首次实现了可完全取代基于字面匹配的策略,而且可以直接建模非相似度类的匹配问题。


框架
  • 输入层, look up table 将文本词序列转换为 word embedding
  • 表示层,词到句的构建过程,简单是累加的BOW方法,还支持CNN、RNN等
  • 匹配层
    -- Representation-based Match,包括cos和mlp匹配
    -- Interaction-based Match,计算成本大,不会在表示层将文本转换成唯一的一个整体表示向量,而一般会保留和词位置相对应的一组表示向量,一般通过两段文本的matching matrix进行卷积等操作
  • 采用了 pair-wise Ranking Loss 来进行 SimNet 的训练。以网页搜索任务为例,假设搜索查询文本为 Q,相关的一篇文档为 D+,不相关的一篇文档为 D-,二者经过 SimNet 网络得到的和 Q 的匹配度得分分别为 S(Q,D+) 和 S(Q,D-),而训练的优化目标就是使得 S(Q,D+)>S(Q,D-)。实际中,我们一般采用 Max-Margin 的 Hinge Loss:max⁡{0,margin-(S(Q,D+)-S(Q,D-))}

改进

  • 细粒度: SimNet 框架下需要降低对精准切词的依赖,或者说要考虑如何从切词角度来进一步提升匹配效果。如高频共现片段和句法结构信息,能否作为先验知识融入 SimNet 框架发挥作用,也是值得探索的方向。将字粒度和词粒度进行融合互补。另一方面,由于切词自身不存在唯一客观标准,实际上不同的切分方式也可以实现互补,比如可以同时使用大粒度切词和细粒度切词。这样一来,我们对单一切词的精度要求就可以不那么高了。这也从某种意义上降低了语义匹配任务对切词的高度依赖。多切分粒度融合在输入层、表示层和匹配层都可以设计实现。
  • 粗粒度:1)基于大数据只挑选少量对匹配任务有很好信息量的高频共现 Term 组合,作为 Bigram 词加入字典,进一步显著提升了模型效果。2)跨词的 Collocation 搭配也非常重要,我们使用依存句法分析工具来获得相应的 Collocation 片段,我们对输入语料构建依存分析树,统计父节点和子节点共现频率。

相关文章

  • 百度语义计算

    前记 最近做一些文本匹配相关的事,有两篇百度的nlp相关讲得不错 百度语义计算技术及其应用 语义表示 从基于ter...

  • 语义计算

    1.语义计算:语音、形态、语法、语义、语用。通常会需要NLP其他领域技术,包括语法分析等。 2.为何面向自然语言的...

  • 程序语言理论

    形式语义 形式语义是计算机程序和编程语言行为的正式规范。描述计算机程序的语义或“含义”的三种常用方法是指称语义,操...

  • NLP业务应用系列-NLU

    NLU定义 自然语言理解(NLU)就是要获得一个计算机能用来计算的语义框架文字本身就是人类用来承载语义的工具,语义...

  • Unet图像分割

    Unet网络是一种图像语义分割网络,图像语义分割网络让计算机根据图像的语义来进行分割,例如让计算机在输入下面下图,...

  • 计算句子相似度

    计算句子相似度,①常用方法有基于语义和词序相似度计算方法,②基于关系向量模型基于语义和词序的句子相似度计算方法简介...

  • [Emacs] Emacs之魂(五):变量的“指针”语义

    1. 语义学 在计算理论中,形式语义学是关注计算模式和程序设计语言含义的严格的数学研究领域。语言的形式语义是用数学...

  • 2020-02-03

    语义计算、知识图谱与智能问答(实例) 本文,以医药知识图谱“神机医药”APP为例,简述如何通过“语义计算”构建知识...

  • 百度LAC开源分词接入

    最近有个语义分词工具的需求,在比较查找了一番后决定使用百度开源的LAC百度语义分词 https://github....

  • 语义相似计算资料

    文章 Sentence Embedding 干货 | NIPS 2015 Deep Learning Sympos...

网友评论

      本文标题:百度语义计算

      本文链接:https://www.haomeiwen.com/subject/hbcwyctx.html