当前位置: 首页 > news >正文

网站建设公司知名企业/网页首页设计图片

网站建设公司知名企业,网页首页设计图片,杭州网站建设商城价格,专业移动网站建设商词汇相似度计算报告 摘要 1 一、简介 2 二、工具和资源说明 5 三、实验方法 5 3.1、方法1 5 3.2、方法2 6 3.3、方法3 6 3.4、方法4 7 3.5、方法5 7 3.6、方法6 8 四、结果比较与分析 8 五、结论与讨论 12 摘要:词汇相似度计算是MLP领域最基本的任务&am…

词汇相似度计算报告

摘要 1

一、简介 2

二、工具和资源说明 5

三、实验方法 5

3.1、方法1 5

3.2、方法2 6

3.3、方法3 6

3.4、方法4 7

3.5、方法5 7

3.6、方法6 8

四、结果比较与分析 8

五、结论与讨论 12

 

摘要:词汇相似度计算是MLP领域最基本的任务,也是其它更上层(词语消歧、句子翻译、文章摘要)工作的基础。另一方面,从产业界的角度看,能够将词汇的相似度,特别的,尤其是词汇的语义相似度计算好,对于机器翻译、产品推荐、舆情控制、情感分析等众多应用将产生极大的促进作用,毕竟,词汇语义理解是所有这些工作的基础。词汇相似度计算需要考虑三个基本问题:第一,如何定义“共同出现”;第二,词语权重如何度量;第三,如何选择相似度计算公式。常见的词汇相似度计算方法包括:基于Word-Net的词汇关联性分析;基于WikipediaESA;基于矩阵分解的LSA;基于主题模型的LDA;基于Web Search的页面共现;基于深度学习的表示学习方法等。本次试验综合考虑各种因素,采用 爬取Wikipedia关键词页面作为语料库,基于目标词tftfidf为特征,同时结合Linear RegressionRandom Forest等有监督学习和LSALDA等无监督学习 的方法,进行本次试验。以斯皮尔曼相关系数为标准,通过和人工标注过的“WordSimilarity-353”数据集比较,我们所使用的方法得到的斯皮尔曼相关系数都大于零(最大为0.524),说明方法在一定程度上是可行的。通过对比不同的实验结果,我们发现:在语料库很少的情况下,使用简单的模型反而可以有较好的效果;通过LSALDA的使用,我们捕获到了语料库中一些有趣的Topics。另外,我们还尝试了基于Word-Net的词语相似度计算,但由于“definition”和“examples”两个函数的限制,本次试验只是用了“path_similarity”,造成很多同义词对之间相关性评估效果很差(很多词对没有path_similarity),不过算是对Word-Net的一次尝试。


先插入一个爬数据的代码:

#!usr/bin/env python
# -*-coding:utf-8 -*-import pandas as pd
import numpy as npimport urllib, urllib2
import re
from bs4 import BeautifulSoupimport sys
reload(sys)
sys.setdefaultencoding("utf8")
#for UnicodeEncodeErrordef SaveFile(content, filename):f=open("wikiData/"+filename,"a")f.write(str(content)+"\n")f.close()def SpideWiki(words):user_agent='Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'headers={'User-Agent':user_agent}try:for i in range(len(words)):url="https://en.wikipedia.org/wiki/"+words[i]request=urllib2.Request(url, headers=headers)response=urllib2.urlopen(request)wikiHtml=response.read().decode('utf-8')html=BeautifulSoup(str(wikiHtml),"lxml")div=html.find(name='div', id='mw-content-text')ps=div.find_all(name='p', limit=3, recursive=False) #only direct childrenfor p in ps:pText=p.get_text()SaveFile(pText, words[i])print words[i], "process over...", "=="*20except urllib2.URLError, e:if hasattr(e,"code"):print e.codeif hasattr(e,"reason"):print e.reasondata=pd.read_csv("combined.csv")
wordsList=np.array(data.iloc[:,[0,1]])
for words in wordsList:print words[0], words[1]SpideWiki(words)




 

一、简介

词汇相似度计算是MLP领域最基本的任务。

词汇相似度计算需要考虑三个基本问题:第一,如何定义“共同出现”,常用的方法包括基于窗口和基于句法结构,基于句法结构往往需要进行句法分析,从中提取词汇间的依存关系,对语料库的要求比较大,基于窗口的方法只需要分析在关键词窗口范围内的左右词汇即可,所以本文采用基于窗口的方式进行试验;第二,词语权重如何度量,常用的方法包括基于TF、基于TFIDFMI以及第一层计算的基础上取log等平滑函数的方式,由于基于TFTFIDF的方式对于词汇提取来说最直接,所以本文采用这两种方式交互实验(根据不同的方法采用更适合的权重度量方式);第三,如何选择相似度计算公式,常用的方法包括基于Cosine SimilarityEuclidean distance Similarity,由于这两者都比较直观,所以本文采用这两种相似度计算方式进行试验。(相关细节参考课件“第三讲”)

