1. 文本相似度计算-文本向量化

2. 文本相似度计算-距离的度量

3. 文本相似度计算-DSSM算法

4. 文本相似度计算-CNN-DSSM算法

1. 前言

之前介绍了DSSM算法,它主要是用了DNN的结构来对数据进行降维度,本文用CNN的结构对数据进行降维。

2. CNN-DSSM

CNN-DSSM在DSSM的基础上改进了数据的预处理和深度

2.1 CNN-DSSM架构

CNN-DSSM的架构图如下:

输入:\(Query\)是代表用户输入,\(document\)是数据库中的文档。

  • word-n-gram层:是对输入做了一个获取上下文信息的窗口,图中是word-trigram,取连续的3个单词。
  • Letter-trigram:是把上层的三个单词通过3个字母的形式映射到3w维,然后把3个单词连接起来成9w维的空间。
  • Convolutional layer:是通过Letter-trigram层乘上卷积矩阵获得,是普通的卷积操作。
  • Max-pooling:是把卷积结果经过池化操作。
  • Semantic layer:是语义层,是池化层经过全连接得到的。

获得128维的语义后就可以计算文本之间的相似度了,计算相似度的过程和DNN-DSSM的过程是一样的。可以发现CNN-DSSM和DNN-DSSM基本流程是差不多的,就是用卷积和池化的操作代替了DNN的操作。

2.2 优缺点

  • 优点:CNN-DSSM 通过卷积层提取了滑动窗口下的上下文信息,又通过池化层提取了全局的上下文信息,上下文信息得到较为有效的保留。

  • 缺点:CNN-DSSM 滑动窗口(卷积核)大小的限制,导致无法捕获该上下文信息,对于间隔较远的上下文信息,难以有效保留。

3. 总结

CNN-DSSM的结构可分为数据预处理(把文本向量化),在经过深度神经网络,压缩矩阵,最后拿压缩后的矩阵进行相似度计算。和DNN-DSSM相比主要的变化在深度神经网络这一层的处理方式,举一反三那肯定也还有通过RNN来处理数据的过程,RNN-DSSM后面会载讲解。

4. 文本相似度计算-CNN-DSSM算法的更多相关文章

  1. 3. 文本相似度计算-DSSM算法

    1. 文本相似度计算-文本向量化 2. 文本相似度计算-距离的度量 3. 文本相似度计算-DSSM算法 4. 文本相似度计算-CNN-DSSM算法 1. 前言 最近在学习文本相似度的计算,前面两篇文章 ...

  2. 转:Python 文本挖掘:使用gensim进行文本相似度计算

    Python使用gensim进行文本相似度计算 转于:http://rzcoding.blog.163.com/blog/static/2222810172013101895642665/ 在文本处理 ...

  3. python 文本相似度计算

    参考:python文本相似度计算 原始语料格式:一个文件,一篇文章. #!/usr/bin/env python # -*- coding: UTF-8 -*- import jieba from g ...

  4. Finding Similar Items 文本相似度计算的算法——机器学习、词向量空间cosine、NLTK、diff、Levenshtein距离

    http://infolab.stanford.edu/~ullman/mmds/ch3.pdf 汇总于此 还有这本书 http://www-nlp.stanford.edu/IR-book/ 里面有 ...

  5. word2vec词向量训练及中文文本类似度计算

    本文是讲述怎样使用word2vec的基础教程.文章比較基础,希望对你有所帮助! 官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/ 官网Python ...

  6. 文本相似度 — TF-IDF和BM25算法

    1,$TF-IDF$算法 $TF$是指归一化后的词频,$IDF$是指逆文档频率.给定一个文档集合$D$,有$d_1, d_2, d_3, ......, d_n \in D$.文档集合总共包含$m$个 ...

  7. 文本相似度算法——空间向量模型的余弦算法和TF-IDF

    1.信息检索中的重要发明TF-IDF TF-IDF是一种统计方法,TF-IDF的主要思想是,如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分 ...

  8. java算法(1)---余弦相似度计算字符串相似率

    余弦相似度计算字符串相似率 功能需求:最近在做通过爬虫技术去爬取各大相关网站的新闻,储存到公司数据中.这里面就有一个技术点,就是如何保证你已爬取的新闻,再有相似的新闻 或者一样的新闻,那就不存储到数据 ...

  9. NLP点滴——文本相似度

    [TOC] 前言 在自然语言处理过程中,经常会涉及到如何度量两个文本之间的相似性,我们都知道文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性.而有了文本之间相似性的度 ...

随机推荐

  1. JQuery UI - draggable(转)

    ·概述 在任何DOM元素启用拖动功能.通过单击鼠标并拖动对象在窗口内的任何地方移动. 官方示例地址:http://jqueryui.com/demos/draggable/ 所有的事件回调函数都有两个 ...

  2. XmlSerializer 对象序列化成XML 自定义编码格式(gb2312)

    随着面向服务(SOA)的开发方式的兴起,客户端和服务端之间的消息传送,很多采用了XML的格式.但是大家在日常的开发中,应该会有这么种体验,就是组织xml格式的代码太繁琐,这篇随笔也是为了和大家分享下简 ...

  3. 【SqlServer】SqlServer中Alter语句的使用

    在修改Sql Server表结构时,常用到Alter语句,把一些常用的alter语句列举如下. 1:向表中添加字段 Alter table [表名] add [列名] 类型 2:  删除字段 Alte ...

  4. Kibana常用命令

    一.范围(>500) totalTime: [500 TO *] 二.不等于 NOT monitorName: "XXX" 三.字符匹配 正则表达式:    +url:/.* ...

  5. GC那些事儿--Android内存优化第一弹

    引言 接App优化之内存优化(序), 作为App优化系列中内存优化的一个小部分. 由于内存相关知识比较生涩, 内存优化中使用到的相关工具, 也有很多专有名词. 对Java内存管理, GC, Andro ...

  6. Python 文件 tell() 方法

    描述 Python 文件 tell() 方法返回文件的当前位置,即文件指针当前位置. 语法 tell() 方法语法如下: fileObject.tell() 参数 无 返回值 返回文件的当前位置. 实 ...

  7. pdm画表间结构

    PDM(物理概念模型)各种属性建立如PK,AK等 https://blog.csdn.net/qq_27376871/article/details/51321609 CDM: ER图详细教程 通常在 ...

  8. echarts 与 百度地图bmap结合系列: 如何设置地图缩放级别和监听缩放事件

    简单的demo: // ehcarts 的实例对象 this.myChart = echarts.init(el) // ehcarts加载完成事件 this.myChart.on('finished ...

  9. 并发测试 JavaDemo

    https://github.com/oldratlee/fucking-java-concurrency /** * @author Jerry Lee */ public class Testee ...

  10. 怎么在eclipse中查到这个类用的是哪个jar的类和Eclipse 编译错误 Access restriction:The type *** is not accessible due to restriction on... 解决方案

    找到了一个办法,你先按F3,然后点击Change Attached Source..按钮,在弹出的框里有个路径,我的路径是D:/SNFWorkSpace/JAR/~importu9.jar,然后你去引 ...