Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >智能问答:LSTM 句子相似度分析

智能问答:LSTM 句子相似度分析

作者头像
机器学习AI算法工程
发布于 2019-10-28 08:18:43
发布于 2019-10-28 08:18:43
1.4K0
举报

使用句子中出现单词的Vector加权平均进行文本相似度分析虽然简单,但也有比较明显的缺点:没有考虑词序且词向量区别不明确。如下面两个句子:

  • “北京的首都是中国”与“中国的首都是北京”的相似度为1。
  • “学习容易”和“学习困难”的相似度很容易也非常高。

为解决这类问题,需要用其他方法对句子进行表示,LSTM是常用的一种方式,本文简单使用单层LSTM对句子重新表示,并通过若干全连接层对句子相似度进行衡量。

AI项目体验地址 https://loveai.tech

数据准备

训练和测试数据包括两个待比较句子以及其相似度(0-1):

测试数据格式相似。

语料编码

自然语言无法直接作为神经网络输入,需进行编码该部分包括以下步骤:

  • 读人训练和测试数据,分词,并给每个词编号。
  • 根据词编号,进一步生成每个句子的编号向量,句子采用固定长度,不足的位置补零。
  • 保存词编号到文件,保存词向量矩阵方便预测使用。

中文分词使用jieba分词工具,词的编号则使用Keras的Tokenizer:

词向量映射

在对句子进行编码后,需要准备句子中词的词向量映射作为LSTM层的输入。这里使用预训练的词向量参数,生成词向量映射矩阵:

网络结构

该神经网络采用简单的单层LSTM+全连接层对数据进行训练,网络结构图:

网络由Keras实现:

该部分首先定义embedding_layer作为输入层和LSTM层的映射层,将输入的句子编码映射为词向量列表作为LSTM层的输入。两个LSTM的输出拼接后作为全连接层的输入,经过Dropout和BatchNormalization正则化,最终输出结果进行训练。

训练与预测

训练采用nAdam以及EarlyStopping,保存训练过程中验证集上效果最好的参数。最终对测试集进行预测。

小结

该网络在Kaggle Quora数据集val验证可达到80%左右的准确率,应用于中文,由于数据集有限,产生了较大的过拟合。此外在Tokenizer.fit_on_texts应用于中文时,不支持Unicode编码,可以对其源码方法进行重写,加入Ascii字符和Unicode的转换。

