无监督句向量生成USIF算法来计算语义相似度 在NLP领域比较重要的就是语义相似度计算,可用于非常多方面的应用,比如搜索、智能问答系统、多轮对话、基于内容的推荐系统召回模块等。能够提升语义相似度准确性,将在这些领域会有巨大提升。 像搜索领域中用到的elasticsearch分布式高性能搜索工具中用到的BM25算法,是通过词频和逆文档形成的稀疏矩阵来计算相似度。这种方法没有考虑到句子之间的语义关系,只是考虑到词频带来的影响。BM25是tf-idf的改进版,考虑到词频无上限增长问题,来抑制词频过大带来的影响,还使用了文档归一化,将句子归一化到平均长度,减弱句子长度带来的扰动。但是这种算法也适用于信息召回,并不能识别到搜索的重要程度。最后肯定还是需要对于搜索内容进行一个排序。 在工业界领域中像有监督的训练数据困难,往往需要标注很多数据才能使相似度效果变佳。人工标注的成本也是很高,在一部分中小公司对于不太愿意来承担这一部分的成本。这时候无监督的句向量生成就比较适用了。无监督句向量生成不仅仅是在训练时候只需要cpu即可完成,而且在计算的时候只用cpu也是很快能够计算完成。 有监督算法比较依赖于标注数据,但是标注数据需要大量人工成本,实现语义相似度计算的模型也有很多,比如孪生网络、DSSM算法、Bert等。是Bert做语义相似度有几种做法,比如将要对比的句子拼接在一起输入Bert然后接一层sigmoid激活函数的全连接或者将Bert进行孪生网络的方式使用孪生Bert,然后权重共享等操作来实现。不过一般用比较多的可能是前两种。非常不推荐直接使用Bert的句向量来做余弦相似度计算,效果非常差,具体原因我后面再写篇文章来分析分析,这里就不做过多的赘述了。 无监督算法现在是有几种方法比如通过词向量直接相加平均、词向量通过tf-idf进行加权、词向量使用sif算法加权等。词向量直接相加平均没有考虑到训练样本中词频带来的影响和句子长度带来的影响。tf-idf加权却是考虑到词频带来的影响,但是效果提升不是特别大。2016年提出来SIF加权算法,是当时顶会最好的一篇无监督句向量生成的算法,使用随机游走来推算句子的生成概率。我今天要讲的也就是他的改进版USIF算法,是2018年ACL顶会最好的一篇无监督句向量生成算法。 USIF算法和SIF算法思想上差不了太多,如果没看过SIF算法的朋友可以去看一下SIF算法。都是通过随机游走来推算出句向量生成的一个概率公式,最后化简成一个加权的公式。





























![发明专利相似多少算侵权_发明专利相似多少算侵权插图73 [0,\pi]](https://sigusoft.com/wp-content/themes/justnews/themer/assets/images/lazy.png)

















2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/65139.html
