人工智能
少儿西笑
自然语言处理工程师
展开
-
情感分析工具测评
情感分析情感倾向分析针对带有主观描述的中文文本,可自动判断该文本的情感极性类别并给出相应的置信度。情感类型分为积极、消极、中性。情感倾向分析能够帮助企业理解用户消费习惯、分析热点话题和危机舆情监控,为企业提供有力的决策支持。本文主要对两个情感分析的工具进行测评。SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所原创 2020-06-11 09:36:25 · 2024 阅读 · 0 评论 -
Bert应用于序列标注
NER命名实体识别(NER)(也称为实体识别、实体分块和实体提取)是信息提取的一个子任务,旨在将文本中的命名实体定位并分类为预先定义的类别,如人员、组织、位置、时间表达式、数量、货币值、百分比等。datahttps://www.kaggle.com/abhinavwalia95/entity-annotated-corpus/downloadMethods统计的方法机器学习统计和机器...原创 2019-11-15 16:39:38 · 1166 阅读 · 0 评论 -
XLNet简介
背景知识语言模型:自回归和自编码模式图示:黄色块为输入字符,蓝色块为字符的位置。对于自回归语言模型,它希望通过已知的前半句预测后面的词或字。对于自编码语言模型,它希望通过一句话预测被 Mask 掉的字或词,如上所示第 2 个位置的词希望通过第 1、3、5 个词进行预测。自回归式的优缺点计算效率比较高只能编码单向语义自编码式的优缺点双向编码能力BERT 假设要预测的词之间是相...原创 2019-11-15 16:37:05 · 971 阅读 · 0 评论 -
Xavier的初始化推导
一般来说,参数初始化可以用高斯分布,均值为0,方差自定义。但是随着计算的进行,数据的分布极有可能发生变化,如果动荡太大,会使模型很难收敛。目的:所以呢,我们希望保持分布的稳定性Xavier Initialization呢,就是这么一种初始化方式,它的目的在于保持每一层的输入与输出的var相同接下来看如何推导出Xavier 的初始化方式首先,对于神经元的计算而言,有如下的算式,x表示输入,...原创 2019-11-15 16:25:56 · 597 阅读 · 0 评论 -
PCA过程
PCA(Principal Component Analysis),也称为主成分分析。降维可以解决三类问题:缓解维度灾难在压缩数据的同时让信息损失最小化维度少的数据通过可视化更容易理解从数学的角度来看,PCA的目标是什么呢?它的目标是通过某种线性投影,将高维的数据映射到低维的空间中,即把原先的n个特征用数目更少的m个特征取代,并且,我们希望在所投影的维度上数据的方差最大,尽量使新的m个...原创 2019-02-21 10:44:31 · 755 阅读 · 2 评论 -
生成模型和判别模型
生成模型求的是联合概率,判别模型求的是条件概率。 生成模型可以生成新的样本,判别模型不可以。对于分类任务来说,生成模型记住的是每个类的特点,而判别模型关注的是类别之间的差别。从数学的角度看,p(x,y)=p(y|x)p(x),生成模型相对于判别模型多考虑了p(x),相当于多考虑了先验概率。在分类问题中,在样本较小的情况下,容易产生过拟合,而考虑先验可以减少过拟合,所以生成模型的效果较好;当...原创 2019-02-20 20:18:33 · 115 阅读 · 0 评论 -
正则化
Q:关于正则,我们⼀般采⽤L2或者L1, 这两个正则之间有什么区别? 什么时候需要用L2, 什么时候需要用L1?首先,过拟合的问题通常发生在变量(特征)过多的时候。这种情况下训练出的方程总是能很好的拟合训练数据。但是,这样的曲线在新的数据样本中表现不一定好。也就是说,经验误差很小,泛化误差很大的时候,过拟合就产生了。而正则化是解决过拟合的一种常用手段。正则化是一种回归的形式,它将系数估计朝零的...原创 2019-02-20 17:42:06 · 186 阅读 · 0 评论 -
模型的评估
一些基本概念:错误率:如果在m个样本中有a个样本分类错误,那么错误率=a/m精度:1-错误率误差:实际预测输出与样本的真实输出之间的差异训练误差/经验误差:学习器在训练集上的误差,在很多情况下,我们都可以学得一个经验误差很小,在训练集上表现很好的学习器泛化误差:在新样本上的误差,我们希望得到的是一个泛化误差很小的学习器,但这点不能通过训练误差来保证过拟合:训练误差很小但是泛化误差很...原创 2019-02-20 17:15:11 · 150 阅读 · 0 评论 -
监督学习
Q:监督学习的流程是什么样的?监督学习过程图示:首先我们需要带有标签的数据,接着,通过特征工程来提取特征形成特征向量。然后,我们会选择模型,相当于选择某一个目标函数,那有了一个目标之后,就可以使用优化算法来优化目标函数。这些算法一般都可以调用工具来使用。这样我们便得到了一个预测结果。如果预测结果不好怎么办呢?我们会从头开始,在每一个部分都作一些调节,一般我们算法工程师做的事情就是循环过程。其中...原创 2019-02-19 21:29:08 · 1229 阅读 · 0 评论 -
overflow and underflow
Q: 什么叫underflow, 什么叫overflow? 对于很多的AI问题,如果出现很多概率的相乘,我们通常都在最前面加log, 为什么? ⽐如 argmax p(x), 通常求解 argmax log p(x)。 对于softmax 函数,我们去实现的时候怎么避免underflow 或者 overflow?首先,实数在计算机内用二进制表示,所以不是一个精确值,当数值过小的时候,被四舍五入为...原创 2019-02-19 20:56:40 · 1401 阅读 · 0 评论 -
信息抽取
信息抽取技术主要用于抽取:抽取实体:比如人,地名,时间这些一般的常见的实体,再比如在一些垂直领域,需要提取医疗领域,金融领域,教育领域等方面的实体。抽取关系:提取的是实体与实体间的关系。信息抽取应用场景:比如我们有以上一段话,需要进行实体抽取,以及实体间的关系抽取,接下来需要把这些信息整合成知识图谱的形式。更多应用:知识库的搭建Google Scholar用户库: R...原创 2019-02-22 15:13:23 · 2482 阅读 · 0 评论 -
Beam Search
Q: 什么是Beam Search? 它在NLP中的什么场景里会⽤到?传统的广度优先策略能够找到最优的路径,但是在搜索空间非常大的情况下,内存占用是指数级增长,很容易造成内存溢出,因此提出了beam search的算法。beam search尝试在广度优先基础上进行进行搜索空间的优化(类似于剪枝)达到减少内存消耗的目的。在sequence2sequence模型中,beam search的方法...转载 2019-02-21 20:50:28 · 366 阅读 · 0 评论 -
任务型聊天机器人和闲聊类机器人的关键技术
基于任务型的聊天机器人主要包含四个模块:Spoken Language Understanding(SLU) ,将自然语言转化为intent和slot-values,比如“我想吃中餐,有什么推荐的吗”,intent是‘推荐餐厅’, slot-values是‘菜系-中餐’。Dialogue State Tracking(DST),跟踪对话状态并且输出当前对话状态。这个模块是任务型对话中最核心的...原创 2019-01-08 21:34:51 · 4092 阅读 · 0 评论 -
一些资源分享
web socket:https://www.zhihu.com/question/20215561/answer/40316953消息系统设计:https://www.cnblogs.com/dytl/p/5336917.htmlsequelizehttp://docs.sequelizejs.com/manual/tutorial/associations.htmlelastic ...原创 2019-01-07 10:39:27 · 372 阅读 · 0 评论 -
Attention机制通俗介绍
好,在讲attention之前,大家有必要了解两个知识点,词向量和RNN。什么是词向量呢?也就是把语言向量化来作为模型的输入。什么是RNN呢,也就是循环神经网络,看下面这个示意图,这里的每一个X代表每一步的输入,A代表运算过程,可以看到,每一步的计算输出都被作为下一步的输入,另个需要说明一点,每个A里的参数都是一样的,这就是为什么这种模型叫作循环神经网络。那现在进入今天的主题,attent...原创 2018-12-22 12:29:02 · 3822 阅读 · 0 评论 -
关于一款心理辅导机器人的调研(Woebot)
引子Woebot是一款Facebook Messenger聊天机器人,基于认知行为疗法(Cognitive Behavior Therapy,CBT )来帮助精神抑郁人群。这是一个有基于3亿抑郁患者庞大目标用户群的市场。新科技的应用能在许多方面扩展心理治疗工具,以及使用规模和疗效,如今该领域将注意力转入了人工智能技术。AI+心理健康(从认知行为治疗出发)认知行为治疗始于上世纪60年代,其逐渐...原创 2018-11-13 14:15:10 · 3737 阅读 · 0 评论 -
Prisma note
Prisma est une couche d’accès aux données (DAL) Open Source, basée sur GraphQL, qui transforme votre base de données en une API GraphQL.Prisma vous permet:Lire et écrire dans votre base de données...翻译 2018-09-06 10:10:53 · 198 阅读 · 0 评论