实战项目

本专栏主要用于,发布 CV / NLP / 推荐算法等领域的实战项目讲义,目前是 Pytorch 实现,后续会加上 TensorFlow 相关的课程内容。

  • CasRel项目 P3 DuIE2.0数据集分析与关系表生成

    前面介绍完 CasRel模型结构,接下来我们看一下数据集,然后做一个简单的预处理。因为是用 Bert 做分词,就省去了自己建词表的过程,只需要把关系解析出来,供后续流程使用,就可以了。

    实战项目 1318 2022-08-25
  • CasRel项目 P2 模型结构详解与局限性分析

    上节课,给大家整体介绍了项目要做的事情,就是从一段文本当中,找到主体、客体、和关系的三元组组合,因为 CasRel 这个模型,设计思路不是很常规,示意图的细节也容易混淆,所以我们单独用一节课时间,来拆解一下这个模型。

    实战项目 1043 2022-08-24
  • Pytorch BERT_CasRel_RE P1 实体关系抽取项目介绍

    关系抽取,是信息检索、智能问答、智能对话等人工智能应用的重要基础,一直受到业界的广泛关注。目前NLP领域的主流研究方向,也在向知识图谱偏移。因为多音字、多义词,加上语境变化,单个字或者词的表征一定是片面的,发现实体之间的联系,往往比自身特征更重要。

    实战项目 1465 2022-08-23
  • TextCNN项目 P3 自定义Dataset和BertTokenizer分词

    上节课,我们做了一个简单的数据预处理,通过观察直方图,定义好了文本的长度参数。现在,假设大家已经看了、并且掌握了前面 Huggingface 的内容,我们接着往下讲自定义 Dataset 和 Bert 分词的内容。

    实战项目 714 2022-07-26
  • TextCNN项目 P2 训练数据导入和句子长度统计

    上节课,给大家介绍了 TextCNN 的模型结构,这节课就正式进入代码部分。本节课有两个任务,一是导入数据集,二是要统计待分类的文本长度,因为 TextCNN 在卷积之后,要做批量最大池化操作,所以要求文本长度一致,不够的填充PAD,太长的要进行截取。

    实战项目 666 2022-07-26
  • Pytorch BERT_TextCNN P1 新闻文本分类项目介绍

    从本节课开始,我将带大家来完成一个《Bert+TextCNN新闻文本分类项目》。文本分类是自然语言处理最基础,也是最重要的任务之一,非常适合作为NLP入门的第一个项目。

    实战项目 824 2022-07-26
  • HuggingFace系列 P3 BertTokenizer分词不可逆问题

    上节课我们用一个中文句子,给大家演示了 Bert 预训练模型的基本用法。但有些场景下,文本内容可能是中英文混杂的,但目前还没有支持多语言的预训练模型。直接用中文模型进行编码,英文部分会变成[UNK]标记,从而导致BertTokenizer分词不可逆问题。

    实战项目 1327 2022-07-12
  • HuggingFace系列 P2 BertTokenizer分词和编码

    上一节介绍了transformers的安装,和预训练模型的加载方法,本节我们结合一个例子,来介绍预训练模型的使用过程。使用 BERT 这个预训练模型,主要分为两步:BertTokenizer 进行分词,BertModel 编码。

    实战项目 984 2022-07-11
  • HuggingFace系列 P1 社区简介及transformers安装

    HuggingFace 是一家专注于自然语言处理(NLP)、人工智能和分布式系统的创业公司,该公司维护的 HuggingFace 的开源社区,是最大的开源模型托管服务的平台,相当于机器学习界的 Github。

    实战项目 3382 2022-07-07
  • GCN项目 P4 创建图结构并计算邻接矩阵

    上一节用PaddleOCR提取出了,火车票图片的文字和位置信息,并手动打上了对应标签,本节我们将根据带标签的文件中的位置信息,创建一个图结构,并计算标准化的邻接矩阵。

    实战项目 678 2022-06-29
  • GCN项目 P3 PaddleOCR识别火车票信息

    从这节开始,就正式进入GCN项目的代码环节,我们先使用PaddleOCR,识别出火车票上的文字信息,并提取文字所位置,整理后另存为一个csv文件。项目的目的是要做信息抽取,所以对训练和测试数据,需要手动打上标签,供算法学习。

    实战项目 1087 2022-06-24
  • GCN项目 P2 图卷积神经网络介绍

    深度学习一直都是被几大经典模型统治着,常见的有CNN、RNN网络,它们在CV和NLP领域都取得了优异的效果。但人们发现了很多CNN、RNN无法解决,或者效果不好的问题——图结构数据,所以就有了GNN网络。

    实战项目 1479 2022-06-23
  • Pytorch LSTM_GCN_IE P1 火车票识别项目

    从本节开始,我将带大家完成一个深度学习项目:用图卷积神经网络(GCN),实现一个「火车票文字信息提取」的项目,由于火车票上每个节点文字不是等长的,所以还需要添加一个前置的 LSTM 来提取句子特征。

    实战项目 1555 2022-06-22
  • NER项目 P8 CRF维特比解码和模型训练

    前文已经定义好了 BiLSTM、Linear 层,最后还需要加一层 CRF,再结合维特比解码,输出目标值。另外一个重要的步骤,就是定义损失函数,CRF 解码后的损失计算,不同于分类任务的交叉熵损失,还需要考虑到顺序的问题。

    实战项目 1782 2022-06-19
  • NER项目 P7 定义BiLSTM模型

    到上一节为止,我们已经处理好了模型需要的数据,本节就正式开始搭建模型了,模型的整体是 BiLSTM+CRF 结构,但 CRF 涉及到解码和特殊的损失值计算方法,所以本节先介绍 BiLSTM,下一小节再介绍 CRF 部分。

    实战项目 1752 2022-06-18
  • NER项目 P6 DataLoader句子填充PAD和MASK

    经过上一步的处理,我们将长文本切分成了单句,但每个句子长度又不完全一样。在批处理时,要求每个batch的句子长度必须一致,所以我们需要填充 PAD,来保证句子每个batch的句子长度一样。

    实战项目 1127 2022-06-17
  • NER项目 P5 定义Dataset数据集和文本等长切分

    经过前面的数据预处理操作,我们已经得到了训练样本、测试样本文件,以及词表和标签表的缓存文件,接下来就是定义Dataset类,来加载数据。另外在加载数据时,需要将文本切分为等长的句子。

    实战项目 1755 2022-06-16
  • NER项目 P4 生成词表和标签表缓存文件

    拆分完训练集和测试集后,我们需要根据训练集,生成词表和标签表的缓存文件,供后面的流程调用。该表不仅要记录所有词和标签,还要对应一个不重复的ID,方便后续进行Embedding,即数字化。

    实战项目 1409 2022-06-11
  • NER项目 P3 拆分训练集和测试集

    上一节已经生成了单个字和标注对应的文件,接下来就是将这些文件,拆分为训练集和测试集两部分。这里的拆分不单是文件选择的问题,还需要考虑后续加载数据集的问题。

    实战项目 1526 2022-06-10
  • NER项目 P2 解析文字和实体标签对应关系

    主办方提供的数据是一些用brat标注的文件,.txt文件为原始文档,.ann文件为标注信息,标注实体以T开头,后接实体序号,实体类别,起始位置和实体对应的文档中的词。

    实战项目 2154 2022-06-09