从实验方法上来看,常见的有以下几种:第一,基于维基百科的词汇关系提取方法,这类方法将维基百科看作是“语义词典”,从中可以提取出词汇之间的多种关系,但这种方法需要分析页面的超链接情况,对于少量的数据集不足以提供有效的信息,所以本文没有使用该方法;第二,基于维基百科的直接语义分析(ESA)方法,这种方法将维基百科作为语料库,进行统计分析,由于比较简单,本文采取该方法,具体过程参考图1;第三,隐含语义分析方法(Latent Semantic AnalysisLSA),该方法假设语料库(词汇特征)已经存在,那么,如何不依赖显示语义概念,而是通过自动挖掘隐含的语义概念来实现词汇相似度计算成为关键,常见的方法是基于矩阵分解,本质上是对词语*文档矩阵进行低秩逼近,从而使词语与文档能够被隐含语义空间中的向量表示,具体过程参考图2、图3、图4。第四,在LSA的基础上发展而来的主题模型挖掘,最有代表的是PLSILDA,主题模型的基本假设是“文档是基于主题(topics)的分布,主题是基于词语(term)的分布”,本质上仍然是使词语与文档能够被隐含语义空间中的向量表示,不过不再采用基于矩阵分解的方法,而是使用吉布斯采样的方法来产生词汇和文档。第五,基于Web Search的词汇语义计算 ,这种方法通过web search的返回结果中包含第一个词的页面数、包含第二个词的页面数、同时包含两个词的页面数之间的关系来完成词汇语义计算,具体计算方式参考图5、图6、图7。第六,其它的方法还包括基于机器学习的分类方法,基于深度学习的表示学习方法等,这些方法一般基于生语料,并且基于一定的假设构造优化目标与目标函数,然后通过算法求解获得词语的向量表示,此处不再一一赘述。

 

 

图 1

 

图 2

 

图 3

 

图 4

 

 

图 5:Page-count-based Similarity Scores (co-occurrence measures)

 

图 6:Google Distance

 

图 7:Co-Occurrence Double-Check




二、工具和资源说明

数据:本次试验采用的数据集来自“WordSimilarity-353”和从Wikipedia上爬去的相关词汇的页面介绍。

外部库:本次试验主要采用python语言编码,使用到的外部库包括,爬虫相关库urlliburllib2BeautifulSoupre;数据预处理库pandassklearn;科学计算库numpy;模型训练库sklearn。另外,在基于WordNet的词汇相似度计算中,还是用了NLTK等工具。





三、实验方法

3.1、方法1

无监督学习方法,基于tfidf特征的直接余弦相似度计算方法。

主要步骤包括:

1、Wikipedia上爬去的数据中提取词汇库

2、计算每个目标词的tfidf特征

3、直接比较两个目标词的tfidf特征在余弦相似度上的近似程度

4、计算人工标注的相似度和建模得到的相似度的Spearman's rank correlation coefficient

最终结果:correlation=0.52393888214417017,  pvalue=3.2916148828666485e-26

3.2、方法2

有监督学习方法,基于tfidf特征,使用线性模型对第一个数据集的直接余弦相似度进行回归,并用模型预测第二个数据集。

主要步骤包括:

1、从Wikipedia上爬去的数据中提取词汇库

2、计算每个目标词的tfidf特征

3、使用linear regression对第一个数据集的直接余弦相似度进行回归,并通过该模型预测第二个数据集

4、使用linear regression对第二个数据集的直接余弦相似度进行回归,并通过该模型预测第一个数据集

5、合并两个数据集的预测结果,并计算人工标注的相似度和建模得到的相似度的Spearman's rank correlation coefficient

最终结果:correlation=0.52393888214417017,  pvalue=3.2916148828666485e-26

3.3、方法3

有监督学习方法,基于tfidf特征,使用随机森林模型对第一个数据集的每个特征间的欧拉距离进行回归,并用模型预测第二个数据集。

主要步骤包括:

1、从Wikipedia上爬去的数据中提取词汇库

2、计算每个目标词的tfidf特征

3、使用random forest对第一个数据集的欧拉距离进行拟合,并通过该模型预测第二个数据集

4、使用random forest对第二个数据集的欧拉距离进行拟合,并通过该模型预测第一个数据集

5、合并两个数据集的预测结果,并计算人工标注的相似度和建模得到的相似度的Spearman's rank correlation coefficient

最终结果:correlation=0.52393888214417017,  pvalue=3.2916148828666485e-26

3.4、方法4

无监督学习方法,基于tfidf特征,使用Non-Negative Matrix Factorization(NMF)模型tfidf特征进行矩阵分解,找到对应的低秩矩阵表示,然后可以使用上面的任何方法在新的特征空间上进行试验。

主要步骤包括:

