1、概述 词向量是自然语言分词在词空间中的表示,词之间的距离代表了分词之间的相似性,我们可以使用gensim,tensorflow等框架非常方便的来实现词向量。但词向量在词空间的分布到底是什么样的,如何更好的理解词向量是一个非常重要的问题。本文将使用tensorbord以及相关的降维技术在三维空间中模拟词向量在高维空间的分布。 2、训练词向量 词向量的训练是一个无监督的学习过程,这并不是本文讨论的重点。这里只是简单描述一下基本理论。词的表述有两种基本方法: one-hot表示方法 词向量表示方法 One hot 用…

2018年8月16日 0条评论 10点热度 阅读全文

一、CNN文本分类简介 文本分类是NLP领域的一个重要子任务,文本分类的目标是自动的将文本打上已经定义好的标签,常见的文本分类任务有: 用户评论的情感识别 垃圾邮件过滤 用户查询意图识别 新闻分类 由此看出文本分类的用途十分之广,包括知识图谱领域的关系抽取任务也是使用文本分类实现的。 有很多经典的统计学习方法可以用来做文本分类,比如SVM,LR,MaxEnt等等。这些方法的一般流程是标注数据、特征工程、模型训练、模型预测。有过相关经验的同学应该知道,这里最耗费时间的过程应该就是特征工程。这里特征通常有词法特征、语法…

2018年7月31日 0条评论 12点热度 阅读全文

传送:基于Hierarchical Softmax的word2vec模型原理            基于Negative Sampling的word2vec模型原理 一、基本概念准备 稀疏向量(one-hot representation):用一个很长的向量来表示一个词,向量的长度为词典大小N,向量的分量只有一个1,其他全为0,1的位置对应该词在词典中的索引。举例如果有一个词典[“面条”,”方便面”,”狮子”],那么“面条”对应的词向量就是[1,0,0],…

2018年7月26日 0条评论 11点热度 阅读全文

图 图是很常见的一种结构了,不管是数据结构算法中的各种图结构,还是机器学习中的概率图。图主要是由若干顶点及连接两顶点的边所构成的图形,通过它可以用来描述某些事物之间的某种特定关系。 有向无环图 有向无环图,即 Directed Acyclic Graph,属于有向图,图结构中不存在环,可用来表示事件之间依赖关系。 Trie树 Trie 是一种搜索树,它的 key 都为字符串,通过 key 可以找到 value。能做到高效查询和插入,时间复杂度为O(k),缺点是耗内存。它的核心思想就是减少没必要的字符比较,使查询高效…

2018年7月19日 0条评论 37点热度 阅读全文

前言 经常会遇到一类需求,在一段字符串中查找所有能匹配上的模式,比如查找一段文字匹配上字典中哪些短语。这时为了高效处理,就会考虑 AC 自动机,即 Aho-Corasick 自动机算法。它的核心思想是通过有限自动机巧妙地将字符比较转化为了状态转移。 通过 AC 自动机能做到匹配时不需要回溯,而且时间复杂度为 O(n),即时间复杂度与词典的规模无关。 暴力匹配 暴力匹配就是一个一个比较,将模式串从头到尾匹配主串字符串,如下图模式串”ABCE”比较主串,一旦遇到不相同的则往后移以为,重新开始比较,直到比对完主串,接着第…

2018年7月9日 0条评论 18点热度 阅读全文

语音识别 参考:《中文信息处理发展报告2016》 什么是语音识别? 语音识别(Automatic Speech Recognition,ASR):利用计算机实现从语音到文字自动转换的任务。 语音识别的技术有哪些? 语音识别技术 = 早期基于信号处理和模式识别 + 机器学习 + 深度学习 + 数值分析+ 高性能计算 + 自然语言处理 语音识别技术的发展可以说是有一定的历史背景,上世纪80年代,语音识别研究的重点已经开始逐渐转向大词汇量、非特定人连续语音识别。到了90年代以后,语音识别并没有什么重大突破,直到大数据与 …

2018年6月13日 0条评论 13点热度 阅读全文

前言 目前做分词比较流行的是用深度学习来做,比如用循环神经网络和条件随机场,也有直接用条件随机场或隐马尔科夫模型的。前面也实现过上面几种,效果挺不错,基于隐马尔科夫模型的差一点,条件随机场的效果较好,而加入深度学习的效果最好。 而最最传统的分词做法很多都是基于字典的,然后通过最大匹配法匹配,效果比较一般。效果虽然一般,但我们还是看下怎么实现的吧。 Trie树结构 Trie 是一种搜索树,它的 key 都为字符串,通过 key 可以找到 value。能做到高效查询和插入,时间复杂度为O(k),缺点是耗内存。它的核心思…

2018年6月6日 0条评论 25点热度 阅读全文

词向量 词向量,顾名思义,就是把一个单词或词语表示成一个向量的形式,这是因为在计算机中无法直接处理自然语言,需要把它转化为机器能够理解的语言,比如数值等。最简单的方式是把一个个单词表示成one-hot的形式。例如有三个句子: 我/喜欢/小狗/喜欢/喝咖啡 我/不喜欢/喝咖啡 你/喜欢/什么/东西 词汇表为: 我、你、喜欢、不喜欢、小狗、喝咖啡、什么、东西 然后对每一个词做one-hot编码: “我”就是[1,0,0,0,0,0,0,0] “你”就是[0,1,0,0,0,0,0,0] 等等。 则对于每一个句子的表示为…

2017年12月31日 0条评论 15点热度 阅读全文

A Neural Probabilistic Language Model 神经概率语言模型 原论文地址: http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf 作者: Yoshua Bengio Rejean Ducharme Pascal Vincent Chiristian Jauvin 摘要 统计语言模型的目标是学习一种语言中词序列的联合概率函数,但是由于维数灾难的问题让这变得困难:在这个模型上,一个词序列会被测试为与之前训练中出现的所有词序列…

2017年8月22日 0条评论 9点热度 阅读全文

A Neural Probabilistic Language Model 神经概率语言模型 原论文地址: http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf 作者: Yoshua Bengio Rejean Ducharme Pascal Vincent Chiristian Jauvin 摘要 统计语言模型的目标是学习一种语言中词序列的联合概率函数,但是由于维数灾难的问题让这变得困难:在这个模型上,一个词序列会被测试为与之前训练中出现的所有词序列…

2017年8月22日 0条评论 12点热度 阅读全文
1345672000