NLP
Little Coder
向往美好生活的程序员
展开
-
利用Gensim 的Word2Vec训练词向量
最近一直在折腾词向量的训练,之前是用HanLP来训练,不过这个框架的文件训练输入只能是单个文件,而我的需要求要输入一个文件路径,会进行递归的查询文件去加载,遗憾的是看了HanLp的源码之后发现并不行,他就没有考虑路径的问题,直接是读取文件了。因为公司有这个需求,我们的语料是按照表/年/月/日/id.txt这种格式保存的,因为这个语料是长期保存的,这是公司的硬性需求,所以就只能转向用gensim去训...原创 2018-05-11 14:58:24 · 8540 阅读 · 2 评论 -
BM25 文本相似度算法
BM25, 下一代的TF-IDF新版的lucence不再把TF-IDF作为默认的相关性算法,而是采用了BM25(BM是Best Matching的意思)。BM25是基于TF-IDF并做了改进的算法。BM25算法,通常用来作搜索相关性评分。一句话概况其主要思想:对Query进行语素解析,生成语素qi;然后,对于每个搜索结果D,计算每个语素qi与D的相关性得分,最后,将qi相对于D的相关性得分进...原创 2019-07-11 13:32:30 · 5068 阅读 · 0 评论 -
NLP之BERT分类模型部署提供服务
在我们使用bert预分类模型微调之后(可以参考我前面写的文章),需要对项目进行支持,那就需要分类模型落地提供服务,这篇文章介绍python调用bert模型,提供服务。参考:https://github.com/xmxoxo/BERT-train2deploy1、转换模型在训练bert模型之后会得到一个output文件夹,里面是tf的checkout文件,模型是.ckpt的文件格式,文件比较大...原创 2019-06-27 11:09:16 · 7509 阅读 · 18 评论 -
NLP之BERT中文文本分类超详细教程
bert模型是Google在2018年10月发布的语言表示模型,Bert在NLP领域横扫了11项任务的最优结果,可以说是现今最近NLP中最重要的突破。Bert模型的全称是Bidirectional Encoder Representations from Transformers,是通过训练Masked Language Model和预测下一句任务得到的模型。关于Bert具体训练的细节和更多的原...原创 2019-04-24 14:38:35 · 56334 阅读 · 82 评论 -
使用余弦相似度算法计算文本相似度
在求相似度的时候经常会有以下一些方法,1.基于词向量余弦相似度曼哈顿距离欧几里得距离明式距离(是前两种距离测度的推广),在极限情况下的距离是切比雪夫距离2.基于字符的编辑距离simhash共有字符数(有点类似 onehot 编码 ,直接统计两个文本的共有字符数,最 naive 的相似度算法了)3.基于概率统计的杰卡德相似系数4.基于词嵌入模型的word2ve...原创 2019-04-09 09:19:35 · 16272 阅读 · 2 评论 -
HanLP无法动态加载停用词,无法重载停用词的自定义处理
在使用HanLP框架的过程中,发现其内置的CoreStopWordDictionary类只有删除、添加方法,没有动态的重载。而项目的需求确实可以动态加载,用他内置的方法去全删掉,然后一个个添加,在直观上感觉没有那么优美。。。所以准备重新写一个服务在做停用词的加载。新建服务类:CoreStopwordService首先,HanLP的停用词记载是从其资源包中的stopword.txt下读取的数...原创 2018-12-24 14:17:52 · 3238 阅读 · 1 评论 -
ArangoDB的ASL的常用操作
arangodb 的 AQL的简单 CURD 操作https://www.arangodb.org/3.3/AQL/ 阅读笔记1、插入数据单条插入INSERT { "name": "Ned", "surname": "Stark", "alive": true, "age": 41, "traits": [&quo原创 2018-12-01 15:21:59 · 1779 阅读 · 0 评论 -
TensorFlow之tf.keras的基础分类
这段时间在学习TensorFlow,这些都是一些官网上的例子,在这里和大家分享记录一下。出自:https://www.tensorflow.org/tutorials/keras/basic_classification本指南训练神经网络模型,对运动鞋和衬衫等服装图像进行分类。如果您不了解所有细节,这是可以的,这是一个完整的TensorFlow程序的快节奏概述,详细解释了我们的细节。本指...原创 2018-09-18 17:16:23 · 13673 阅读 · 4 评论 -
NLP关键字提取之TF-IDF算法
最近在看关键字提取的算法,之前看了hanlp的textrank算法,今天看了下tf-idf算法,这两个算法都比较简单,优缺点也很明显,主要都是通过词频来统计的。这个算法主要是参考了TF-IDF与余弦相似性的应用(一):自动提取关键词有一篇很长的文章,我要用计算机提取它的关键词(Automatic Keyphrase extraction),完全不加以人工干预,请问怎样才能正确做到?这个问题...原创 2018-09-13 11:20:40 · 21199 阅读 · 2 评论 -
NLP关键字提取之TextRank算法
今天看了一下HanLP框架的关键字提取的算法,总的来说很简单,就是互相计算词频的一个算法。谈起自动摘要算法,常见的并且最易实现的当属TF-IDF,但是感觉TF-IDF效果一般,不如TextRank好。TextRank是在Google的PageRank算法启发下,针对文本里的句子设计的权重算法,目标是自动摘要。它利用投票的原理,让每一个单词给它的邻居(术语称窗口)投赞成票,票的权重取...原创 2018-09-06 14:26:53 · 2778 阅读 · 0 评论 -
Fasttext文本分类
Fasttext文本分类一、简介1、简介fasttext是facebook开源的一个词向量与文本分类工具,在2016年开源,典型应用场景是“带监督的文本分类问题”。提供简单而高效的文本分类和表征学习的方法,性能比肩深度学习而且速度更快。fastText结合了自然语言处理和机器学习中最成功的理念。这些包括了使用词袋以及n-gram袋表征语句,还有使用子字(subword)信息...原创 2018-08-31 14:05:36 · 5931 阅读 · 11 评论 -
HMM隐马尔可夫模型与viterbi维特比算法
隐马尔可夫模型(Hidden Markov model,HMM)属于生成式模型,被广泛用于序列标注问题,在语音语言领域里比较出名的应用包括语音识别、中文分词(CWS)、词性标注(POS)等等。HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,举一个经典的例子: 一个东京的朋友每天根据天气{下雨,天晴}决定当天的活动{公园散步,购物,清理房间}中的一种,我每天只能在twitter上看到她发...原创 2018-07-26 13:47:08 · 2328 阅读 · 2 评论 -
PageRank算法
知道PageRank算法,其实是先知道TextRank算法,发现其是由PageRank算法演变而来,之前了解过,现在又回顾记忆一下。PageRank概述佩奇排名(PageRank),又称网页排名、谷歌左侧排名、PR,是Google公司所使用的对其搜索引擎搜索结果中的网页进行排名的一种算法。 佩奇排名本质上是一种以网页之间的超链接个数和质量作为主要因素粗略地分析网页的重要性的算法。目前很多重要的...原创 2019-10-11 09:22:44 · 747 阅读 · 0 评论