1、从Wikipedia上爬去的数据中提取词汇库

2、计算每个目标词的tfidf特征

3、使用NMF模型对tfidf特征进行矩阵分解,找到对应的低秩矩阵表示

4、使用新的特征空间上的直接余弦相似度来计算两个目标词间的相似度

5、计算人工标注的相似度和建模得到的相似度的Spearman's rank correlation coefficient

最终结果:

#topicNum=13==>(correlation=0.14807464127878558, pvalue=0.0053758349713213197)

#topicNum=50==>(correlation=0.30352057165818441, pvalue=6.1741769045735979e-09)

#topicNum=150==>(correlation=0.23560824196411267, pvalue=7.9053458357320167e-06)

#topicNum=300==>(correlation=0.27539680596714705, pvalue=1.5177241286511083e-07)

3.5、方法5

无监督学习方法,基于tf特征,使用Latent Dirichlet Allocation(LDA)模型tf特征进行矩阵分解,找到对应的低秩矩阵表示,然后可以使用上面的任何方法在新的特征空间上进行试验。

主要步骤包括:

1、从Wikipedia上爬去的数据中提取词汇库

2、计算每个目标词的tf特征

3、使用LDA模型对tf特征进行矩阵分解,找到对应的低秩矩阵表示

4、使用新的特征空间上的直接余弦相似度来计算两个目标词间的相似度

5、计算人工标注的相似度和建模得到的相似度的Spearman's rank correlation coefficient

最终结果:

#topicNum=13==>(correlation=0.39139819981311158, pvalue=2.4701407972327766e-14)

#topicNum=50==>(correlation=0.4510370656919146, pvalue=4.835559946366228e-19)

#topicNum=150==>(correlation=0.3697711467955469, pvalue=7.5821927491106906e-13)

#topicNum=300==>(correlation=0.35308044929118226, pvalue=8.9925565590761668e-12)

3.6、方法6

无监督学习方法,基于Word-Net,使用path_similarity对两个词的相似度进行计算。

主要步骤包括:

1、安装NLTK,下载Word-Net语料库

2、提取每一对目标词汇在word-net中的同义词集

3、对同义词集中词汇的每种组合,计算两者的path_similarity,并计入总的similarity score

4、计算平均similarity score

5、计算人工标注的相似度和建模得到的相似度的Spearman's rank correlation coefficient

最终结果:(correlation=0.3136469783526708, pvalue=1.6943792485183932e-09)












六、参考文献

[1] 课件第三讲

[2] http://www.cs.technion.ac.il/~gabr/resources/data/wordsim353/

[3] https://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient

[4] http://scikit-learn.org/stable/index.html

[5] http://www.nltk.org/

[6] http://wordnet.princeton.edu/


http://www.lbrq.cn/news/1065385.html

相关文章:

  • 代刷网站怎么做/电子商务网站设计方案
  • 怎么创建网站挣钱/郑州聚商网络科技有限公司
  • 建设网站前准备资料/高明搜索seo
  • 青岛建设网站/宁波seo网络推广
  • 新疆做网站的公司/搜索引擎seo优化平台
  • 做个网址需要多少钱/长沙关键词优化新行情报价
  • 制作图片模板/淘宝关键词优化怎么弄
  • 深圳网站建设商家/郑州seo招聘
  • wordpress主题 付费/宁波seo教程推广平台
  • 小程序制作需要什么条件/电商中seo是什么意思
  • 网站建设模板免费下载/网站权重查询接口
  • 怎样说服老板做网站/网站转让出售
  • 网站开发背景图片/百度搜索榜
  • 网站开发建设方案的主要内容包括/百度seo霸屏软件
  • 做博彩的网站犯法吗/做网页多少钱一个页面
  • 南昌知名网站建设公司/爱站网关键词查询
  • 哪家建设网站好/站长工具查询系统
  • 镇江网站制作公司/seo教育培训机构
  • 中国十大知名网站建设/竞价专员是做什么的
  • 成都医疗seo整站优化/新冠咳嗽怎么办
  • wordpress 更改数据库密码错误/百度seo指数查询
  • 萧山网站建设那家好/免费做做网站
  • 鲜花网站模版/微信营销平台
  • 河北建设秦皇岛分公司/seo引擎优化软件
  • 信阳市两学一做网站/店铺推广方案怎么写
  • 新桥做网站/百度工具
  • 班级网站做哪些方面/seo舆情优化
  • 网站banner怎么做的/网络营销推广的方法有哪些
  • 旅游网站色彩搭配/北京网站优化外包
  • 沈阳建设电商网站/输入关键词进行搜索
  • MS-DOS 常用指令集
  • MLIR Introduction
  • 思途Spring学习 0804
  • 深度学习图像处理篇之AlexNet模型详解
  • 多级表头的导出
  • JVM学习日记(十六)Day16——性能监控与调优(三)