Tokenizer

keras 文本分类 LSTM

随声附和 提交于 2020-11-13 06:27:35
首先,对需要导入的库进行导入,读入数据后,用jieba来进行中文分词 # encoding: utf-8 #载入接下来分析用的库 import pandas as pd import numpy as np import xgboost as xgb from tqdm import tqdm from sklearn.svm import SVC from keras.models import Sequential from keras.layers.recurrent import LSTM, GRU from keras.layers.core import Dense, Activation, Dropout from keras.layers.embeddings import Embedding from keras.layers.normalization import BatchNormalization from keras.utils import np_utils from sklearn import preprocessing, decomposition, model_selection, metrics, pipeline from sklearn.model_selection import GridSearchCV from sklearn

ES[7.6.x]学习笔记(六)分析器

[亡魂溺海] 提交于 2020-10-31 13:52:29
在前面的章节中,我们给大家介绍了索引中的映射类型,也就是每一个字段都有一个类型,比如:long,text,date等。这和我们的数据库非常的相似,那么它的不同之处是什么呢?对了,就是全文索引,在ES当中, 只有text类型的字段才会用的全文索引, 那么这里就会引出ES中一个非常重要的概念, 文本分析器(Text analysis) 。 分析器使ES支持全文索引,搜索的结果是和你搜索的内容相关的,而不是你搜索内容的确切匹配。我们用ES官网中的例子给大家举例,假如你在搜索框中输入的内容是 Quick fox jumps ,你想得到的结果是 A quick brown fox jumps over the lazy dog ,或者结果中包含这样的词 fast fox 或 foxes leap 。 分析器之所以能够使搜索支持全文索引,都是因为有 分词器(tokenization) ,它可以将一句话、一篇文章切分成不同的词语,每个词语都是独立的。假如你在ES索引中添加了一条记录 the quick brown fox jumps ,而用户搜索时输入的内容是 quick fox ,并没有完全匹配的内容,但是因为有了分词器,你索引的内容被切分成了不同的、独立的词,用户搜索的内容也会进行相应的切分,所以用户搜索的内容虽然没有完全匹配,但也能够搜索到想要的内容。 分析器除了要做分词,还要做 归一化

TensorFlow开发者证书 中文手册

帅比萌擦擦* 提交于 2020-10-24 12:25:37
经过一个月的准备,终于通过了TensorFlow的开发者认证,由于官方的中文文档较少,为了方便大家了解这个考试,同时分享自己的备考经验,让大家少踩坑,我整理并制作了这个中文手册,请大家多多指正,有任何问题和建议都可以在文末联系到我~ 同时,感谢各位大牛们期间对我的帮助和指导! ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 考试流程 TensorFlow Certificate 官方网站: https://tensorflow.google.cn/certificate?hl=vi 1. 阅读考生手册 提前阅读最新的考生手册,官方文档 TF_Certificate_Candidate_Handbook 的下载地址如下: https://tensorflow.google.cn/site-assets/downloads/marketing/cert/TF_Certificate_Candidate_Handbook.pdf 考试细节 考核目的 本次测试是为了考核学员应用 TensorFlow 2.x 构建模型

Embedding

独自空忆成欢 提交于 2020-10-04 03:59:43
Embedding的含义 根据tf.keras.layers.Embedding的解释 是将正整数转换为固定长度的连续向量,它和one-hot编码的作用类似,都是对数据字符数值进行编码。 不同之处是,embedding是将一个单纯的数值转换成一个长度唯一的概率分布向量,再避免one-hot编码产生的特征稀疏性问题的同时,也能增加特征的描述。 需要注意的是,当embedding进行神经网络构建时,embedding层必须作为第一层对输入数据进行embedding处理。其配置的参数如下 input_dim: 配置字典的长度。embedding 是针对词频字典中的索引进行处理的,因此需要配置字典的长度。 output_dim: 配置神经网络层输出的维度。 embeddings_initializer: 配置embedding 矩阵的初始化 embeddings_regularizer: 配置embedding 矩阵的正则化方程 embedding_constraint: 配置embedding 的约束函数 mask_zero: 配置"0"是否为Padding的值,如果配置为True, 则将所有的"0"去掉 input_length: 配置输入语句的长度,将不足长度的用0填充。 其中 input_dim 和 output_dim必须指定 当时,我看这个解释还是比较懵逼。 举个小例子吧

