文本相似度笔记(用户笔记)
收藏
快速回复
【千言数据集】 文章学习资料 649 0
文本相似度笔记(用户笔记)
收藏
快速回复
【千言数据集】 文章学习资料 649 0

文本语义匹配任务,简单来说就是给定两段文本,让模型来判断两段文本是不是语义相似。 在本案例中以权威的语义匹配数据集 LCQMC 为例,LCQMC 数据集是基于百度知道相似问题推荐构造的通问句语义匹配数据集。训练集中的每两段文本都会被标记为 1(语义相似) 或者 0(语义不相似)。

1.在该项目中,我直接封装了NLP打卡营给出的文本语义相似度的例子,文本相似度的代码我放在work/text_similarity里 models.py 是模型创建的代码文件 dataset_prepare.py 是数据加载代码文件 train.py 是训练代码文件 evaluate.py 是评估代码文件,最后会生成千言数据集:文本相似度比赛的结果文件 predict.py 是我封装的直接调用训练好模型的代码,,代码里面有使用的示例代码

2.训练
dataset_prepare.py 会直接加载lcqmc,bq_corpus,paws-x-zh这三个数据集 在训练时, 需要在train.py文件里,修改train_model变量的值,选择要进行训练的数据集 最后直接运行 python work/text_similarity/train.py

3.评估
在进行评估时 需要设置evaluate.py文件里面的test_name的值,选择lcqmc,bq_corpus,paws-x-zh这三个数据集的测试集 作用用下面命令启动 python work/text_similarity/evaluate.py 运行后,会在主目录生成结果文件

4.预测
在predict.py文件里,有我封装好的使用我们训练好的模型使用例子 我们可以用模型来预测我们自己的数据。 可以使用下面命令运行 python work/text_similarity/predict.py
In [3]
!cd work/text_similarity/
#解压lcqmc,bq_corpus,paws-x-zh数据集
!unzip -d work/text_similarity/data/ work/text_similarity/data/bq_corpus.zip
!unzip -d work/text_similarity/data/ work/text_similarity/data/paws-x-zh.zip
!unzip -d work/text_similarity/data/ work/text_similarity/data/lcqmc.zip
In [13]

八 paddlenlp 加载预置数据集
(1)查看数据集列表: https://paddlenlp.readthedocs.io/zh/latest/data_prepare/dataset_list.html

(2)加载例子

from paddlenlp.datasets import load_dataset
train_ds, test_ds = load_dataset("msra_ner", splits=("train", "test"))

(3)预训练模型列表 https://paddlenlp.readthedocs.io/zh/latest/model_zoo/transformers.html

(4)加载例子

import paddle
from paddlenlp.transformers import ErnieGramModel, ErnieGramTokenizer

tokenizer = ErnieGramTokenizer.from_pretrained('ernie-gram-zh')
model = ErnieGramModel.from_pretrained('ernie-gram-zh')

inputs = tokenizer("这是个测试样例")
inputs = {k:paddle.to_tensor([v]) for (k, v) in inputs.items()}
sequence_output, pooled_output = model(**inputs)

In [3]
#更新paddlenlp
!pip install --upgrade paddlenlp -i https://pypi.org/simple
#!zip a.zip -r checkpoint/lcqmc
In [2]

In [3]

0
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户