### 背景介绍

文本语义匹配是自然语言处理中一个重要的基础问题,NLP 领域的很多任务都可以抽象为文本匹配任务。例如,信息检索可以归结为查询项和文档的匹配,问答系统可以归结为问题和候选答案的匹配,对话系统可以归结为对话和回复的匹配。语义匹配在搜索优化、推荐系统、快速检索排序、智能客服上都有广泛的应用。如何提升文本匹配的准确度,是自然语言处理领域的一个重要挑战。

  • 信息检索:在信息检索领域的很多应用中,都需要根据原文本来检索与其相似的其他文本,使用场景非常普遍。
  • 新闻推荐:通过用户刚刚浏览过的新闻标题,自动检索出其他的相似新闻,个性化地为用户做推荐,从而增强用户粘性,提升产品体验。
  • 智能客服:用户输入一个问题后,自动为用户检索出相似的问题和答案,节约人工客服的成本,提高效率。

让我们来看一个简单的例子,比较各候选句子哪句和原句语义更相近:

  • 原句:“车头如何放置车牌”
  • 比较句1:“前牌照怎么装”
  • 比较句2:“如何办理北京车牌”
  • 比较句3:“后牌照怎么装”

比较结果:

  • 比较句1与原句,虽然句式和语序等存在较大差异,但是所表述的含义几乎相同
  • 比较句2与原句,虽然存在“如何” 、“车牌”等共现词,但是所表述的含义完全不同
  • 比较句3与原句,二者讨论的都是如何放置车牌的问题,只不过一个是前牌照,另一个是后牌照。二者间存在一定的语义相关性
  • 所以语义相关性,句1大于句3,句3大于句2,这就是语义匹配。

### 数据说明

LCQMC数据集比释义语料库更通用,因为它侧重于意图匹配而不是释义。LCQMC数据集包含 260,068 个带有人工标注的问题对。

  • 包含 238,766 个问题对的训练集
  • 包含 8,802 个问题对的开发集
  • 包含 12,500 个问题对的测试集

### 评估方式

使用准确率Accuracy来评估,即:

准确率(Accuracy)=预测正确的条目数/预测总条目数准确率

也可以使用文本相似度与标签的皮尔逊系数进行评估,不匹配的文本相似度应该更低。

  • 任务1:数据集读取

自然语言处理(Natural Language Processing, NLP)是计算机科学、人工智能和语言学的交叉领域,其目标是使计算机能够理解、生成和处理人类语言。常见的 NLP 技术包括语音识别、文本分析、机器翻译等。这些技术都是基于人工智能和机器学习的算法来实现的。

文本匹配是自然语言处理中的一种常见任务。它可以用来判断两个文本之间的相似度或相关性。常见的文本匹配任务包括:文本相似性匹配、问答匹配、查询-文档匹配等。这些任务的具体实现可以使用机器学习技术,例如使用神经网络模型进行文本嵌入,然后使用余弦相似度或其他相似度度量来计算文本之间的相似度。

LCQMC(Large-scale Chinese Question Matching Corpus)是一个大规模的中文文本匹配数据集。它包含超过 400,000 个标记为重复或非重复的问题对。该数据集由中国科学院自动化研究所(CASIA)深度学习技术与应用国家工程实验室(NEL-DLT)创建。

LCQMC 数据集中的问题涵盖广泛的主题,并以口语化的中文编写,使其成为文本匹配模型具有挑战性的数据集。该数据集通常用于训练和评估各种中文文本匹配模型的性能,例如基于神经网络的模型。它还用于中文自然语言处理的研究,例如文本匹配、文本分类和其他 NLP 任务。该数据集为研究人员提供了一个基准,用于评估其模型的性能并将其与最先进的方法进行比较。

import pandas as pd

def load_lcqmc():

'''

LCQMC文本匹配数据集

下载到本地

'''

# train = pd.read_csv('https://mirror.coggle.club/dataset/LCQMC.train.data.zip',

# sep='\t', names=['query1', 'query2', 'label'])

train = pd.read_csv('./dataset/LCQMC.train.data.zip',

sep='\t', names=['query1', 'query2', 'label'])

# valid = pd.read_csv('https://mirror.coggle.club/dataset/LCQMC.valid.data.zip',

# sep='\t', names=['query1', 'query2', 'label'])

valid = pd.read_csv('./dataset/LCQMC.valid.data.zip',

sep='\t', names=['query1', 'query2', 'label'])

# test = pd.read_csv('https://mirror.coggle.club/dataset/LCQMC.test.data.zip',

# sep='\t', names=['query1', 'query2', 'label'])

test = pd.read_csv('./dataset/LCQMC.test.data.zip',

sep='\t', names=['query1', 'query2', 'label'])

return train, valid, test

train, valid, test = load_lcqmc()

# 查看前2行

print(train[:2])

print(valid[:2])

print(test[:2])

输出:

