NLP
技术宅zch
新时代农民工,IT搬砖狗
展开
-
Trie树——字典树
简介Trie树又称字典树(前缀树),常用在搜索场景下。用于判断一个词汇或者文本是否出现在已有的记录中。利用Trie树记录一个词表,判断文本中的词汇是否出现在词表中。这个应用中使用Trie树可以提高整体的检索效率。实现通常Tire树的实现需要完成三部分:Trie树中插入词汇从Trie树中检索词汇从Trie树中判断是否有给出的前缀字符串代码class Trie(object): def __init__(self): self.lookup = {} # 可以理解为是根节点 d原创 2021-10-10 18:49:24 · 271 阅读 · 0 评论 -
BERT源码embedding_lookup解析
use_one_hot_embeddings解析为什么使用onehot或者tf.gather方法BERT源码中构造模型时关于embedding的参数有一个为use_one_hot_embeddings。这个参数值为Boolean类型的值,且默认为False。具体的深层代码如下:def embedding_lookup(input_ids, vocab_size, embedding_size=128,原创 2021-06-15 22:42:50 · 771 阅读 · 4 评论 -
NLP系列文章(四)——文本的相似性度量
文本相似字面相似编辑距离最长公共子序列和最长公共子串Jaccard(杰卡德)相似度SimHash语义相似欧式距离和余弦相似度词移距离(WMD)DSSM文本相似一般是指的,某一文本doc1doc1doc1与另一文本doc2doc2doc2的相似程度。一般可以从两个方面去考察两个文本之间的相似程度:形似(字面相似)和神似(语义相似)。当然这两种相似性也不能够完全割裂开来,只不过可以认为字面相似的文本...原创 2020-04-26 14:11:53 · 3388 阅读 · 0 评论 -
文本语义相似度衡量方法——词移距离(Word Mover's Distance,WMD)
词移距离什么是词移距离如何解释词汇移动的距离呢为什么采用词移距离衡量文本相似度怎么算词移距离什么是词移距离词移距离(Word Mover’s Distance,WMD)顾名思义就是词汇移动的距离,它的提出本质上是用于衡量任意两个文本之间的语义相似度所提出的。当然从名字就可以了解到,它本身其实就是一个距离,本质上与欧氏距离和曼哈顿距离没有区别。同时,也符合距离越大相似度越低,距离越小相似度越高...原创 2020-04-24 10:50:42 · 2627 阅读 · 0 评论 -
文本向量的距离测度——欧氏距离、曼哈顿距离、余弦相似度
文本的常用距离测度欧氏距离曼哈顿距离曼哈顿距离和欧氏距离的区别余弦相似度余弦相似度和欧氏距离的区别在NLP中文本均会被表示为向量的形式,为了给出任何两个文本之间的相似程度,则可以利用各类的距离进行表示,其中最为著名的两种距离就是欧式距离和宇轩相似度,此外还有曼哈顿距离也被广泛使用。而这三个测度方式均是在欧式空间下进行的。本文以如下的两个向量作为例子进行具体的阐述: vec1=[x1,x2,x...原创 2020-04-23 16:36:49 · 3064 阅读 · 0 评论 -
Jaccard距离和海明距离
两种向量距离的测度Jaccard(杰卡德)相似度如何度量两个向量之间的Jaccard相似度?特点海明距离Jaccard(杰卡德)相似度Jaccard相似度常用于计算两个文本的字面相似度。将文本分为词的序列。两个文本中一样的词汇集合的个数为A,所有词汇构成的集合为B。最终用A除以B得到的结果就是Jaccard相似度。用一个例子来说明: 今天天气很好==>今天/天气/很好 今天天气...原创 2020-04-23 14:49:46 · 2000 阅读 · 0 评论 -
字面文本相似度算法——SimHash
SimHash什么是字面文本相似度?什么是SimHash?SimHash计算流程什么是字面文本相似度?在NLP领域如何判断两个文本的相似性是一个基础性的任务,而文本的相似性往往可以理解为两个方面:字面相似性和语义相似性。怎么理解这个内容呢?就比如说白龙马和赤兔马,乍一看,”WC,这不就是马么有啥区别?一个是白的一个是红的,也没啥!“,但是究其本质白龙马是龙啊,赤兔马就是一匹普通的坐骑。上面的...原创 2020-04-20 21:06:04 · 2227 阅读 · 0 评论 -
NLP系列文章(三)——文本向量的表示方法
文本向量的表示方法基于词向量的表示方法有监督文本表示方法基于词向量的表示方法虽然one-hot和TF-IDF的表示方式也成为词向量,但是我们这里讨论的基于词向量的表示方式是围绕分布式词表征进行的。也就是利用Word2Vec、GloVe和fastText等词向量对文本进行表示,词向量可以根据任务或者资源的不同随意选择,文本表示的方法是通用的。首先我们根据语料库训练词向量,也就是针对文本中的每个...原创 2020-04-20 15:51:13 · 3281 阅读 · 0 评论 -
NLP系列文章(二)——词袋模型
词袋模型BooleanVectorCountVectorTF-IDFN-gram词袋模型作为NLP领域内比较经典的文本表示思想,有很多不同的表示方法。BooleanVectorBooleanVector是基于布尔值与one-hot的思想而形成的。用一个词表大小的向量来表示文本,文本中出现的词汇在向量中对应的位置将其置为1。比如句子1的表示结果如下:BooleanVector(句子2) = ...原创 2020-04-17 19:50:35 · 516 阅读 · 0 评论 -
NLP系列文章(一)——字词的表示
字词的表示引言离散词表征分布式词表征引言中文自然语言处理的基本单位是字与词,同时可以将字词的表示视为文本表示的基础,广义上的文本表示包含字词的表示,我们这里讨论的文本指的是句子以及篇章的形式。文本中词汇的表示可以分为离散表示和分布式表示。离散词表征文本经过分词工具的处理后会生成词汇的序列,把所有的词汇集中到一起去重后就组成了当前语料库的词表。离散型表示法中最经典的就是独热编码(One-Ho...原创 2020-04-13 18:24:33 · 530 阅读 · 0 评论 -
doccano——NLP标注工具新秀
doccano是什么?安装是什么?GitHub链接地址:Heredoccano是一款NLP相关的标注工具,它能满足像序列标注问题和分类问题的标注。在深度学习和NLP中,数据其实比模型更重要。当你没有强大的数据标注团队时(科研狗,小作坊),数据标注往往是最耗时,最难啃的一块。古人云:工欲善其事必先利其器。好的标注工具能使得你的标注效率倍增,而且标注的准确性提高。安装要想使用如此强大的标...原创 2020-03-19 11:07:22 · 2312 阅读 · 1 评论 -
共指消解(一)
共指消解技术综述摘要重点引言基本概念共指消解的研究现状摘要重点共指消解旨在识别指向同一实体的不同表述共指消解是一个NP-Hard的问题共指消解的发展经历了基于规则、基于机器学习、基于全局最优化、基于知识库和基于深度学习的模型阶段引言共指消解(coreference resolution)技术同NER、RE。作为自然语言历届基础技术被广泛的应用于:文本摘要、机器翻译、自动问答和知识图...原创 2020-02-24 15:08:10 · 6620 阅读 · 0 评论 -
CS224N(2019)——Introduction and Word Vector(一)
第一课NLP自然语言处理的难点实际任务深度神经网络做自然语言处理的优势背景知识词向量WordNet离散词表征分布式词表征特点两种算法:两种训练技巧:词向量的评估方法:目标函数(loss function)NLP自然语言处理的难点一词多义上下文相关不守语法随着时间变化表达的意义信息量很大隐含常识实际任务搜索引擎文本分类机器翻译指代消解问答系统深度神经网络做自然语...原创 2019-11-12 21:25:34 · 296 阅读 · 0 评论 -
实体链接调研总结
实体链接什么是实体链接?实体链接的目前存在的问题实体链接的分类与流程实体链接从大类上可以分为两类:实体链接的流程:本文是针对中文实体链接的内容做简要概述,介绍实体链接的定义、目前的挑战和问题、一般的链接流程、现有的一些方法。什么是实体链接?实体链接(Entity Linking,EL)是指将自由文本中已识别的实体对象(例如:人名、地名、机构名等),无歧义的正确的指向知识库中目标实体的过程。...原创 2019-06-21 16:01:50 · 4802 阅读 · 0 评论 -
实体链接——《Entity Linking with a Knowledge Base Issues Techniques and Solutions》浅析
实体链接综述候选实体生成(Candidate Entity Generation)基于命名字典的技术实体页面重定向页面消歧页面首段加粗字段Wikipedia文章中的超链接从本地文档扩展表面的形式启发式方法监督学习的方式基于搜索引擎的方法候选实体排序(Candidate Entity Ranking)特征上下文独立特征1.名称字串比较2.实体流行度3.实体类别上下文相关特性1.文本上下文2. 实体映...原创 2019-06-21 16:02:28 · 5846 阅读 · 0 评论 -
NLPpaper精读(三)—— Attention Is All You Need
论文精读——TransformerAbstractIntroductiontransformer是一个颠覆式的创造,开启了NLP的新时代Abstract主流的序列模型都是采用CNN和RNN来构造的,此外较好的编解码器模型都会采用Attention机制。本文提出了一个简单的模型是Transformer,完全的基于注意力机制,而避免了使用CNN与RNN。Transformer提供了并行计算的...原创 2019-06-22 17:33:29 · 615 阅读 · 0 评论 -
NLP paper精读(五)——Efficient Estimation of Word Representations in Vector Space
词向量AbstractIntroductionGoals of the PaperPrevious WorkModel ArchitecturesFeedforward Neural Net Language Model(NNLM)Recurrent Neural Net Language Model (RNNLM)Parallel Training of Neural Networks本篇论文...原创 2019-07-04 22:07:49 · 1029 阅读 · 0 评论 -
NLP paper精读(六)——Bag of Tricks for Efficient Text Classification
fastTextAbstractIntroductionModel architectureHierarchical softmaxN-gram featuresExperimentDiscussion and conclusion一点思考ReferenceAbstract本文提出了一种简单高效的文本分类基线方法——fastText。实验表明效果与神经网络分类器相同的情况下,fastText的...原创 2019-07-17 22:48:04 · 511 阅读 · 0 评论 -
NLP进阶之路——CS224n(一)
NLP绪论什么是自然语言处理?NLP的层次NLP的应用人类语言的特殊之处什么是深度学习为什么NLP很难?NLP语义层面的表示Reference什么是自然语言处理?自然语言处理(NLP natural language processing)是一门计算机科学、人工智能和语言学的交叉学科。是人工智能领域的重要分支!人工智能有机器视觉、语音识别、和NLP。自然界拥有视觉的生物有很多,但是拥有高级语...原创 2019-06-13 20:51:22 · 570 阅读 · 0 评论