Perkins4j2的技术博客

一个人,一根烧火棍,面对整个世界.


  • 首页

  • 标签91

  • 分类8

  • 归档123

  • 搜索

FastText介绍

发表于 2020-01-09
本文字数: 3.1k | 阅读时长 ≈ 3 分钟

FastText

简介

FastText是Facebook研究团队创建的一个库,用于高效计算word representation和执行文本分类,可以在几秒内完成其他算法几天才可以完成的任务。

这个库在NLP社区获得了用户的大量支持,并且可能替代gensim包,它提供了像Word Vectors(词向量)功能。

阅读全文 »

Word2Vector介绍

发表于 2020-01-09 | 分类于 NLP
本文字数: 2.4k | 阅读时长 ≈ 2 分钟

word2vector

word2vec简介

word2vec的核心是神经网络,采用 CBOW(Continuous Bag-Of-Words,即连续的词袋模型)和 Skip-Gram 两种模型,将词语映像到同一坐标系,输出为数值型向量的方法。

简而言之,就是将人类才可以看懂的文字,转换为机器也可以识别、操作、处理的数值,将一串文字转化为一个数值型向量的过程。

阅读全文 »

Jupyter Notebook安装

发表于 2020-01-09 | 分类于 NLP
本文字数: 335 | 阅读时长 ≈ 1 分钟

安装

前提

  • Python 3.3+, or Python 2.7
  • 推荐Anaconda安装

使用Anaconda

  • 默认jupyter已安装
  • 若无,搜索jupyter进行安装

使用pip3

pip3 install –upgrade pip
pip3 install jupyter

阅读全文 »

动态代理和CGLib

发表于 2020-01-09 | 分类于 Java
本文字数: 8.3k | 阅读时长 ≈ 8 分钟

1、JDK动态代理

  • 利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类。
  • 在调用具体方法前调用InvokeHandler来处理。

2、CGLIB动态代理

  • 利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。
    阅读全文 »

AOP及内部调用

发表于 2020-01-09 | 分类于 Java
本文字数: 3.1k | 阅读时长 ≈ 3 分钟

AOP简介

将相同逻辑的重复代码横向抽取出来,使用动态代理技术将这些重复代码织入到目标对象方法中,实现和原来一样的功能。
这样一来,我们就在写业务时只关心业务代码,而不用关心与业务无关的代码。

拦截器的实现原理就是动态代理,实现AOP机制。

阅读全文 »

Docker安装和配置

发表于 2019-12-09 | 分类于 架构
本文字数: 1.9k | 阅读时长 ≈ 2 分钟

Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

阅读全文 »

Python环境及工具安装

发表于 2019-12-09 | 分类于 架构
本文字数: 2k | 阅读时长 ≈ 2 分钟

安装

下载安装PyCharm CE2019.2

安装Python

下载安装Python3.6

阅读全文 »

Python3.6+Tensorflow1.8

发表于 2019-12-09 | 分类于 架构
本文字数: 691 | 阅读时长 ≈ 1 分钟

要求

Requires Python > 3.4 and pip >= 19.0

目前是Python > 3.4,但3.7及以上不支持

阅读全文 »

Varint编码

发表于 2019-11-30 | 分类于 架构
本文字数: 688 | 阅读时长 ≈ 1 分钟

什么是Varint编码

Varint是一种使用一个或多个字节序列化整数的方法,会把整数编码为变长字节。

对于32位整型的4个字节数据经过Varint编码后需要1~5个字节,小的数字使用1个byte,大的数字使用5个bytes。

64位整型数据编码后占用1~10个字节。在实际场景中小数字的使用率远远多于大数字,因此通过Varint编码对于大部分场景都可以起到很好的压缩效果。

阅读全文 »

Kafka解压缩

发表于 2019-11-30 | 分类于 架构
本文字数: 890 | 阅读时长 ≈ 1 分钟

压缩的目的

时间换空间,用CPU时间去换磁盘空间或网络IO传输量。

配置

// 开启GZIP压缩
// Producer启动后,生产的每个消息集合都会经过GZIP压缩,能够很好地节省网络传输带宽和Kafka Broker端的磁盘占用。

1
2
3
props.put("compression.type", "gzip");

Producer<String, String> producer = new KafkaProducer<>(props);

阅读全文 »
1234…13
Perkins

Perkins

123 日志
8 分类
91 标签
RSS
0%
© 2020 Perkins | 站点总字数: 335k | 站点阅读时长 ≈ 5:04
|