- 博客(7)
- 收藏
- 关注
原创 【通俗易懂】蓄水池抽样算法-等概率地从n个数中随机抽出m个数
【通俗易懂】蓄水池抽样算法-等概率地从n个数中随机抽出m个数一、进入红圈的概率二、不被换出红圈的概率碰到了个题目,题目大概意思如下题目描述:随机的从大小为n的数组中选取m个整数,要求每个元素被选中的概率相等。网上给出的大部分答案如下:分析与解答:首先从有N个元素的数组中随机选出一个元素,然后把这个选中的数字与数组中第一个元素交换,接着从数组后面N-1个数字中选出1个元素与数组中第二个元素交换,以此类推,直到选出m个数字为止,数组前m个数字就是随机选出来的m个数字,且他们被选中的概率相同。说实
2021-01-10 17:01:29
417
原创 【NLP】自己搭一个多轮对话聊天机器人(附实现源码)
【NLP】自己搭一个多轮对话聊天机器人(附实现源码)01 项目框架02 模型2.1 粗排2.1.1BM252.1.1 Bool检索2.2 精排意图识别03 API交互04 微信前端本文的内容如下本篇介绍一个检索类型的多轮问答系统/聊天机器人,通过API异步通信,实现在微信上的交互,本项目包括了模型和工程化部署一体化。包含查天气,知识图谱聊天查询,生成式问答聊天查询,图片识别,多次重复回答等;涉及到命名实体识别,相似匹配(bm25,bool检索,simbert等),bert+seq2seq生成
2021-01-10 16:30:54
6098
2
原创 多维(三维四维)矩阵向量运算-超强可视化
多维(三维四维)矩阵向量运算-超强可视化1、高维矩阵可视化一维二维三维四维2、高维矩阵运算高维矩阵或者向量的运算,是一个困扰着我很久的问题;在NLP里面经常就会碰到三维,四维的向量运算,矩阵相乘时相当头痛,比如著名的Attention中Q、K、V相乘,实在想不出来四维的到底长什么样,又是怎么相乘的。于是特地写下此文章,记录下个人的学习路程,也希望帮到大家。1、高维矩阵可视化一维首先一维的矩阵非常简单,比如[1,2,3,4],可以用下图表示二维接着来看二维,可用以下代码生成一个二维矩阵,采用ke
2021-01-10 16:07:36
11237
10
原创 word2vec训练词向量的转换过程
word2vec训练词向量的转换过程CBOW为例第一步:把每个字用one-hot的形式表示出来第二步:初始化左边的权重。作用是分别得到向量V(代表一个单词),做法是利用输入的单词的onehot向量X和W相乘第三步:将得到的三个单词的V向量相加作为隐藏层的矩阵(隐藏层也就代表周围词的一个集合(即符合由周围的词来预测中心的词))第四步:将隐藏层向量乘以W′W'W′第五步:激活函数处理得到V-dim概率分布 {PS: 因为是onehot嘛,其中的每一维都代表着一个单词},概率最大的index所指示的单词为预测出的
2020-12-11 16:48:17
1917
原创 SimBert张量运算--生成相似句&句子相似度判断
SimBert前言原理mask矩阵实现及运算前言SimBert是由苏剑林开发的模型,基于UniLM思路做成的,具体可以参考:https://kexue.fm/archives/7427本文主要介绍SimBert的张量矩阵运算原理,以及其shape的变换。对于UniLM,可以认真看下苏神写的《从语言模型到Seq2Seq:Transformer如戏,全靠Mask》原理在上面苏神写的文章中,有张图特别的形象,横坐标是原句子(y_true),纵坐标是预测的句子(y_pred),通俗理解就是:原句子的“[
2020-09-28 15:15:16
4774
4
原创 【NLP】BERT代码实现--Bert4keras源码及矩阵计算解析
【NLP】bert4keras源码及矩阵计算解析这里写目录标题【NLP】bert4keras源码及矩阵计算解析前言源码重要性Bert4keras框架Transformer类算法实现(以Bert为例)前言bert4keras是苏剑林通过keras封装Bert,可以更快速、更友好的使用Bert。bert4keras链接:https://github.com/bojone/bert4keras本文是对该链接下bert4keras/bert4keras/的源码进行解析源码重要性个人认为了解源码非常重要
2020-09-17 16:24:50
2910
原创 NLP-乘着Keras遨游人工智能世界
NLP-乘着Keras遨游人工智能世界总览-思维导图为什么是NLP个人使命总览-思维导图本系列的文章主要为大家详解NLP相关知识,将会包含每个细节,主要用的框架是Keras。我将会一个一个认真的剖析,并且给每一行可能有疑惑的代码写上注释,对于一个没任何人指导人来说,这将会大大减少你的学习成本!!!!具体思维导图如下,主要为两个部分Keras使用和NLP。为什么是NLPNLP在人工智能领域被称为掌上明珠,主要原因是我认为语言很难数字化表示,而难以用数字化进行表示,机器就不容易学习,这也是限制NL
2020-09-06 13:40:23
274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人