文本相似性实验3|学习笔记

简介: 快速学习文本相似性实验3

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践文本相似性实验3】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15506


文本相似性实验3

 

内容介绍:

一、查询和文档的相似度

二、搜索实验

 

一、查询和文档的相似度

如果查询和文档的相似度,也可以用上一节的方法,当然也可以用bm25的方法,大家有兴趣可以去看博客文章。

image.png

如果要用text2vec的方法,大家需要安装pip3 install text2vec包。

老师建议大家安装包时应该先设一个镜像,目前国内一般是清华大学的一个网站作为镜像网站,这样安装包就很快,去百度搜一下Python怎么设镜像,否则安装包很慢。

image.png

上面就是已经安装好的,加载text2vec,实验里面举个例子:先查一个中文的字‘我’,然后再看它的词向量,就是它的编码encode,把它编成一个词向量放在result,我们可以显示一下词向量的类型,再显示词向量本身的形状;再换行一下,显示一下这个词‘我’以及它的词向量。

image.png再看另外一个词和下面一句话,这句话的向量是每一个词的平均值,执行一下这段代码,因为它要去查一查,需要点时间,下面粉颜色的是警告,不用管。接下来看第一个print,它里面要显示第一个结果的type(类型)以及形状;第二个print就是这个字以及它的词向量,然后是第三个、第四个print。

先看第一个print,它的类型是numpy.ndarray——它的周围数组对象,然后看它的形状是200个元素,可以认为是一个200位的词向量,前面并没有设它的大小,默认是两百位。接下来看‘我’的词向量是两百位,我们并没有训练,是用腾讯人工智能实验室提供的语料训练的,再看‘如何’的词向量,和这一句话的词向量,都是200位的。证明它是用了每一个词的词向量再求平均的,有了这个向量化表示后下面要求它的文本相似性就容易了。

text2vec里面自带了一个模块求相似性,这里做一下实验:有两串文本,一个是‘如何更换花呗绑定银行卡’,另一个是‘花呗更改绑定银行卡’,这两句文本相似,然后要用Similarity,import是一个模块,它里面是一个class,所以把这个class进行实例化,实例化之后用这个实例的对象,它里面有一个函数叫get_score,就是看相似性打出分值;然后把(a,b)两个字符串传进去,text2vec把它们变成词向量和它们里面词的平均值,然后print一下score,看一下结果它们的相似性是0.95。

 

二、搜索实验

接下来再做一个搜索的实验,我们要去查论文、在搜索框里面搜一个文本,它背后有很多文本,然后我们搜的是一个查询文本,要做搜索匹配。现在模拟一下,比如有三篇文章a、b、c,这就是我们的语料,把它们放在列表里面显示一下语料,然后来做一下SearchSimilarity,把语料传进去构造一个向量化的数据;接下来print的时候要注意,比如先插a这句话和这一批语料里面哪些更相似,以及它的排序,主要是这样的实验。

运行一下它就显示结果了,因为这个语料很少,只有三句话。如果我们要做图书馆里面学术论文查询,可以把学术论文的摘要、关键词、标题放在文本里面,可以直接组织几十万篇文本来做文本的搜索、文本相似性比较的实验。它比关键词搜索更有优势,一般的关键词搜索只是按照词来匹配,而现在这样文本表示以后它就有很强的语义能力了。这就是文本相似性,下面有些参考资料,大家可以再去看一看。

在百度里面有自然语言处理的接口,如下图。

image.png

这个技术里面有很多好的功能,等于百度做好了一些功能,我们直接调用可以做文本的一些语义处理;还可以做分词、词性标注、专名识别、词向量、词的相似度,还可以做一些深度训练、依存句法分析、短文本的相似度。

这就是第一个实验——词和文本相似度的认识。

相关文章
|
4月前
|
机器学习/深度学习 编解码 数据可视化
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
|
10月前
|
机器学习/深度学习 编解码 人工智能
【计算机视觉】MaskFormer:将语义分割和实例分割作为同一任务进行训练
目标检测和实例分割是计算机视觉的基本任务,在从自动驾驶到医学成像的无数应用中发挥着关键作用。目标检测的传统方法中通常利用边界框技术进行对象定位,然后利用逐像素分类为这些本地化实例分配类。但是当处理同一类的重叠对象时,或者在每个图像的对象数量不同的情况下,这些方法通常会出现问题。
【计算机视觉】MaskFormer:将语义分割和实例分割作为同一任务进行训练
|
机器学习/深度学习 算法
【论文写作分析】之五《融合类别特征扩展与N-gram子词过滤的fastText短文本分类》
【论文写作分析】之五《融合类别特征扩展与N-gram子词过滤的fastText短文本分类》
【论文写作分析】之五《融合类别特征扩展与N-gram子词过滤的fastText短文本分类》
|
机器学习/深度学习 数据可视化 测试技术
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割(一)
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
140 0
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割(一)
|
机器学习/深度学习 编解码 数据可视化
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割(二)
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
451 0
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割(二)
|
自然语言处理 BI 开发者
文本相似性实验1|学习笔记
快速学习文本相似性实验1
55 0
文本相似性实验1|学习笔记
|
人工智能 自然语言处理 C语言
文本相似性实验2|学习笔记
快速学习文本相似性实验2
99 0
|
自然语言处理 开发者 Python
文本相似性实验4|学习笔记
快速学习文本相似性实验4
78 0
文本相似性实验4|学习笔记
|
自然语言处理 开发者 Python
文本相似性实验5|学习笔记
快速学习文本相似性实验5
66 0
|
自然语言处理 数据挖掘 开发者
文本特征提取 2|学习笔记
快速学习文本特征提取 2
79 0
文本特征提取 2|学习笔记