自然语言处理
文章平均质量分 87
自然语言处理实战与代码解析
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
南七小僧
C9博士,前百度、联想技术产品总监。深入理解人工智能技术研发与应用。
展开
-
vue3中,vue-echarts基本使用(关系图、知识图谱、柱状图、饼图、折线图)
【代码】vue3中,vue-echarts基本使用(关系图、知识图谱、柱状图、饼图、折线图)原创 2024-08-30 12:07:50 · 336 阅读 · 0 评论 -
史上最全知识图谱建模实践:本体结构与语义解耦
Root节点,代表“常识知识树”的根结点,在这棵概念树上,我们预定义了17种实体的分类体系,如“角色”、“物体与物品”、“组织机构”、“品牌”、“事件”都是一个“概念类型”(即一个分类体系的根结点),每个概念类型作为起点的子树,定义了对该类实体的语义细分,目前蚂蚁知识树上已经有超过2W+的节点。描述实体-实体间的关联。如果你的图谱,涉及对带有时空信息的行为事件的表达,或建模场景下的业务规则、专家经验,需要对所定义“概念”的内涵和外延有计算机可处理可计算的逻辑语义解释,高阶篇中有你所需知道的一切。原创 2024-08-29 20:46:34 · 473 阅读 · 0 评论 -
知识图谱基础(三)-schema的构建
简单来说,一个知识图谱的schema就是相当于一个领域内的数据模型,包含了这个领域里面有意义的概念类型以及这些类型的属性。任何一个域的schema主要由类型(type)和属性(property)来表达。图1是plantdata内的创投schema,主要是为了发掘一级市场的投资和融资构建的schema。该schema主要是去定义需求,哪些数据对创投有用,才往上构建,例如:人物都有身高、体重,但是这些数据对创投来说意义不大,在schema中就不用构建了。原创 2024-08-29 20:27:19 · 111 阅读 · 0 评论 -
Neo4j+Neovis+Vue3:前端连接数据库渲染
参考有些文章对labels的配置里的字段加了双引号“”,配置不需要双引号,而且prettier会报错。MATCH (n) return n返回的只有节点,不显示关系。最终效果图:鼠标滚动放大,节点可拖拽。使用以下语句查询关系。原创 2024-08-28 15:56:19 · 31 阅读 · 0 评论 -
第十三章:Prompting 情感分析
本文我们将运用 Transformers 库来完成情感分析任务,并且使用当前流行的 Prompting 方法。Prompting 方法的核心思想就是借助模板将问题转换为与预训练任务类似的形式来处理。原创 2024-06-29 06:06:06 · 122 阅读 · 0 评论 -
第十二章:抽取式问答
本文我们将运用 Transformers 库来完成抽取式问答任务。自动问答 (Question Answering, QA) 是经典的 NLP 任务,需要模型基于给定的上下文回答问题。抽取式问答模型通常采用纯 Encoder 框架(例如 BERT),它更适用于处理事实性问题,例如“谁发明了 Transformer 架构?”,这些问题的答案通常就包含在上下文中;而生成式问答模型则通常采用 Encoder-Decoder 框架(例如 T5、BART),它更适用于处理开放式问题,例如“天空为什么是蓝色的?原创 2024-06-29 06:05:36 · 69 阅读 · 0 评论 -
第十一章:文本摘要任务
本文我们将运用 Transformers 库来完成文本摘要任务。与我们上一章进行的翻译任务一样,文本摘要同样是一个 Seq2Seq 任务,旨在尽可能保留文本语义的情况下将长文本压缩为短文本。虽然 Hugging Face 已经提供了很多,但是它们大部分只能处理英文,因此本文将微调一个多语言文本摘要模型用于完成中文摘要:为新浪微博短新闻生成摘要。文本摘要可以看作是将长文本“翻译”为捕获关键信息的短文本,因此大部分文本摘要模型同样采用 Encoder-Decoder 框架。原创 2024-06-29 06:04:52 · 39 阅读 · 0 评论 -
第十章:翻译任务
本章我们将运用 Transformers 库来完成翻译任务。翻译是典型的序列到序列 (sequence-to-sequence, Seq2Seq) 任务,即对于每一个输入序列都会输出一个对应的序列。理论上我们也可以将本章的操作应用于完成这些 Seq2Seq 任务。翻译任务通常需要大量的对照语料用于训练,如果我们有足够多的训练数据就可以从头训练一个翻译模型,但是微调预训练好的模型会更快,例如将 mT5、mBART 等多语言模型微调到特定的语言对。原创 2024-06-29 06:03:10 · 65 阅读 · 0 评论 -
第九章:序列标注任务
我们的第一个实战任务是序列标注 (Sequence Labeling/Tagging),其目标是为文本中的每一个 token 分配一个标签,因此 Transformers 库也将其称为 token 分类任务。常见的序列标注任务有(Named Entity Recognition) 和命名实体识别 NER 旨在识别出文本中诸如人物、地点、组织等实体,即为所有的 token 都打上实体标签(包含“非实体”)。词性标注 POS 旨在为文本中的每一个词语标注上对应的词性,例如名词、动词、形容词等。原创 2024-06-29 06:02:33 · 76 阅读 · 0 评论 -
第八章:快速分词器
通过前面章节的介绍,我们已经对 Transformers 库有了基本的了解,并且上手微调了一个句子对分类模型。从本章开始,我们将通过一系列的实例向大家展示如何使用 Transformers 库来完成目前主流的 NLP 任务。在开始之前,我们先回顾一下在第五章《模型与分词器》中已经介绍过的分词器 (Tokenizer),进一步了解分词器的一些高级功能。原创 2024-06-29 06:00:43 · 67 阅读 · 0 评论 -
第七章:微调预训练模型
在上一篇中,我们介绍了使用 Transformers 库必须要掌握的 Pytorch 知识。本文我们将正式上手微调一个句子对分类模型,并且保存验证集上最好的模型权重。原创 2024-06-29 05:59:01 · 48 阅读 · 0 评论 -
第六章:必要的 Pytorch 知识
在上一章中,我们介绍了Model类和Tokenizers类,尤其是如何运用分词器对文本进行预处理。Transformers 库建立在 Pytorch 框架之上(Tensorflow 的版本功能并不完善),虽然官方宣称使用 Transformers 库并不需要掌握 Pytorch 知识,但是实际上我们还是需要通过 Pytorch 的DataLoader类来加载数据、使用 Pytorch 的优化器对模型参数进行调整等等。原创 2024-06-29 05:53:06 · 334 阅读 · 0 评论 -
第五章:模型与分词器
本章我们将介绍 Transformers 库中的两个重要组件:**模型**和**分词器**。## 5.1 模型除了像之前使用 `AutoModel` 根据 checkpoint 自动加载模型以外,我们也可以直接使用模型对应的 `Model` 类,例如 BERT 对应的就是 `BertModel`:```from transformers import BertModelmodel = BertModel.from_pretrained("bert-base-cased")```注意,原创 2024-06-29 05:52:08 · 38 阅读 · 0 评论 -
第四章:开箱即用的 pipelines
预训练模型的本体只包含基础的 Transformer 模块,对于给定的输入,它会输出一些神经元的值,称为 hidden states 或者特征 (features)。对于 NLP 模型来说,可以理解为是文本的高维语义表示。可以看到,输出中包含两个键 input_ids 和 attention_mask,其中 input_ids 对应分词之后的 tokens 映射到的数字编号列表,而 attention_mask 则是用来标记哪些 tokens 是被填充的(这里“1”表示是原文,“0”表示是填充字符)。原创 2024-06-29 05:51:07 · 30 阅读 · 0 评论 -
第三章:注意力机制
正如在前两章所说,自从 2017 年 Google 发布之后,各种基于 Transformer 的模型和方法层出不穷。尤其是 2018 年,OpenAI 发布的和 Google 发布的模型在几乎所有 NLP 任务上都取得了远超先前最强基准的性能,将 Transformer 模型的热度推上了新的高峰。Transformer 模型之所以如此强大,是因为它抛弃了之前广泛采用的循环网络和卷积网络,而采用了一种特殊的结构——注意力机制 (Attention) 来建模文本。原创 2024-06-29 05:49:12 · 50 阅读 · 0 评论 -
第一章:自然语言处理
自然语言处理 (NLP, Natural Language Processing) 又称为计算语言学,是一门借助计算机技术研究人类语言的科学。虽然 NLP 只有六七十年的历史,但是这门学科发展迅速且取得了令人印象深刻的成果。在上手实践之前,我想先花点时间给大家介绍一下 NLP 的发展历史和 Transformer 模型相关的概念,这对于后期理解模型结构以及自己设计方法会有很大的帮助。本章将带大家快速穿越 NLP 的发展史,见证从专家系统到 BERT 模型的巨大变化。原创 2024-06-29 05:06:01 · 235 阅读 · 0 评论 -
NLP CRF 命名实体识别
1. 实体先说什么实体吧。在NLP中通常所说的实体指的是人名、地名、机构名,在新闻领域,我们希望了解突发事件的主体,比如人物、地点、机构等等。如果扩展的话,就是你所关心的词语,比如在商品标题中,我们会关心品牌词、物品词、物品属性词,通过这些词+情感极性词,可以更详细地了解顾客的购物意愿。2. 实体识别再说怎么让机器识别这些实体吧。从识别步骤来看分为两步,第一步识别出实体词边界,也就是实体的开始位置和结束位置;第二步识别出实体的类型,也就是前边所说的人名、地名、机构名等等具体的实体类型。从识别方法原创 2021-07-18 15:25:46 · 357 阅读 · 0 评论 -
基于LSI的 职位描述JD 匹配
在文本挖掘中,主题模型是比较特殊的一块,它的思想不同于我们常用的机器学习算法,因此这里我们需要专门来总结文本主题模型的算法。本文关注于潜在语义索引算法(LSI)的原理。1. 文本主题模型的问题特点 在数据分析中,我们经常会进行非监督学习的聚类算法,它可以对我们的特征数据进行非监督的聚类。而主题模型也是非监督的算法,目的是得到文本按照主题的概率分布。从这个方面来说,主题模型和普通的聚...原创 2018-08-29 17:20:52 · 502 阅读 · 0 评论 -
基于LDA的 职位描述JD 匹配
def findjd(request): print('推荐中') shixi = pd.read_table('shixi.txt', delimiter="\n") stopwords = '' with open('stopwords.txt', 'r') as f: stopwords = f.readline() jdldalis...原创 2018-08-30 10:15:55 · 417 阅读 · 0 评论 -
通俗的说 LDA ----Latent Dirichlet Allocation
LDA的原理:LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。什么是主题因为LDA是一种主题模型,那么...原创 2018-08-30 10:28:00 · 7341 阅读 · 0 评论 -
【NLP系列1】基于Doc2Vec的文本分类
import jieba as jbimport numpy as npimport pandas as pdfrom gensim.models.doc2vec import Doc2Vec, TaggedDocumentshixi = pd.read_table('shixi.txt')print(shixi)s = '哈哈哈哈大师赛的小康康'w = jb.cut(s)jd...原创 2018-08-30 11:26:21 · 839 阅读 · 0 评论 -
基于文本的 单词 TFIDF等常见应用
任务一:现在有一篇长文《中国的蜜蜂养殖》,用计算机提取它的关键词。1、词频:如果某个词很重要,它应该在这篇文章中多次出现。我们进行"词频"(Term Frequency,缩写为TF)统计。2、停用词:结果你肯定猜到了,出现次数最多的词是----"的"、"是"、"在"----这一类最常用的词。它们叫做"停用词"(stop words),表示对找到结果毫无帮助、必须过滤掉的词。 规则一...原创 2018-09-08 13:49:57 · 870 阅读 · 0 评论 -
CCF大赛,【NLP处理】汽车行业用户评论 文本主题分类与基于主题的情感预测 【baseline】
通过tfidf+LR做文本分类、# -*- coding: utf-8 -*-"""Created on Wed Sep 5 13:23:31 2018@author: Lenovo"""import jieba as jbimport numpy as npimport pandas as pdfrom gensim.models.doc2vec import Doc...原创 2018-09-05 15:06:30 · 3956 阅读 · 10 评论 -
词向量 其实就是 语义映射矩阵
最近仔细学习了word2vec,上网查资料的时候发现很多博客资料上讲到的主要是理论,不好全面理解;而对于介绍应用的文章又偏重于某个工具的使用而不是训练的细节,所以特别参考了Tensorflow上的实现写下本篇文章,以防忘记。其中Tensorflow实现word2vec请点击这里 正文:对于word2vec的原理这里不做过多解释,如果不熟悉可以看 [NLP] 秒懂词向量Word2vec的...原创 2018-09-08 14:22:58 · 3480 阅读 · 1 评论 -
【NLP】 文本分类 主题预测 综述
文本分类解决方法综述一、传统文本分类方法 文本分类问题算是自然语言处理领域中一个非常经典的问题了,相关研究最早可以追溯到上世纪50年代,当时是通过专家规则(Pattern)进行分类,甚至在80年代初一度发展到利用知识工程建立专家系统,这样做的好处是短平快的解决top问题,但显然天花板非常低,不仅费时费力,覆盖的范围和准确率都非常有限。后来伴随着统计学习方法的发展,特别是90年代后互联网在...原创 2018-09-08 14:38:09 · 3800 阅读 · 2 评论 -
【WORD2VEC】通俗解释
转载http://www.sohu.com/a/128794834_211120Word2Vec 的训练模型,看穿了,是具有一个隐含层的神经元网络(如下图)。它的输入是词汇表向量,当看到一个训练样本时,对于样本中的每一个词,就把相应的在词汇表中出现的位置的值置为1,否则置为0。它的输出也是词汇表向量,对于训练样本的标签中的每一个词,就把相应的在词汇表中出现的位置的值置为1,否则置为0。那么,对...原创 2018-09-08 14:39:15 · 613 阅读 · 0 评论 -
【TEXT-CNN】详细解释 与 代码
1.简介TextCNN 是利用卷积神经网络对文本进行分类的算法,由 Yoon Kim 在 “Convolutional Neural Networks for Sentence Classification” 一文 (见参考[1]) 中提出. 是2014年的算法.图1-1 参考[1] 中的论文配图合理性: 深度学习模型在计算机视觉与语音识别方面取得了卓越的成就. 在 NLP 也是...原创 2018-09-08 15:35:12 · 5266 阅读 · 3 评论 -
TextCNN 与 FastText 文本分类实战【Embedding|Word2Vec】
具体的理论知识,可以看看前面几篇文章,有详细介绍,这里直接po代码了# -*- coding: utf-8 -*-""" @Author: xkk @Date: 2018-09-07 12:42:37 @Last Modified by: xkk @Last Modified time: 2018-09-07 12:42:37"""import jiebaimpo...原创 2018-09-08 19:30:12 · 4033 阅读 · 0 评论 -
Apriori算法介绍(布尔关联规则 挖掘)啤酒尿不湿【数据挖掘 机器学习】
导读:随着大数据概念的火热,啤酒与尿布的故事广为人知。我们如何发现买啤酒的人往往也会买尿布这一规律?数据挖掘中的用于挖掘频繁项集和关联规则的Apriori算法可以告诉我们。本文首先对Apriori算法进行简介,而后进一步介绍相关的基本概念,之后详细的介绍Apriori算法的具体策略和步骤,最后给出Python实现代码。并附上小例子。1.Apriori算法简介Apriori算法是经典...原创 2018-09-06 09:53:23 · 3714 阅读 · 0 评论 -
“AIIA”杯-国家电网-电力专业领域词汇挖掘
电力词汇,NER自动挖掘比赛这一堆数据,质量真的惨不认输。有点难受,我找找思路 思路:爬取各大电力相关论文的关键词,将其作为ner,与原文混合做自动化标注,把原文标注的结果,用bilstm+CRF训练...原创 2018-09-18 17:02:23 · 2328 阅读 · 17 评论 -
C#中的bitmap类和图像像素值获取方法
一.Bitmap类Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下:1. GetPixel方法和SetPixel方法:获取和设置一个图像的指定像素的颜色.2. PixelFormat属性:返回图像的像素格式.3. Palette属性:获取和设置图像所使用的颜色调色板....原创 2018-08-31 17:27:31 · 1989 阅读 · 0 评论