NLPchina / elasticsearch-analysis-ansj

左心房为你撑大大i 提交于 2020-08-17 03:41:43
前言 这是一个elasticsearch的中文分词插件,基于ansj,感谢群内热心的朋友。 并宣传一下我们的群QQ211682609 版本对应 plugin elasticsearch 1.0.0 0.90.2 1.x 1.x 2.1.1 2.1.1 2.3.1 2.3.1 2.3.2 2.3.2 2.3.3 2.3.3 2.3.4 2.3.4 2.3.5 2.3.5 2.4.0 2.4.0 2.4.1 2.4.1 2.4.2 2.4.2 2.4.3 2.4.3 2.4.4 2.4.4 2.4.5 2.4.5 2.4.6 2.4.6 5.0.0 5.0.0 5.0.1 5.0.1 5.0.2 5.0.2 5.1.1 5.1.1 5.1.2 5.1.2 5.2.0 5.2.0 5.2.1 5.2.1 5.2.2 5.2.2 5.3.0 5.3.0 5.3.1 5.3.1 5.3.2 5.3.2 5.3.3 5.3.3 5.4.0 5.4.0 5.4.1 5.4.1 5.4.2 5.4.2 5.4.3 5.4.3 5.5.0 5.5.0 5.5.1 5.5.1 5.5.2 5.5.2 5.5.3 5.5.3 5.6.0 5.6.0 5.6.1 5.6.1 5.6.2 5.6.2 5.6.3 5.6.3 5.6.4 5.6.4 5.6.5 5.6.5 5.6.6 5.6.6 5.6.7

Elasticsearch-分析器

China☆狼群 提交于 2020-08-16 04:48:21
1.注册分析器 nalyzer 、 tokenizer 、 filter 可以在elasticsearch.yml 配置 index : analysis : analyzer : standard : type: standard stopwords : [stop1, stop2] myAnalyzer1 : type: standard stopwords : [stop1, stop2, stop3] max_token_length : 500 myAnalyzer2 : tokenizer : standard filter : [standard, lowercase, stop] tokenizer : myTokenizer1 : type: standard max_token_length : 900 myTokenizer2 : type: keyword buffer_size : 512 filter : myTokenFilter1 : type: stop stopwords : [stop1, stop2, stop3, stop4] myTokenFilter2 : type: length min : 0 max : 2000 analyzer:ES内置若干analyzer, 另外还可以用内置的 character filter ,

如果宁静是 Oracle,万茜、张雨绮、黄圣依是什么?

不问归期 提交于 2020-08-12 05:16:40
作者 | 程序员小浩 来源 | 小浩算法 责编 | 王晓曼 头图 | 下载自东方IC 和姐姐们浪起来~ 嗯!这两天在看乘风破浪的姐姐(被逼)。好吧,其实我自己也看进去了。于是就有这样一个奇思妙想,如果把姐姐们比作计算机领域的技术 or 工具,会是怎么样?于是自己就 yy 了一番。 宁静:Oracle,宁静以致远,江湖地位犹在。在大型企业里,通常拥有庞大的资金能力,所以它们会选择用钱购买解决方案,而不是自己雇佣人员使用 MySQL 去维护。在姐姐中,每人都有一个采访视频。主持人问现在圈内艺人分为一线,二线和三线,你觉得自己是几线?这个问题很犀利,大多数人可能会谦虚一番,宁静直言:我一直是一线。将静姐比作 Oracle,当仁不让。 张雨绮:PHP,宇宙第一强无敌,舍我其谁。袁隆平曾经感慨:我这辈子最大的遗憾,就是让你们吃饱了撑着。于是,由于 PHP 入门门槛低,上手快,被吃瓜群众公认为语言界的 TOP1。而我们绮绮子,就更牛逼了,整个一个铁憨憨。 不过其实呢,绮绮子傻大姐,这次真的改变了我之前对其的印象(额,不对,我好像之前都没印象,毕竟我不咋看综艺)。虽说智商偶尔不在线,但她自己给自己创造一个世界,内心清晰而明朗。如同 PHP,内里乾坤,我自知。 万茜:Python,姐姐们的团宠。在一堆美女中,她像个帅气的男孩子,让每个姐姐感觉不到压力和竞争。不管你司是传统开发,大数据