文本相似度匹配-task1相关推荐

  1. 【打卡-Coggle竞赛学习2023年1月】文本相似度匹配

    文章目录 ## Part4 文本相似度匹配 ### 背景介绍 ### 数据说明 ### 评估方式 ### 学习打卡 - 任务1:数据集读取 - 任务2:文本数据分析 - 任务3:文本相似度(统计特征) ...

  2. nlp中文本相似度匹配

    项目中有用到NLP,博主在网上直接找了开源的 SimHash 上手效果不错(亲自实验)博主对比了余弦跟SimHash最后用了 SimHash 这个是开源代码 simHash package com.m ...

  3. 文本相似度匹配-task5

    任务5:文本匹配模型(LSTM孪生网络) 步骤1:定义孪生网络(嵌入层.LSTM层.全连接层) 步骤2:使用文本匹配数据训练孪生网络 步骤3:对测试数据进行预测 1.训练LSTM孪生网络 RNN/LS ...

  4. python实现文本查重系统_NLP之gensim库python实现文本相似度/匹配/查重

    目的 给定一个或多个搜索词,如"高血压 患者",从已有的若干篇文本中找出最相关的(n篇)文本. 理论知识 文本检索(text retrieve)的常用策略是:用一个ranking ...

  5. 名称相似度匹配算法(文本相似度匹配)

    在处理数据时,有时需要找出数据中存在错误的数据或者对数据进行去重.对数据去重,如果存储在数据库中,我想一个sql就可以搞定,可是要找出数据中错误的数据,就比较困难,一般只能人工判断.举例:比如有一批账 ...

  6. 【NLP】基于Word2Vec词向量的中文文本相似度匹配

    Word2Vec 词向量可以用于测量单词之间的相似度,相同语义的单词,其词向量也应该是相似的.对词向量做降维并可视化,可以看到如下图所示的聚类效果,即相近语义的词会聚在一.     文本或句子相似度问 ...

  7. 文本相似度、文本匹配、文本聚类

    1 1在Keras的Embedding层中使用预训练的word2vec词向量:https://blog.csdn.net/u012052268/article/details/90238282 imp ...

  8. Java实现标题相似度计算,文本内容相似度匹配,Java通过SimHash计算标题文本内容相似度

     目录 一.前言 二.关于SimHash 补充知识 一).什么是海明距离 二).海明距离的应用 三).什么是编辑距离 三.SimHash算法的几何意义和原理 一).SimHash算法的几何意义 二). ...

  9. 中文/英文 文本相似度/文本推理/文本匹配数据集汇总(SNLI、MSRP、MultiNLI、Quora、SciTail、SICK、STS、CCKS2018、LCQMC、OCNLI、XNLI)

    中文/英文 文本相似度/文本推理/文本匹配数据集汇总(SNLI.MSRP.MultiNLI.Quora.SciTail.SICK.STS.CCKS2018.LCQMC.OCNLI.XNLI) 1. 所 ...

最新文章

  1. 在CentOS 6.5 x86_64上安装libunwind的问题
  2. 清理C盘无用的垃圾的文件,给c盘瘦身
  3. 黑马程序员:从零基础到精通的前端学习路线
  4. 自动运维_无Agent自动化运维平台spug
  5. oracle中sp怎么写_校招简历中的实习和项目经历该怎么写?
  6. 网页弹出窗口代码【来源于网络】
  7. 计算机绘制轴类零件图,轴类零件工序图自动绘制的方法和系统研究
  8. 2018年3月计算机二级考试题,2018年3月计算机二级考试Access综合试题十
  9. 使用Angular2建立项目
  10. UIScrollView无法滚动
  11. 专访 Unity 技术总监 Mark Schoennagel、杨栋:基于 Unity 制作影视动画的几点建议!
  12. Python使用日常
  13. 阿里ai布局开始_如何从AI开始?
  14. 用计算机模拟实验技术路线,自然科学基金申请书模板
  15. 《电磁学》学习笔记4——磁场高斯定理、安培环路定理、电动势
  16. 耳机及音响--煲机软件
  17. 微信分享iOS Universal Link配置说明
  18. Composer学习
  19. 荣耀手机不出鸿蒙系统,惊喜!4部荣耀手机可升级至华为鸿蒙系统,网友表示:终于等到了...
  20. java jvm sdk_JDK、SDK、JRE、JVM概念详解

热门文章

  1. 万物互联来袭 你准备好迎接5G新时代了吗?
  2. 从未在一起更让人遗憾_从未在一起和最终没有在一起哪个更让人遗憾你认为?...
  3. VAS开启LaFi空投——助力打造区块链数字黄金新生态
  4. Java训练work3.Exer6---进制转化
  5. Android之——实现应用卸载功能
  6. “中国天眼”启动地外文明搜索,真的能找到吗?
  7. 企业课堂----企业运营
  8. android智能识别技术,基于Android平台的OCR识别技术研究与实现
  9. 手机连接谷歌浏览器进行联调_如何让任何人将手机连接到您的Google Home
  10. 总结一下:运维工程师面试的经历及面试相关问题