# GraduationProject
毕业设计:基于CNN和词向量的句子相似性度量...
![GitHub issues](https://img.shields.io/github/issues/sivanWu0222/GraduationProject.svg?color=s&label=issue&style=flat-square)![](https://img.shields.io/badge/build-passing-brightgreen.svg)
## 项目使用到的库
![](https://img.shields.io/badge/Pytohn-3.7.0-green.svg?style=plastic&logo=python)
![](https://img.shields.io/badge/pandas-1.15.4-green.svg)
![](https://img.shields.io/badge/matplotlib-2.2.3-green.svg)
![](https://img.shields.io/badge/numpy-1.15.4-green.svg)
![](https://img.shields.io/badge/gensim-3.7.2-green.svg)
![](https://img.shields.io/badge/nltk-3.3-green.svg)
![](https://img.shields.io/badge/PyQt-5.9.2-green.svg)
![](https://img.shields.io/badge/pyemd-0.5.1-green.svg)
安装部分库遇到问题:[参考](http://www.sivan.tech/2019/04/25/%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1%E9%81%87%E5%88%B0%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98/)
**注意:因为要计算WMD距离所以需要安装依赖库pyemd**
## 开发环境
Anaconda + Pycharm
## 项目说明
> 按照老师要求复现论文(论文提出了一个新概念'相似元',通过相似元来计算两个句子的相似度‘),同时参考WMD以及论文中提到的WJ算法实现三个算法的比较
毕业设计主要针对于句子相似度的计算,尤其是**长句**相似度,**使用GoogleNews预训练的模型**
> GoogleNews-vectors-negative300.bin
## TODO
> 由于项目只实现了GoogleNews预训练模型中有的单词的句子相似度,没有拓展到中文
- [ ] 将相似度的计算拓展到中文
- [ ] 可以进行多个预训练模型的选择,而非GoogleNews
- [ ] 使用FAISS 框架优化相似向量的搜索
## 数据来源
[数据](http://ixa2.si.ehu.es/stswiki/index.php/Main_Page)
存放于本项目DataSet下
## 项目运行
1. clone 项目到本地
2. 配置config.json文件:model_path用于存放预训练模型存放的路径;dataset_path用于存放最后作实验评估的数据集存放的路径
3. 从main.py开始运行,首先要点击初始化按钮加载预训练模型
4. 在句子1和句子2处输入要计算相似度的句子
5. 计算结果显示在 相似度,WJ,WMD距离三个地方
6. 可以每次换一个句子,并点击计算
7. 计算完成,点击退出
![运行图](./项目运行图.png)
## 结论验证
![精度比较](./GraduationDesign/SSFN_V6_02/test.png)
## 参考资料
1. [WMD算法以及WJ算法参考](https://github.com/jsksxs360/Word2Vec)
2. [Word2Vec中的sentence_similarity方法出处](http://xueshu.baidu.com/usercenter/paper/show?paperid=59d3626fc14491c996a983186cc6d155&site=xueshu_se&hitarticle=1)
3. [理论依据](https://kexue.fm/archives/4677#%E5%8F%A5%E5%AD%90%E7%9A%84%E7%9B%B8%E4%BC%BC%E5%BA%A6)
4. [From Word Embeddings To Document Distances -- Matt J. Kusner等](http://xueshu.baidu.com/usercenter/paper/show?paperid=80e0aebd3cb631a88e2b8ae3ef61d61d&site=xueshu_se)
5. ![余弦距离计算公式](./余弦距离.jpg)
## 代码结构
> 毕业设计源代码存放于GraduationDesign下,这里没有提到的代码文件均已过时,请以最新的代码为准
<details>
<summary>展开查看</summary>
<pre><code>.
├── GraduationDesign
│ ├── main.py 项目运行点
│ ├── SSFN_V6_02 第6版:实现功能的垂直分割,同时实现三个算法的实验评估
│ │ ├── Methods
│ │ │ ├── SSFN
│ │ │ │──── └── SSF_V3.py 复现论文中的SSF函数
│ │ │ ├── WJ
│ │ │ │──── └── wj_similarity.py 论文中的比对方法:计算两个句子的余弦相似度
│ │ │ ├── WMD
│ │ │ │──── └── wmd_distance.py 论文中的比对方法2:计算两个句子的WMD距离
│ │ │ ├── Word2Vec.py 加载并使用GoogleNews预训练的模型进行计算
│ │ ├── util
│ │ │ │──── └── util.py 工具模块,实现词语权重计算,模型的加载等
│ │ ├── view
│ │ │ │──── └── view_data.py 使用PyQt5编写界面
│ │ ├── datahelper
│ │ │ │──── └── data_process.py 对实验评估数据集的处理
│ │ ├── experiment_show
│ │ │ │──── └── result_img.py 三种实验方法比对并在本地生成最后的比对结果图</code></pre>
</details>
如果你觉得项目可以,不放给个star,是对我这段时间以来莫大的鼓舞,如果你对项目有疑问可以issue
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 毕业设计 基于python+CNN+词向量的句子相似性度量NLP源码+部署文档+全部数据资料(优秀项目).zip毕业设计 基于python+CNN+词向量的句子相似性度量NLP源码+部署文档+全部数据资料(优秀项目).zip毕业设计 基于python+CNN+词向量的句子相似性度量NLP源码+部署文档+全部数据资料(优秀项目).zip 【备注】 1、该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计 基于python+CNN+词向量的句子相似性度量NLP源码+部署文档+全部数据资料(优秀项目).zip (63个子文件)
GraduationProject-master
.github
ISSUE_TEMPLATE
custom.md 126B
feature_request.md 595B
bug_report.md 834B
LICENSE 1KB
余弦距离.jpg 2KB
DataSet
correlation.pl 2KB
LICENSE.txt 6KB
sts-dev.csv 250KB
readme.txt 6KB
问题.md 636B
GraduationDesign
SSFN_V2
SSF_V1.py 5KB
util.py 3KB
main.py 381B
view_main.py 3KB
view.py 2KB
SSFN_V4
util.py 3KB
main.py 658B
view.py 4KB
SSF_V2.py 6KB
SSFN_V3
SSF_V1.py 5KB
util.py 3KB
view_main.py 3KB
SSFN_V4_02
util.py 3KB
main.py 661B
view.py 4KB
SSF_V2.py 6KB
SSFN_V6
methods_compare.png 122KB
Word2Vec.py 4KB
main.py 166B
view.py 6KB
view_data.py 8KB
SSFN_V1
SSF_V1.py 5KB
util.py 3KB
main.py 381B
config.json 135B
SSFN_V6_02
methods_compare.png 761KB
main.py 200B
datahelper
data_process.py 746B
1559113814.png 564KB
1559113899.png 514KB
test.png 489KB
Methods
SSFN
SSF_V3.py 8KB
WMD
wmd_distance.py 353B
Word2Vec.py 4KB
WJ
wj_similarity.py 351B
experiment_show
result_img.py 3KB
view
view_data.py 5KB
1559113901.png 576KB
精度比较.png 903KB
1559113813.png 471KB
util
util.py 2KB
SSFN_V5
Word2Vec.py 4KB
util.py 3KB
main.py 658B
test2.py 594B
view.py 4KB
SSF_V2.py 6KB
nlp-word_mover_distance.py 1KB
test.py 519B
.gitignore 1KB
项目运行图.png 54KB
README.md 5KB
171265889347208773632.zip 416B
共 63 条
- 1
资源评论
不走小道
- 粉丝: 3224
- 资源: 5113
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功