Tokenizer

Extracting, transforming and selecting features

让人想犯罪 __ 提交于 2021-02-17 17:59:38
This section covers algorithms for working with features, roughly divided into these groups 本节介绍使用功能的算法,大致分为以下几组: 提取: 从数据中抽取特征。 转变: Scaling, converting, or modifying features 选择: 在多个特征中挑选比较重要的特征。 局部敏感哈希(LSH): 这类算法将特征变换的各个方面与其他算法结合起来。 Table of Contents Feature Extractors 特征提取 TF-IDF Word2Vec CountVectorizer Feature Transformers 特征变换 Tokenizer 分词器 StopWordsRemover 停用字清除 n n -gram Binarizer 二元化方法 PCA 主成成分分析 PolynomialExpansion 多项式扩展 Discrete Cosine Transform (DCT-离散余弦变换) StringIndexer 字符串-索引变换 IndexToString 索引-字符串变换 OneHotEncoder 独热编码 VectorIndexer 向量类型索引化 Interaction Normalizer 范数p-norm规范化

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

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

JS | 教练,我想做习题1

痞子三分冷 提交于 2021-01-24 20:54:49
🚀 前言 大家好呀,我是毛小悠,可以叫我二毛,在家中排行老二,是一名前端开发工程师。 本系列文章旨在通过练习来提高JavaScript的能力,一起愉快的做题吧。😀😀😀 以下每道题,二毛我都有尝试做一遍。建议限时训练,比如限定为半小时,如果半小时内想不出来,可以结合文章末尾的参考答案来思考。 可以在下方评论区留言或者加我的微信:code_maomao。期待你的到来。 求关注求点赞 👍~~~😘😘😘 📖 题目1:有效括号 编写一个函数,该函数带有一个括号字符串,并确定括号的顺序是否有效。如果字符串有效,则该函数应返回true;如果无效,则返回false。 例子 "()" => true ")(()))" => false "(" => false "(())((()())())" => true 约束条件 0 <=input.length<= 100 习题代码 function validParentheses(parens){ //TODO } 📖 题目2:简单的猪拉丁 将每个单词的第一个字母移到单词的末尾,然后在单词的末尾添加“ ay”。标点符号保持不变。 例子 pigIt('Pig latin is cool'); // igPay atinlay siay oolcay pigIt('Hello world !'); // elloHay orldway ! 习题代码

首次学习BERT的pytroch中遇到的问题-句子特征提取

旧城冷巷雨未停 提交于 2021-01-06 06:07:29
参考链接: https://blog.csdn.net/weixin_41519463/article/details/100863313 import torch import torch.nn as nn from pytorch_transformers import BertModel, BertConfig,BertTokenizer # 使用gpu device0 = torch.device( " cuda " if torch.cuda.is_available() else " cpu " ) # 输入处理 tokenizer = BertTokenizer.from_pretrained( ' bert-base-uncased ' ) # 从预训练模型中加载tokenizer # text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"#开始结束标记 # tokenized_text = tokenizer.tokenize(text) #用tokenizer对句子分词 # indexed_tokens = tokenizer.convert_tokens_to_ids(tokenized_text)#词在预训练词表中的索引列表 # segments_ids = [0,

ES系列六、ES字段类型及ES内置analyzer分析

前提是你 提交于 2020-12-27 05:55:40
一、背景知识 在Es中,字段的类型很关键: 在索引的时候,如果字段第一次出现,会自动识别某个类型,这种规则之前已经讲过了。 那么如果一个字段已经存在了,并且设置为某个类型。再来一条数据,字段的数据不与当前的类型相符,就会出现字段冲突的问题。如果发生了冲突,在2.x版本会自动拒绝。 如果自动映射无法满足需求,就需要使用者自己来设置映射类型,因此,就需要使用者了解ES中的类型。 下面就步入正题吧! 二、字段中的索引和存储 其中需要说明的是: 1.index定义字段的分析类型以及检索方式 如果是no,则无法通过检索查询到该字段; 如果设置为not_analyzed则会将整个字段存储为关键词,常用于汉字短语、邮箱等复杂的字符串; 如果设置为analyzed则将会通过默认的standard分析器进行分析, 详细的分析规则参考这里 2.store定义了字段是否存储 在《ES IN ACTION》中有这样一段描述: This might be useful when you ask Elasticsearch for a particular field because retrieving a single stored field will be faster than retrieving the entire _source and extracting that field from

用Siamese和Dual BERT来做多源文本分类

丶灬走出姿态 提交于 2020-12-19 06:56:49
点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者: Marco Cerliani 编译:ronghuaiyang 正文共:2062 字 10 图 预计阅读时间:6 分钟 导读 使用不同的方式来使用BERT模型 。 在NLP中不断的研究产生了各种各样的预训练模型。对于各种任务,例如文本分类、无监督主题建模和问题回答等,不断的在刷新业界最佳。其中,最伟大的发现之一是在神经网络结构中采用了注意力机制。这种技术是所有称为 transformers 的网络的基础。他们应用注意力机制来提取关于给定单词上下文的信息,然后将其编码到一个学习到的向量中。 作为数据科学家,我们可以调用很多transformers架构,并使用它们对我们的任务进行预测或微调。在这篇文章中,我们喜欢读经典的BERT,但是同样的推理也适用于其他所有的transformer结构。 我们使用了siamese结构,这是一个双路BERT ,用于多文本输入的分类。 数据 我们从Kaggle上收集数据集。新闻类别数据集:https://www.kaggle.com/rmisra/news-category-dataset包含从HuffPost上获得的2012年至2018年的约20万条新闻标题。我们需要根据两种不同的文本来源对新闻文章进行分类:标题和简介。我们总共有40多种不同类型的新闻。为了简单起见

也来玩玩目前最大的中文GPT2模型(bert4keras)

断了今生、忘了曾经 提交于 2020-11-27 20:50:27
©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP、神经网络 相信不少读者这几天都看到了清华大学与智源人工智能研究院一起搞的“清源计划”(相关链接 《中文版GPT-3来了?智源研究院发布清源 CPM —— 以中文为核心的大规模预训练模型》 ),里边开源了目前最大的中文 GPT2 模型 CPM-LM(26 亿参数),据说未来还会开源 200 亿甚至 1000 亿参数的模型,要打造“中文界的 GPT3”。 ▲ 官方给出的CPM-LM的Few Shot效果演示图 我们知道,GPT3 不需要 finetune 就可以实现 Few Shot,而目前 CPM-LM 的演示例子中,Few Shot 的效果也是相当不错的,让人跃跃欲试,笔者也不例外。既然要尝试,肯定要将它适配到自己的 bert4keras 中才顺手,于是适配工作便开始了。本以为这是一件很轻松的事情,谁知道踩坑踩了快 3 天才把它搞好,在此把踩坑与测试的过程稍微记录一下。 模型介绍 该计划发布的第一个模型称为 CPM-LM,参数大约为 26 亿,预训练中文数据规模 100GB,是一个单向的语言模型,其他细节大家自行到下面的链接阅读就好。这么大的参数量,一般我们都是直接使用而不考虑去 finetune 它的了,它所具备的能力就是无条件地随机生成文本,当然我们也可以实现给它一些引导,然后用它来实现文本续写

每天调用达80亿次的小米MiNLP平台,近期又开源了中文分词功能

强颜欢笑 提交于 2020-11-24 07:59:04
近日,小米开源了其自然语言处理平台 MiNLP 的中文分词功能,具备分词效果好、轻量级、词典可定制、多粒度切分以及调用更便捷等特点。 机器之心报道,作者:陈萍。 在自然语言处理任务中,除了模型之外,底层的数据处理也是非常重要的。在语料预处理阶段,分词作为其中一个环节,其作用也是非常重要,但也受不同语言的限制,因而采取的方法有所不同,如中文和英文。 中文分词是将一个汉字序列进行切分,得到一个个单独的词,如「我住在朝阳区」,分词后的结果为「我 / 住在 / 朝阳区」。如果分词效果不好的话,可能会出现其他情况,比较极端的结果是全部分错「我住 / 在朝 / 阳区」。分词效果好不好对信息检索、实验结果影响很大,同时分词的背后涉及各种各样的算法实现。 就中、英文而言,中文分词与英文分词有很大的不同,对英文而言,词与词之间都有空格隔开,一个单词就是一个词,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,需要人为切分。 现阶段也出现了很多分词算法:如基于规则的、基于统计的等,也有一些比较好的分词工具如 jieba、Hanlp、THULAC 等。此外还存在着一些在线分词工具,其分词效果也不错。 国内一些科技大厂也早早投入到自然语言处理相关领域,如百度 NLP、阿里云 NLP 等。就在近日,小米 AI 实验室 NLP 团队开发的小米自然语言处理平台 MiNLP 现已开源了中文分词功能。

SpringBoot 整合ES

限于喜欢 提交于 2020-11-19 11:50:46
1, pom文件 <dependency> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-data-elasticsearch </artifactId> </dependency> 2,实体类 ES 存储的实体类 package com.jtl.alarm.repository.entity ; import com.fasterxml.jackson.annotation. JsonFormat ; import com.jtl.alarm.dto.ESAlarmDataDTO ; import com.jtl.device.service.dto.RealTimeDto ; import lombok. Data ; import org.springframework.data.elasticsearch.annotations.* ; import javax.persistence. Id ; import java.io.Serializable ; import java.util.Date ; import java.util.List ; /** * @ProjectName: 20200601 * @Package: com.jtl.alarm

ES更改参数max_result_window

耗尽温柔 提交于 2020-11-15 19:15:18
今天开发那边说翻页超过10000报错。早上来查阅官网手册,说from/size默认是10000。通过参数index.max_result_window进行控制。那么直接改这个参数即可。 1、先看看默认配置 curl -XGET 10.46 . 2.100 : 9200 /carnoc_jobapply/_settings { " carnoc_jobapply " : { " settings " : { " index " : { " number_of_shards " : " 1 " , " provided_name " : " carnoc_jobapply " , " creation_date " : " 1554089572018 " , " analysis " : { " ik " : { " tokenizer " : " ik_max_word " } }, " number_of_replicas " : " 1 " , " uuid " : " ccF77NAHTfiec5-ugvZPfA " , " version " : { " created " : " 6010299 " } } } } } 没有具体的值,采用的是默认的参数值10000。 2、进行更改参数 curl -XPUT 10.46 . 2.100 : 9200 /carnoc