原文 https://www.jianshu.com/p/a649b568e8fa

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习AI算法工程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
句子相似度的计算 | NLP基础
自然语言处理的终极目标是让计算机理解人类所使用的语言。但是由于人类语言的多样性,语义的多样性等原因使得这一目标复杂度极高,目前还无法直接建模和解决。
叶锦鲤
2019/12/26
3.4K0
DNN/LSTM/Text-CNN情感分类实战与分析
最近把2014年Yoon Kim的《Convolutional Neural Networks for Sentence Classification》看了下,不得不说虽然Text-CNN思路比较简单,但确实能够在Sentence Classification上取得很好的效果。另外,之前@霍华德大神提了这个问题,链接如下:
zenRRan
2019/08/09
2.7K3
基于keras的文本分类实践基于keras的文本分类实践
文本分类是自然语言处理中一个很经典也很重要的问题,它的应用很广泛,在很多领域发挥着重要作用,例如垃圾邮件过滤、舆情分析以及新闻分类等。和其他的分类问题一样,文本分类的核心问题首先是从文本中提取出分类数据的特征,然后选择合适的分类算法和模型对特征进行建模,从而实现分类。当然文本分类问题又具有自身的特点,例如文本分类需要对文本进行分词等预处理,然后选择合适的方法对文本进行特征表示,然后构建分类器对其进行分类。本文希望通过实践的方式对文本分类中的一些重要分类模型进行总结和实践,尽可能将这些模型联系起来,利用通俗易懂的方式让大家对这些模型有所了解,方便大家在今后的工作学习中选择文本分类模型。
绿盟科技研究通讯
2019/12/11
1.3K0
基于keras的文本分类实践基于keras的文本分类实践
神经网络结构——CNN、RNN、LSTM、Transformer !!
本文将从什么是CNN?什么是RNN?什么是LSTM?什么是Transformer?四个问题,简单介绍神经网络结构。
JOYCE_Leo16
2024/03/19
29.3K0
神经网络结构——CNN、RNN、LSTM、Transformer !!
基于LSTM的情感识别在鹅漫评论分析中的应用与实践
深度学习(深度神经网络)作为机器学习的一个重要分支,持续推动了很多领域的研究和应用取得新的进展,其中包括文本处理领域的情感分类问题。由于可以对文本进行更有效的编码及表达,基于深度学习的情感分类对比传统的浅层机器学习和统计学方法,可以取得更高的分类准确率。当前,情感分析在互联网业务中已经具有比较广泛的应用场景,成为了一个重要的业务支持能力。本文结合腾讯鹅漫U品业务在中文文本情感分类上的应用和实践经验,与读者一起学习及探讨。
小时光
2019/01/16
2.2K1
基于LSTM的情感识别在鹅漫评论分析中的应用与实践
深度学习解决 NLP 问题:语义相似度计算
本文介绍了基于多模态融合、多任务学习、模型架构搜索等技术,实现了广告CTR/CVR预测的精排模型。同时,通过对比多种指标,对精排模型进行了细致的分析,并设计了实验进行验证。最终,在多组实验结果中,都取得了很好的效果,证明本文所提出的广告CTR/CVR预测精排模型及其实现方法的有效性。
TonyZhou
2017/08/02
3.6K2
深度学习解决 NLP 问题:语义相似度计算
深度学习算法原理——Attention-Based BiLSTM
随着神经网络,尤其是深度学习算法的发展,神经网络在文本分类任务中取得了很大的发展,提出了各种解决方案,如CNN在文本分类中的应用,RNN,LSTM等等,相比较于CNN以及RNN方法,LSTM可以学习长距离的语义信息。Attention-Based BiLSTM结合双向的LSTM(Bidirectional LSTM)以及Attention机制处理文本分类的相关问题,通过attention机制,该方法可以聚焦到最重要的词,从而捕获到句子中最重要的语义信息。
felixzhao
2022/03/04
2.1K0
深度学习算法原理——Attention-Based BiLSTM
特定领域知识图谱融合方案:技术知识前置【一】-文本匹配算法、知识融合学术界方案、知识融合
本项目主要围绕着特定领域知识图谱(Domain-specific KnowledgeGraph:DKG)融合方案:技术知识前置【一】-文本匹配算法、知识融合学术界方案、知识融合业界落地方案、算法测评KG生产质量保障讲解了文本匹配算法的综述,从经典的传统模型到孪生神经网络“双塔模型”再到预训练模型以及有监督无监督联合模型,期间也涉及了近几年前沿的对比学习模型,之后提出了文本匹配技巧提升方案,最终给出了DKG的落地方案。这边主要以原理讲解和技术方案阐述为主,之后会慢慢把项目开源出来,一起共建KG,从知识抽取到知识融合、知识推理、质量评估等争取走通完整的流程。
汀丶人工智能
2023/01/18
8600
使用CNN,RNN和HAN进行文本分类的对比报告
你好,世界!!我最近加入Jatana.ai 担任NLP研究员(实习生and),并被要求使用深度学习模型研究文本分类用例。在本文中,我将分享我的经验和学习,同时尝试各种神经网络架构。我将介绍3种主要算法,例如:
银河1号
2019/04/12
1.3K0
使用CNN,RNN和HAN进行文本分类的对比报告
搭建LSTM(深度学习模型)做文本情感分类的代码
传统的文本情感分类思路简单易懂,而且稳定性也比较强,然而存在着两个难以克服的局限性: 一、精度问题,传统思路差强人意,当然一般的应用已经足够了,但是要进一步提高精度,却缺乏比较好的方法; 二、背景知识问题,传统思路需要事先提取好情感词典,而这一步骤,往往需要人工操作才能保证准确率,换句话说,做这个事情的人,不仅仅要是数据挖掘专家,还需要语言学家,这个背景知识依赖性问题会阻碍着自然语言处理的进步。 庆幸的是,深度学习解决了这个问题(至少很大程度上解决了),它允许我们在几乎“零背景”的前提下,为某个领域的实际问
机器学习AI算法工程
2018/03/15
2.3K0
使用经典ML方法和LSTM方法检测灾难tweet
在本文中,我将对分类任务应用两种不同的方法。我将首先应用一个经典的机器学习分类算法-梯度增强分类器。
磐创AI
2021/08/05
1K0
使用经典ML方法和LSTM方法检测灾难tweet
使用Keras进行深度学习:(三)使用text-CNN处理自然语言(上)
上一篇文章中一直围绕着CNN处理图像数据进行讲解,而CNN除了处理图像数据之外,还适用于文本分类。CNN模型首次使用在文本分类,是Yoon Kim发表的“Convolutional Neural Networks for Sentence Classification”论文中。在讲解text-CNN之前,先介绍自然语言处理和Keras对自然语言的预处理。 自然语言处理就是通过对文本进行分析,从文本中提取关键词来让计算机处理或理解自然语言,完成一些有用的应用,如:情感分析,问答系统等。比如在情感分析中,其本
磐创AI
2018/04/24
1.6K0
使用Keras进行深度学习:(三)使用text-CNN处理自然语言(上)
Python人工智能 | 二十一.CNN和Word2Vec中文文本分类详解及与机器学习分类对比
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章分享了Keras实现RNN和LSTM的文本分类算法,并与传统的机器学习分类算法进行对比实验。这篇文章我们将继续巩固文本分类知识,主要讲解CNN实现中文文本分类的过程,并与贝叶斯、决策树、逻辑回归、随机森林、KNN、SVM等分类算法进行对比。注意,本文以代码为主,文本分类叙述及算法原理推荐阅读前面的文章。基础性文章,希望对您喜欢~
Eastmount
2023/02/28
3.3K0
Python人工智能 | 二十一.CNN和Word2Vec中文文本分类详解及与机器学习分类对比
NLP概述和文本自动分类算法详解 | 公开课笔记
文本挖掘任务大致分为四个类型:类别到序列、序列到类别、同步的(每个输入位置都要产生输出)序列到序列、异步的序列到序列。
用户1737318
2019/11/19
1.8K0
NLP概述和文本自动分类算法详解 | 公开课笔记
nlp自然语言处理中句子相似度计算
在做自然语言处理的过程中,现在智能对话比较火,例如智能客服,智能家电,智能音箱等,我们需要获取用户说话的意图,方便做出正确的回答,这里面就涉及到句子相似度计算的问题,那么本节就来了解一下怎么样来用 Python 实现句子相似度的计算。
Python疯子
2019/12/02
1.4K0
DSSM:深度语义匹配模型(及其变体CLSM、LSTM-DSSM)
导语 在NLP领域,语义相似度的计算一直是个难题:搜索场景下Query和Doc的语义相似度、feeds场景下Doc和Doc的语义相似度、机器翻译场景下A句子和B句子的语义相似度等等。本文通过介绍DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用,希望给读者带来帮助。 1. 背景 以搜索引擎和搜索广告为例,最重要的也最难解决的问题是语义相似度,这里主要体现在两个方面:召回和排序。 在召回时,传统的文本相似性如 BM25,无法有效发现语义类 Query-Doc 结果对,如"从北
10JQKA
2018/07/04
10.4K2
课堂总结 | 达观数据文本挖掘负责人分享文本分类方法和应用案例
新媒体管家 自然语言处理(NLP)一直是人工智能领域的重要话题,而人类语言的复杂性也给NLP布下了重重困难等待解决。随着深度学习(Deep Learning)的热潮来临,有许多新方法来到了NLP领域,给相关任务带来了更多优秀成果,也给大家带来了更多应用和想象的空间。 近期,达观数据文本挖掘组负责人张健应邀在雷锋网AI研习社分享了一些NLP方面的知识和案例。 1 达观文本挖掘系统整体方案 达观文本挖掘系统整体方案包含了NLP处理的各个环节,从处理的文本粒度上来分,可以分为篇章级应用、短串级应用和词汇级应用
达观数据
2018/03/30
1.5K0
课堂总结 |  达观数据文本挖掘负责人分享文本分类方法和应用案例
从机器翻译到阅读理解,一文盘点PaddlePaddle官方九大NLP模型
自然语言处理(NLP)主要是研究实现人与计算机之间用自然语言进行有效通信的各种理论和方法。基于神经网络的深度学习技术具有强大的表达能力、端到端解决问题的能力,因而在NLP任务的应用上越来越广泛和有效。
量子位
2019/04/22
7550
从机器翻译到阅读理解,一文盘点PaddlePaddle官方九大NLP模型
[当人工智能遇上安全] 12.基于LSTM的恶意URL请求分类详解
《当人工智能遇上安全》系列博客将详细介绍人工智能与安全相关的论文、实践,并分享各种案例,涉及恶意代码检测、恶意请求识别、入侵检测、对抗样本等等。只想更好地帮助初学者,更加成体系的分享新知识。该系列文章会更加聚焦,更加学术,更加深入,也是作者的慢慢成长史。换专业确实挺难的,系统安全也是块硬骨头,但我也试试,看看自己未来四年究竟能将它学到什么程度,漫漫长征路,偏向虎山行。享受过程,一起加油~
Eastmount
2024/03/12
3230
[当人工智能遇上安全] 12.基于LSTM的恶意URL请求分类详解
【机器学习】--- 自然语言推理(NLI)
随着自然语言处理(NLP)的迅速发展,**自然语言推理(Natural Language Inference, NLI)**已成为一项重要的研究任务。它的目标是判断两个文本片段之间的逻辑关系。这一任务广泛应用于机器阅读理解、问答系统、对话生成等场景。
凯子坚持C
2024/09/23
4010
推荐阅读
相关推荐
句子相似度的计算 | NLP基础
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档