使用BERT模型生成token级向量

拥有回忆 提交于 2020-08-11 00:58:36
本文默认读者有一定的Transformer基础,如果没有,请先稍作学习Transormer以及BERT。 相信网上有很多方法可以生成BERT向量,最有代表性的一个就是bert as service,用几行代码就可以生成向量,但是这样生成的是句向量,也就是说,正确的做法是输入一句句子: 我是一个中国人,我热爱着中国的每一个城市。 输出的是这句句子的向量,一个768维的向量(google预训练是这么做的),这个向量是具有上下文信息的,详细参考Transformer结构。但是网上有一些做法是用bert as service来生成词级向量,例如输入[‘我’,‘是’,‘一个’, ‘中国’, ‘人’],得到5个768维的向量,用来作为词向量,但这样做是错误的!具体原因参照我前面的描述,既然思想是错误的,也就不奇怪效果不好了,所以在这种情况下,请先别着急说BERT预训练模型不work。 BERT生成token级别的向量,这两篇文章理解的比较准确(我的代码有一部分参考第二篇博客): https://blog.csdn.net/u012526436/article/details/87697242 https://blog.csdn.net/shine19930820/article/details/85730536 为什么说是token级别的向量呢

【漫画】ES原理 必知必会的倒排索引和分词

回眸只為那壹抹淺笑 提交于 2020-08-09 20:10:51
倒排索引的初衷 倒排索引,它也是索引。索引,初衷都是为了快速检索到你要的数据。 我相信你一定知道mysql的索引,如果对某一个字段加了索引,一般来说查询该字段速度是可以有显著的提升。 每种数据库都有自己要解决的问题(或者说擅长的领域),对应的就有自己的数据结构,而不同的使用场景和数据结构,需要用不同的索引,才能起到最大化加快查询的目的。 对 Mysql 来说,是 B+ 树,对 Elasticsearch/Lucene 来说,是倒排索引。 倒排索引是什么 刚刚胖滚猪说到图书的例子,目录和索引页,其实就很形象的可以比喻为正排索引和倒排索引。为了进一步加深理解,再看看熟悉的搜索引擎。没有搜索引擎时,我们只能直接输入一个网址,然后获取网站内容,这时我们的行为是document -> words。此谓「正向索引」。后来,我们希望能够输入一个单词,找到含有这个单词,或者和这个单词有关系的文章,即word -> documents。于是我们把这种索引,叫「反向索引」,或者「倒排索引」。 好了,我们来总结一下: 倒排索引的实现 假如一篇文章当中,有这么一段话"胖滚猪编程让你收获快乐",我要通过"胖滚猪"这个词来搜索到这篇文章,那么应该如何实现呢。 我们是很容易想到,可以将这篇文章的词都拆开,拆分为"胖滚猪"、"编程"、"收获"、"快乐"。注意我们把没用的词,比如"让"去掉了

用于多文本分类的孪生和双 BERT

爷,独闯天下 提交于 2020-08-07 21:26:41
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 本文介绍了在模型中插入 Transformer 的不同方法。 人们对自然语言处理的不断研究催生了各种预训练模型的发展。在各种任务(如文本分类、无监督的主题建模和问题解答等)的最新结果方面,通常都有越来越多的改进,这是一个典型的现象。 最大的发现之一是在神经网络架构中采用了注意力机制(attention mechanics)。这种技术是所有称为 Transformer 的网络的基础。它们应用注意力机制来提取关于给定单词上下文的信息,然后将其编码到学习向量中。 作为数据科学家,我们可以产生并使用许多 Transformer 架构来对我们的任务进行预测或微调。在本文中,我们尽情享受经典的 BERT,但同样的推理也可以应用到其他所有的 Transformer 架构中。我们的研究范围是在双(dual)架构和孪生(siamese)架构中使用 BERT,而不是将其作为多文本输入分类的单一特征提取器。 数据 我们从 Kaggle 收集了一个数据集: News Category Dataset (新闻分类数据),它包含了 2012 年到 2018 年从 HuffPost 获得的大约 20 万条新闻标题。我们的范围是根据两种不同的文本来源对新闻文章进行分类:标题和简短描述。总共有 40