- 博客(95)
- 资源 (17)
- 收藏
- 关注
翻译 一文解释Micro-F1, Macro-F1,Weighted-F1
本文用通俗易懂的形式解释多分类任务中的micro-f1,macro-f1,weighted-f1。前提需要知道基本的概念如精确率、召回率。
2022-07-02 13:07:13
16650
3
原创 LeetCode精选100题(4)——颜色分类
目录前言题目解题方法拓展前言 LeetCode精选100题系列第四题。题目颜色分类 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例 1: 输入:nums = [2,0,2,1,1,0] 输出:[0,0,1,1,2,2]解题方法方法一:单指针 我们可以考虑对数组进行两次遍历。在第一次遍历中,我们将数组中所有的 0交换到数
2021-12-25 14:47:36
496
原创 基于问答对的问答系统方案设计
基于问答对的问答系统方案设计1. 前言2. 方案2.1 召回2.1.1 关键词匹配2.1.2 问题分类2.1.3 相似度计算2.2 粗排2.3 细排1. 前言 基于问答对的问答系统的核心是当用户输入一个问题的时候,首先要找到跟这个问题最相近的已经存储在库里的问题,然后直接返回相应的答案即可。其本质是一种基于检索的问答,与常规的关键词检索最大区别在于:问答对的问答是从语义角度从数据库中检索答案,而关键词检索仅仅是从关键词的角度进行检索。 假设我们的库里面已有存在以下几个<问题,答案>:
2021-11-30 21:03:31
4025
原创 中文短文本关键词抽取方案
目录1. 前言2. 数据3. 方案3.1 SIFRank3.2 NegSamplingNER4. 代码1. 前言 本文提出一种中文短文本关键词抽取方案,适用于无监督语料场景。 无监督关键词抽取算法虽然无需标注语料,但是效果一般。有监督学习方法效果好但是需要标注数据,很多业务场景下并没有标注好的数据。能否结合无监督学习方法和有监督学习方法的长处,用无监督方法标注语料,然后用于训练有监督方法?为此我们用实验证明了该方案是可行的,文末给出代码地址。2. 数据 我们选用联通问答数据集中的问题数据,从
2021-11-29 21:18:39
3624
13
原创 脏话文本检测方案
目录1. 场景2. 方案3. 数据增强4. 代码1. 场景 在问答系统中用户问题可能存在违规情况,包含涉政、色情、辱骂文字的文本视为违规文本。本文提出一种违规文本检测方案, 本方案仅限于判断文本是否包含违规内容,属于文本分类问题。2. 方案 方案流程图如下所示。违规词和疑似违规词由人工收集,文本中匹配到违规词则识别为违规文本,例如“煞笔”。文本匹配到疑似违规词或者fasttext模型判断为违规文本则进一步由RoBERTa模型判断。3. 数据增强 为了防止被系统屏蔽,用户通常会魔改违规用语
2021-11-21 14:06:19
2122
原创 信息熵、相对熵与交叉熵
目录1. 信息熵2. 相对熵3. 交叉熵4. 交叉熵与softmax1. 信息熵 熵是一个信息论中的概念,表示随机变量不确定的度量,是对所有可能发生的事件产生的信息量的期望。信息熵公式如下:H(p)=−∑i=1np(xi)logp(xi)H(p)=-\sum_{i=1}^{n}{p(x_i)logp(x_i)}H(p)=−i=1∑np(xi)logp(xi)2. 相对熵 相对熵又称KL散度,用于衡量对于同一个随机变量x的两个分布p(x)p(x)p(x)和q(x)q(x)q(x)之间的差异
2021-09-24 14:27:33
448
原创 关系抽取技术小结
目录0. 前言1.有监督神经网络方法2.少样本学习3.远程监督参考文献0. 前言 关系抽取是信息抽取领域的重要分支,是构建知识图谱的重要技术环节。本次调研采用文献调研法。收集顶会上发表的论文,然后按照研究方向归纳论文。本文介绍了关系抽取领域的三个主流研究方向:有监督学习、少样本学习和远程监督学习。 关系抽取(Relation extraction,RE)就是从非结构化文本中提取实体之间的关系。依据实体是否在文本中被标记,关系抽取方法可分为联合抽取和流水线式抽取。联合抽取是指从文本中完成实体识别和关
2021-09-18 14:57:52
3483
原创 KBQA技术小结
这里写目录标题前言模板法语义解析信息检索总结参考文献前言 KBQA(Knowledge Base Question Answer)是指将自然语言转换成知识库查询语句。KBQA方法主要有三类:模板法 [1,2]、语义解析法 [3,4,5]和信息检索法[1,6,7]。本文简要介绍每种方法的常见方案。模板法 基于模板的KBQA旨在利用预定义的模板匹配问题进而得到形式化查询。通常由离线和在线两个过程组成。离线时,主要根据问答历史建立模板库。具体地,归纳总结以往回答过的问题,构造出问题模板与对应的查询模板
2021-09-18 09:50:48
939
原创 知识图谱发展历程简介
目录1.万维网简介2.语义网简介3.知识图谱简介4. 参考文献1.万维网简介 1990年,Tim Berners-Lee在欧洲粒子物理实验室(CREN)实现了万维网(WWW)的原型系统。Tim认为万维网是一个包含相互链接的超文本文件系统,这些文件可以通过互联网访问。为此,他设计了超文本标记语言(HTML)用来书写万维网中的文件。为了统一地标识万维网中的文件,Tim提出了通用文件标识符(UDI),后来UDI演变为统一资源定位符(URL),逐渐地URL被统一资源标识符(URI)代替。URI可以标识任何资源
2021-09-17 14:23:02
2631
原创 spark学习——RDD概念
目录RDD定义RDD特性RDD定义 RDD(Resilient Distributed Dataset)是弹性分布式数据集,是spark中最基本的数据抽象,代表一个不可变、可分区、可并行计算的数据集合。 不可变:可认为RDD是分布式的列表(list)或数组(Array),它里面的值可增可减但是不可改变原有数据的值,这就是不可变,变量的声明使用 val; 可分区:集合的数据被划分为很多部分,每部分称为分区(Partition); 可并行计算:每个分区数据被一个任务(task)处理。 RD
2021-07-25 11:45:03
350
原创 LeetCode精选100题(3)——无重复字符的最长子串
目录前言题目解题方法前言 LeetCode精选100题系列第三题。题目无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1: 输入: s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解题方法 滑动窗口法。用前后两个指针表示无重复字符的最长子串的开始和结束位置,两个指针之间表示窗口。后指针不断后移,每次后移判断当前字符是否在窗口中出现,若出现则前指针移到窗口中的该字符后一个位
2021-07-07 20:43:14
194
原创 LeetCode精选100题(2)——两数相加
目录前言题目解题方法前言 LeetCode精选100题系列第一题,反思解题中的弯路,解析最佳答案思路。题目两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.解题方法
2021-07-07 20:01:07
203
原创 LeetCode精选100题(1)——两数之和
两数之和前言题目前言LeetCode精选100题系列第一题,反思解题中的弯路,解析最佳答案思路。题目两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。...
2021-07-04 16:10:18
257
原创 少样本 N-way K-shot
在少样本分类论文中,经常会遇到N-way K-shot概念。很多初次接触少样本领域的人虽然能很快知道N-way是指N个类,K-shot是指每个类的样本数量,然后再结合对大规模监督学习的认识,自然的就认为N-way K-shot就是指训练集中有N个类别,每个类别下有K个样本。这样一算,训练集只有N* K个样本,似乎符合少样本的意思。但是在看论文源代码时才会发现,原来训练集的类别数和样本数都远远大于N-way K-s
2021-06-24 17:20:58
6820
22
原创 SPARQL Tutorial
目录前言1 JENA安装2 Data Format3 A First SPARQL Query4 Basic Patterns5 Filters6 Optional Information7 Alternatives in a Pattern8 Datasets前言 本文是SPARQL官方入门教程,通过示例介绍SPARQL的主要功能。SPARQL是一种查询语言,用于查询RDF结构的数据。虽然RDF数据具备推理性,但是SPARQL本身没有推理查询功能,它是面向数据的,只能查询数据中包含的信息。1 JE
2021-02-09 18:29:02
677
原创 关系抽取之远程监督方法总结
目录前言1. 远程监督关系抽取开山之作1.1 介绍1.2 训练过程1.2.1 数据标注方法1.2.2 训练方法1.3 测试过程1.4 思考1.5 总结2. PCNN2.1 介绍2.2 模型结构2.3 实验结果3. 句子级别注意力3.1介绍3.2 模型结构3.2.1 句子编码器3.2.2 注意力层3.3 实验结果前言 本文总结关系抽取中的远程监督方法,解读三篇重要论文。第一篇是开山之作,第二篇解决了第一篇中的数据标注错误问题,第三篇解决了第二篇中的特征遗失问题。但是从最终的测试结果来看,论文的效果离落地
2021-01-08 19:36:28
4706
原创 AQL学习笔记(十二)-AQL运算符
5.1 比较运算符比较两个任意类型的操作数,返回布尔值。AQL支持以下比较运算符。Like用于比较左边的操作数是否和右边的模式匹配,模式由字符和通配符‘%,_’组成,‘_’表示匹配任意一个字符,‘%’表示匹配任意多个字符。如果要在模式中表示通配符本身的含义,需要用反斜线。下面第三个右边的模式中,‘_’在此不是通配符,而是其本身含义。=~和!~用于比较左边的字符串是否匹配右边的正...
2021-01-06 09:11:10
859
原创 AQL学习笔记(十一)-AQL基础——数据类型
AQL支持原始数据类型和复合数据类型。原始数据类型:null, bool, number, string (utf-8)复合数据类型:array, object/document(1)原始数据类型数值数据采用64位双精度类型,字符串需要用双引号或者单引号括起来。(2)复合数据类型数组类型用[ ]表示,里面每个元素可以是任意的合法表达式,元素可以是不同类型,数组可以嵌套。...
2021-01-06 09:10:46
645
原创 AQL学习笔记(十)-AQL基础——AQL语法
(1)query 类型一条AQL query语句要么返回结果,要么是数据修改操作。如果在相同的query中有多个数据修改操作,AQL会报错。AQL每次只执行一条query,不能将多个query写到一起,因此AQL中不需要分号将query隔开。(2)空格可以使用空格来提高程序的阅读性,tokens必须用空格分开。字符串或名称中的空格必须用引号括起来。(3)注释单行注释使用双斜线 ...
2021-01-06 09:10:26
1743
原创 AQL学习笔记(九)-根据坐标查询
(本小结用到的数据在ArangoDB学习笔记(八)-创建坐标collection中已创建)给定一个坐标,可以查询到离他最近的n个地点。使用for循环遍历Locations集合,用near函数查找最近的n个地点。Near函数中Locations表示遍历的集合,53.35和-6.26表示给定的坐标,3表示寻找3个最近的地点。结果如下,也可以直接return loc,结果如下:...
2021-01-06 09:10:03
294
原创 AQL学习笔记(八)-创建坐标collection
坐标包括经度和维度,可以将两者存储为一个属性,也可以分开为两个属性存储。ArangoDB允许坐标查询。首先创建数据,数据来自各城市的坐标数据。先创建集合Collection,命名为Locations,然后插入数据。然后创建坐标索引,按照如下步骤:首先进入Locations集合中,单击Indexes,然后单击右下角的加号。选择Geo Index,在Fields...
2021-01-06 09:09:44
256
原创 AQL学习笔记(七)--遍历图
(本小结用到的数据在ArangoDB学习笔记(二)--文档的创建,ArangoDB学习笔记(五)--连接文档中已创建)创建了图,就可以根据关系查询。知道某个child的id,根据图关系就可以找到其parent。这个for循环没有遍历任何集合或数组,它遍历了整个图,寻找与‘Characters/1906’连接的节点,1..1表示最小和最大遍历深度都为1,outbound指定搜寻方向,表示...
2021-01-06 09:09:23
651
原创 AQL学习笔记(六)--创建边文档
(本小结用到的数据在ArangoDB学习笔记(二)--文档的创建中已创建)父子关系可以用图来表示,在ArangoDB中,如果两个文档具有父子关系,则可以用边文档来连接他们。边文档存储在边集合中,边文档有两个属性:_from和_to。数据库中的人物有如下父子关系,图表示如下,接下来我们创建一个边文档。首先创建ChildOf集合,然后在集合中创建边文档,注意type中选择Edg...
2021-01-06 09:09:04
490
2
原创 AQL学习笔记(五)--连接文档
(本小结用到的数据在ArangoDB学习笔记(二)--文档的创建中已创建)Character集合中每个文档都有一个traits字段,其值是字符列表,这样使得文档非常简洁,但是读者无法理解每个字符所代表的含义。如果我们直接表示traits,文档则会很庞大难以维护。下面两个模型形象的解释了上面两种情况,模型1表示直接将traits记录在文档中,模型2表示将traits和文档分开,在...
2021-01-06 09:08:40
361
原创 AQL学习笔记(四)--查找文档
(本小结用到的数据在ArangoDB学习笔记(二)--文档的创建中已创建)在AQL中FILTER关键字可以实现按条件查找文档。2.2.1 相等条件查找Name可以是其他字段,返回结果如下:2.2.2 范围条件查找返回Character中所有年龄大于13的人名。结果如下:还可以返回多个字段,2.2.3 多条件查找可以同时使用多个限制条件查找文档,...
2021-01-06 09:08:06
371
原创 AQL学习笔记(三)--文档的读取、更新和删除
(本小结用到的数据在ArangoDB学习笔记(二)--文档的创建中已创建)2.1.2 读文档可以使用for循环检索文档,返回Characters中每个documents。如下所示,可以看到每个document中系统都自动添加了’_key’, ’_id’, ‘_rev’三个字段。2.1.3 更新文档更新documents中某个key的value。这里 ’1370’ 是do...
2021-01-06 09:07:15
661
原创 AQL学习笔记(二)--文档的创建
文档操作有创建、读、更新和删除。本节以《Game of Thrones》第一季中部分人物信息作为文档数据来学习文档的各种操作。部分数据如下所示,人物traits由18个字母索引表示,部分表示如下,有英文和德文两种说明。影视中各城市位置如下:2.1.1 创建文档打开Web Interface(操作方式见https://blog.youkuaiyun.com/qq_27668313/a...
2021-01-06 09:06:33
387
原创 AQL学习笔记(十二)-数组高级操作
10.1 数组表达式使用[*]操作符可以对数组内所有元素迭代访问,返回的结果仍然是一个数组。首先创建一个users document,然后写入数据:使用[*]操作符可以直接访问属性friends,返回结果如下:10.2 数组拼接为了拼接嵌套数组的元素,AQL提供[**]操作符,星号数量取决于嵌套数量,[**]可以将嵌套一次的数组内容拼接,[**]可以将嵌套两次的数组...
2021-01-06 09:03:11
306
原创 Python 子类继承多个父类属性
Python 子类继承多个父类属性可能存在的误区正确继承方法可能存在的误区python允许子类同时继承多个父类。但是在子类初始化父类时,单继承和多继承稍有不同。使用单继承的初始化方法会导致父类属性无法全部继承。单继承方式是错误的,如下:class A: def __init__(self): self.a = 'a'class B: def __init__(self): self.b = 'b'class C(A, B): def _
2020-12-31 11:36:16
10487
3
原创 pack_padded_sequence and pad_packed_sequence
此文章为阐述pytorch中pack_padded_sequence 和pad_packed_sequence的原理在变长序列文本中,一个batch中的各样本长度可能不一致,在使用RNN模型时,需要填充至统一长度,被填充的位置实际无意义。我们通常取最后一个时刻的输出作为最终输出,但是填充后的最后时刻并非是原样本的最后时刻。为了获取每个样本真实的最后时刻位置输出,便有了pack_padded_sequence 和pad_packed_sequence。如下图,句子yes被填充4个pad,为了获取句子的句向
2020-12-19 10:55:41
275
1
原创 NLP系列——Transformer源码解析(TensorFlow版)
这篇博客是对transformer源码的解析,这个源码并非官方的,但是比官方代码更容易理解。 采用TensorFlow框架,下面的解析过程只针对模型构建过程,其训练/测试等其他代码忽略。 解读顺序按照model.py中函数顺序解读。 文末会给出代码地址。文章结构如下:__init__()encode()decode()代码地址1. _init_() 模型初始化,主...
2019-12-03 15:37:35
3862
原创 剑指offer第二版(Python3)--面试题41 : 数据流中的中位数
如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。
2019-11-24 17:28:16
362
原创 剑指offer 第二版(Python3)--面试题13:机器人的运动范围
地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?
2019-11-24 11:57:21
488
原创 剑指offer 第二版(Python3)--面试题14:剪绳子
给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。
2019-11-24 11:03:57
296
原创 剑指offer 第二版(Python3)--面试题12:矩阵中的路径
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。
2019-11-23 22:05:12
305
原创 剑指offer第二版(Python3)--面试题54 : 二叉搜索树的第k个结点
给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
2019-11-23 17:13:27
288
原创 剑指offer第二版(Python3)--面试题28:对称的二叉树
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
2019-11-23 13:35:33
243
原创 剑指offer 第二版(Python3)--面试题8:二叉树的下一个节点
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。
2019-11-23 13:08:38
236
GloVe文档pdf版.pdf
2020-01-02
word2vec.pdf
2020-01-02
吴恩达 深度学习 第一课到第四课全部课后练习
2018-01-30
csmc 0.35um工艺库
2016-04-28
TSMC 0.18um工艺库
2016-04-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人