前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Siamese Network进行问题句子相似性判定sentence-similarity

基于Siamese Network进行问题句子相似性判定sentence-similarity

作者头像
致Great
发布2018-12-24 13:38:43
1.6K0
发布2018-12-24 13:38:43
举报
文章被收录于专栏:程序生活

sentence-similarity

问题句子相似度计算,即给定客服里用户描述的两句话,用算法来判断是否表示了相同的语义。 项目地址:https://github.com/yanqiangmiffy/sentence-similarity

句子相似度判定

今年和去年前后相继出现了多个关于句子相似度判定的比赛,即得定两个句子,用算法判断是否表示了相同的语义或者意思。 其中第4、5这个2个比赛数据集格式比较像,请见 sent_match,,2、3 的数据集格式比较像,本仓库基于2、3数据集做实验

下面是比赛的列表:

The goal of this competition is to predict which of the provided pairs of questions contain two questions with the same meaning.

数据集未经过脱敏处理,用真实的英文单词标识

问题相似度计算,即给定客服里用户描述的两句话,用算法来判断是否表示了相同的语义。

数据集未经过脱敏处理 示例:

  1. “花呗如何还款” --“花呗怎么还款”:同义问句
  2. “花呗如何还款” -- “我怎么还我的花被呢”:同义问句
  3. “花呗分期后逾期了如何还款”-- “花呗分期后逾期了哪里还款”:非同义问句 对于例子a,比较简单的方法就可以判定同义;对于例子b,包含了错别字、同义词、词序变换等问题,两个句子乍一看并不类似,想正确判断比较有挑战;对于例子c,两句> 话很类似,仅仅有一处细微的差别 “如何”和“哪里”,就导致语义不一致。"""

与基于Quora的的的语义等价判别相同,本次评测任务的主要目标是针对中文的真实客服语料,进行问句意图匹配。集给定两个语句,要求判定两者意图是否相同或者相近。所有语料来自原始的银行领域智能客服日志,并经过了筛选和人工的意图匹配标注。

数据集经过脱敏处理 输入:一般几天能通过审核\ t一般审核通过要多久 输出:1

本次评测任务的主要目标是针对中文的真实患者健康咨询语料,进行问句意图匹配。给定两个语句,要求判定两者意图是否相同或者相近。所有语料来自互联网上患者真实> 的问题,并经过了筛选和人工的意图匹配标注。平安云将为报名的队伍提供GPU的训练环境。

数据集经过脱敏处理,问题由数字标示 训练集包含20000条左右标注好的数据(经过脱敏处理,包含标点符号),供参赛人员进行训练和测试。 测试集包含10000条左右无label的数据(经过脱敏处理,包含标点> 符号)。选手需要对测试集数据的label进行预测并提交。测试集数据作为AB榜的评测依据。

智能客服聊天机器人场景中,待客户提出问题后,往往需要先计算客户提出问题与知识库问题的相似度,进而定位最相似问题,再对问题给出答案。本次比赛的题目便是问 > 题相似度算法设计。

数据集经过脱敏处理,问题由数字标示 为保护用户隐私并保证比赛的公平公正,所有原始文本信息都被编码成单字ID序列和词语ID序列。单字包含单个汉字、英文字母、标点及空格等;词语包含切词后的中> 文词语、英文单词、标点及空格等。单字ID和词语ID存在于两个不同的命名空间,即词语中的单字词或者标点,和单字中的相同字符及相同标点不一定有同一个ID。其> > 中,单字序列以L开头,词语序列以W开头。

Siamese Network

MaLSTM’s architecture — Similar color means the weights are shared between the same-colored elements

  • 词向量是基于字符级别的,在我印象里一般是字符级的效果比较好
  • LSTM训练出来两个问题的语义向量,然后再给相似度函数MaLSTM similarity function
代码语言:javascript
复制
def exponent_neg_manhattan_distance(sent_left, sent_right):
    '''基于曼哈顿空间距离计算两个字符串语义空间表示相似度计算'''
    return K.exp(-K.sum(K.abs(sent_left - sent_right), axis=1, keepdims=True))

我们仔细看下这个函数的输出是0-1,也就是我们预测概率

  • 训练结果:

在ccks任务上:acc: 0.8372 - val_loss: 0.4316 - val_acc: 0.8047

在atec任务上:loss: 0.3302 - acc: 0.8570 - val_loss: 0.5244 - val_acc: 0.7702

更多资料

  1. How to predict Quora Question Pairs using Siamese Manhattan LSTM
  2. nlp中文本相似度计算问题
  3. 语义相似度计算各种算法实现汇总
  4. 距离度量以及python实现(一)
  5. 从Kaggle赛题: Quora Question Pairs 看文本相似性/相关性
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.12.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • sentence-similarity
    • 句子相似度判定
      • Siamese Network
        • 更多资料
        相关产品与服务
        对话机器人
        对话机器人(Conversation Robot,ICR),是基于人工智能技术,面向企业场景的 AI 服务,可应用于智能客服、服务咨询、业务办理等场景。本产品旨在帮助企业快速构建,满足自身业务诉求的对话机器人,从而减少企业人力成本或解决服务不及时问题。用户可通过对话机器人用户端引擎,实现高准确率的对话服务。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档