自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(309)
  • 收藏
  • 关注

原创 机器学习入门(五):线性回归—从模型函数到目标函数

从数据反推公式 假设我们获得了这样一张表格,上面列举了美国纽约若干程序员职位的年薪: 大家可以看到,表格中列举了职位、经验、技能、国家和城市几项特征。除了经验一项,其他都是一样的。不同的经验(工作年限),薪水不同。而且看起来,工作年头...

2020-03-12 02:41:31 1809

原创 机器学习入门(三):模型的质量和评判指标

衡量模型质量 通过训练得到模型后,我们就可以用这个模型,来进行预测了(也就是把数据输入到模型中让模型吐出一个结果)。 预测肯定能出结果,至于这个预测结果是否是你想要的,就不一定了。 一般来说,没有任何模型能百分百保证尽如人意,但我们总是追求尽量好。 什么样的模型算好呢?当然需要测试。 当我们训练出了一个模型以后,为了确定它的质量,我们可以用一...

2020-03-12 02:41:25 740

原创 机器学习入门(四):常用优化算法-梯度下降法

凸函数 什么叫做凸函数?这个有一套严格的数学定义:某个向量空间的凸子集(区间)上的实值函数,如果在其定义域上的任意两点 ,有 f(tx + (1-t)y) <= tf(x) + (1-t)f(y),则称其为该区间上的凸函数。 注意:此处说得凸函数对应英语中的 Convex Function。在有些数学教材中(例如同济大学高等数学教材),把这种函数称为指凹函数,...

2020-03-12 02:41:21 842

原创 机器学习入门(二):模型的获取和改进

应用机器学习技术”这件事情,具体到微观的行为,其实就是:使用机器学习模型来预测数据,得到预测结果。然后,预测结果可能会作为下一步业务逻辑的依据。 要使用机器学习模型,首先要获得它。在有了数据和算法的情况下,我们需要通过一个过程来获得模型,这个过程就叫做:训练。 获取模型的过程 在前面讲述三要素时我们已经讲过:数据 + 算法 => 模型 ...

2020-03-12 02:41:06 832

原创 机器学习入门(一):机器学习三要素之数据、模型、算法

机器学习三要素包括数据、模型、算法。简单来说,这三要素之间的关系,可以用下面这幅图来表示: 总结成一句话:算法通过在数据上进行运算产生模型。 下面我们先分别来看三个要素。 数据 关于数据,其实我们之前已经给出了例子。...

2020-03-12 02:41:01 2669

原创 NLP第21课:中文自然语言处理的应用、现状和未来

自然语言理解和自然语言生成是自然语言处理的两大内核,机器翻译是自然语言理解方面最早的研究工作。自然语言处理的主要任务是:研究表示语言能力和语言应用的模型,建立和实现计算框架并提出相应的方法不断地完善模型,根据这样的语言模型设计有效地实现自然语言通信的计算机系统,并研讨关于系统的评测技术,最终实现用自然语言与计算机进行通信。目前,具有一定自然语言处理能力的典型应用包括计算机信息检索系...

2020-03-12 02:40:56 2789 1

原创 NLP第20课:Neo4j 从入门到构建一个简单知识图谱

Neo4j 对于大多数人来说,可能是比较陌生的。其实,Neo4j 是一个图形数据库,就像传统的关系数据库中的 Oracel 和 MySQL一样,用来持久化数据。Neo4j 是最近几年发展起来的新技术,属于 NoSQL 数据库中的一种。 本文主要从 Neo4j 为什么被用来做知识图谱,Neo4j 的简单安装,在 Neo4j 浏览器中创建节点和关系,Neo4j 的 Python...

2020-03-12 02:40:50 844

原创 NLP第10课:动手实战基于 CNN 的电影推荐系统

本文从深度学习卷积神经网络入手,基于 Github 的开源项目来完成 MovieLens 数据集的电影推荐系统。 什么是推荐系统呢? 什么是推荐系统呢?首先我们来看看几个常见的推荐场景。 如果你经常通过豆瓣电影评分来找电影,你会发现下图所示的推荐: ...

2020-03-12 02:06:04 1557 1

原创 NLP第19课:知识挖掘与知识图谱概述

搜索技术日新月异,如今它不再是搜索框中输入几个单词那么简单了。不仅输入方式多样化,并且还要在非常短的时间内给出一个精准而又全面的答案。目前,谷歌给出的解决方案就是——知识图谱(Knowledge Graph)。 知识图谱能做什么? 知...

2020-03-12 02:05:55 1603

原创 NLP第18课:模型部署上线的几种服务发布方式

在前面所有的模型训练和预测中,我们训练好的模型都是直接通过控制台或者 Jupyter Notebook 来进行预测和交互的,在一个系统或者项目中使用这种方式显然不可能,那在 Web 应用中如何使用我们训练好的模型呢?本文将通过以下四个方面对该问题进行讲解: 微服务架构简介; 模型的持久化与加载方式; Flask 和 Bottle 微服务...

2020-03-12 02:05:51 944

原创 NLP第17课:基于 CRF 的中文句法依存分析模型实现

句法分析是自然语言处理中的关键技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。主要包括两方面的内容,一是确定语言的语法体系,即对语言中合法句子的语法结构给予形式化的定义;另一方面是句法分析技术,即根据给定的语法体系,自动推导出句子的句法结构,分析句子所包含的句法单位和这些句法单位之间的关系。 依存关系本身是一个树结构,每一个词看成一个节点,依存关系就是...

2020-03-12 02:05:46 644

原创 NLP第15课:基于 CRF 的中文命名实体识别模型实现

命名实体识别在越来越多的场景下被应用,如自动问答、知识图谱等。非结构化的文本内容有很多丰富的信息,但找到相关的知识始终是一个具有挑战性的任务,命名实体识别也不例外。 前面我们用隐马尔可夫模型(HMM)自己尝试训练过一个分词器,其实 HMM 也可以用来训练命名实体识别器,但在本文,我们讲另外一个算法——条件随机场(CRF),来训练一个命名实体识别器。 浅析条件随机场(...

2020-03-12 02:05:34 1365 1

原创 NLP第14课:动手实战中文命名实体提取

命名实体识别(Named EntitiesRecognition,NER)是自然语言处理的一个基础任务。其目的是识别语料中人名、地名、组织机构名等命名实体,比如,2015年中国国家海洋局对124个国际海底地理实体的命名。 由于命名实体数量不断...

2020-03-12 02:05:30 1646

原创 NLP第13课:动手制作自己的简易聊天机器人

自动问答简介 自动聊天机器人,也称为自动问答系统,由于所使用的场景不同,叫法也不一样。自动问答(Question Answering,QA)是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务。不同于现有搜索引擎,问答系统是信息服务的一种高级形式,系统返回用户的不再是基于关键词匹配排序的文档列表,而是精准的自然语言答案。近年来,随着人工智能的飞速发展,自动问答已经...

2020-03-12 02:05:26 1317

原创 NLP第12课:完全基于情感词典的文本情感分析

目前情感分析在中文自然语言处理中比较火热,很多场景下,我们都需要用到情感分析。比如,做金融产品量化交易,需要根据爬取的舆论数据来分析政策和舆论对股市或者基金期货的态度;电商交易,根据买家的评论数据,来分析商品的预售率等等。 下面我们通过以下几点来介绍中文自然语言处理情感分析: 中文情感分析方法简介; SnowNLP 快速进行评论数据情感分析...

2020-03-12 02:05:21 8881 1

原创 NLP第11课:动手实战基于 LSTM 轻松生成各种古诗

目前循环神经网络(RNN)已经广泛用于自然语言处理中,可以处理大量的序列数据,可以说是最强大的神经网络模型之一。人们已经给 RNN 找到了越来越多的事情做,比如画画和写诗,微软的小冰都已经出版了一本诗集了。 而其实训练一个能写诗的神经网络并不难,下面我们就介绍如何简单快捷地建立一个会写诗的网络模型。 ...

2020-03-12 02:05:16 1432 1

原创 NLP第9课:一网打尽神经序列模型之 RNN 及其变种 LSTM、GRU

首先,我们来思考下,当人工神经网络从浅层发展到深层;从全连接到卷积神经网络。在此过程中,人类在图片分类、语音识别等方面都取得了非常好的结果,那么我们为什么还需要循环神经网络呢? 因为,上面提到的这些网络结构的层与层之间是全连接或部分连接的,但...

2020-03-12 00:03:48 1228 2

原创 NLP第8课:从自然语言处理角度看 HMM 和 CRF

近几年在自然语言处理领域中,HMM(隐马尔可夫模型)和 CRF(条件随机场)算法常常被用于分词、句法分析、命名实体识别、词性标注等。由于两者之间有很大的共同点,所以在很多应用上往往是重叠的,但在命名实体、句法分析等领域 CRF 似乎更胜一筹。通常来说如果做自然语言处理,这两个模型应该都要了解,下面我们来看看本文的内容。 从贝叶斯定义理解生成式模型和判别式模型 理解 ...

2020-03-12 00:03:42 913

原创 NLP第7课:动手实战基于 ML 的中文短文本聚类

文本聚类是将一个个文档由原有的自然语言文字信息转化成数学信息,以高维空间点的形式展现出来,通过计算哪些点距离比较近,从而将那些点聚成一个簇,簇的中心叫做簇心。一个好的聚类要保证簇内点的距离尽量的近,但簇与簇之间的点要尽量的远。 如下图,以 K、M、N 三个点分别为聚类的簇心,将结果聚为三类,使得簇内点的距离尽量的近,但簇与簇之间的点尽量的远。 ...

2020-03-12 00:03:36 1687

原创 NLP第6课:动手实战基于 ML 的中文短文本分类

文本分类,属于有监督学习中的一部分,在很多场景下都有应用,下面通过小数据的实例,一步步完成中文短文本的分类实现。 开发环境,我们选择: Mac 系统 Python 3.6 Jupyter Note...

2020-03-12 00:03:30 1385 2

原创 NLP第5课:面向非结构化数据转换的词袋和词向量模型

通过前面几个小节的学习,我们现在已经学会了如何获取文本预料,然后分词,在分词之后的结果上,我们可以提取文本的关键词查看文本核心思想,进而可以通过可视化技术把文档从视觉的角度表达出来。 下面,我们来看看,文本数据如何转换成计算机能够计算的数据。这里介绍两种常用的模型:词袋和词向量模型。 词袋模型(Bag of Words Model) 词袋模型的概念 ...

2020-03-12 00:03:23 1459 1

原创 NLP第4课:了解数据必备的文本可视化技巧

为什么要文本数据可视化 文字是传递信息最常用的载体,随着海量文本的涌现,信息超载和数据过剩等问题日益凸显,当大段大段的文字摆在面前,已经很少有人耐心、认真把它读完,人们急需一种更高效的信息接收方式,从视觉的角度出发,文本可视化正是解药良方。所谓一图胜千言,其实就是文本可视化的一种表现。 ...

2020-03-12 00:03:17 1832 1

原创 NLP第3课:动手实战中文文本中的关键字提取

前言 关键词提取就是从文本里面把跟这篇文章意义最相关的一些词语抽取出来。这个可以追溯到文献检索初期,关键词是为了文献标引工作,从报告、论文中选取出来用以表示全文主题内容信息的单词或术语,在现在的报告和论文中,我们依然可以看到关键词这一项。因此,关键词在文献检索、自动文摘、文本聚类/分类等方面有着重要的应用,它不仅是进行这些工作不可或缺的基础和前提,也是互联网上信息建库的一项...

2020-03-12 00:02:45 2715 1

原创 NLP第2课:中文分词利器 jieba 和 HanLP

前言 从本文开始,我们进入实战部分。首先,我们按照中文自然语言处理流程的第一步获取语料,然后重点进行中文分词的学习。中文分词有很多种,常见的比如有中科院计算所 NLPIR、哈工大 LTP、清华大学 THULAC 、斯坦福分词器、Hanlp 分词器、jieba 分词、IKAnalyzer 等。这里针对 jieba 和 HanLP 分别介绍不同场景下的中文分词应用。 j...

2020-03-12 00:02:30 1835

原创 NLP第1课:中文自然语言处理的完整机器处理流程

2016年全球瞩目的围棋大战中,人类以失败告终,更是激起了各种“机器超越、控制人类”的讨论,然而机器真的懂人类吗?机器能感受到人类的情绪吗?机器能理解人类的语言吗?如果能,那它又是如何做到呢?带着这样好奇心,本文将带领大家熟悉和回顾一个完整的自然语言处理过程,后续所有章节所有示例开发都将遵从这个处理过程。 首先我们通过一张图来了解 NLP 所包含的技术知识点,这张图从分析对...

2020-03-12 00:02:18 1007

原创 Gradle第16课:与 Git 和 Jenkins 的结合使用

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 Docker 17 Git 2.13 Jenkins 与 Git 的结合使用 Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。所以现在基本上很多的公司...

2020-03-11 23:59:09 581

原创 Gradle第15课:与 Docker 的结合使用

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 Docker 17 容器化项目 1.传统的方式运行 spring boot 项目 还是使用上章中 login 工程,我们在 login 工程目录下执行gradle build编译命令,并在 build/lib...

2020-03-11 23:27:37 868

原创 Gradle第14课:Gradle 项目实战-编译打包

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 项目的前期准备 1.新建工程 首先我们创建根工程为multiproject的项目,该项目包含三个子工程,分别为:api、core 和 login。其结构如下: multiproje...

2020-03-11 23:27:30 1946

原创 Gradle第13课:Gradle 中常用插件的介绍-下

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 通过五步聚来使用 Java 插件 第一步,Java 插件的引用 在 build.gradle 中添加以下语句,表示对 java 插件的引用。 apply plugin:'java'...

2020-03-11 23:27:19 384

原创 Gradle第12课:Gradle 中常用插件的介绍-上

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 Gradle 中常用插件介绍 Java 插件:为 Java 工程提供了编辑、测试和打包的能力,很多其它的插件都是以它为基础的。 War 插件:该插件是继承自 Java 插件的,它为 Web 应用程...

2020-03-11 23:27:11 453 1

原创 Gradle第11课:Gradle 实现多工程的编译打包

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 Gradle构建的各生命周期 1.初始化阶段 在初始化阶段,Gradle 决定哪些工程将会参与到构建,然后为每一个工程创建一个Project的对象,通过该对象可以访问到工程的 Gradle 配置的所有功能。 2....

2020-03-11 23:27:02 1038

原创 Gradle第10课:Gradle 中文件的实战操作

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 几种基础的文件操作类型 本地文件 文件集合 文件树 文件拷贝 归档文件 各种文件操作类型的详细介绍 1.本地文件 使用Project...

2020-03-11 23:26:49 295

原创 Gradle第9课:Gradle 组织逻辑代码的八种形式

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 组织代码逻辑的几种方式 从父级继承属性和方法。在编译多工程的项目中,子工程可以从父工程继承属性和方法。 配置注入。在编译多工程的项目中,一个工程(通常是 root 工程)可以向另一个工程注入属性和方法。...

2020-03-11 23:26:37 205

原创 Gradle第8课:Gradle 中自定义插件的实现

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 Gradle 插件的介绍 Gradle 插件功能可以很好的组织我们的编译逻辑代码,使它能在不同的项目和工程中重复使用。我们可以自定义实现自己的 Gradle 插件,然后分享给其他人使用。我们可以使用不同的语言来实现,不过本章中作...

2020-03-11 23:26:26 237

原创 Gradle第7课:Gradle 中自定义任务的实现

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 Gradle 的两种任务类型 在上一章中, 我们介绍了任务( Task )的一些高级用法,知道了 Gradle 对任务的功能增强很多,那么它是具体如何做到的呢?在揭晓答案之前,我们先来看看 Gradle 都支持哪两种类型的任务吧...

2020-03-11 23:26:12 342

原创 Gradle第6课:Gradle 中任务的高级特性

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 前期回顾 通过上一节,我们学会如何创建一个简单的任务了,并且知道了如何对任务添加行为,同时为任务设置依赖关系等。而 Gradle 的任务不仅仅只是这么简单,它相较对于 ant 的任务非常强大,它有自己的属性和方法,本章节中我们将...

2020-03-11 23:26:03 332

原创 将博客搬至CSDN

我在简书写了近四百篇文章,积累了几千个粉丝,今日简书文章禁止带外链,很多技术类文章已发表就被禁,账号被冻结。所以开始把简书账号转到知乎上,之前很久没关注CSDN有了文章搬家功能,现在简书账号被冻结,只有先从知乎转移到CSDN上了。...

2020-03-11 11:54:55 109

原创 Gradle第5课:Gradle 中的任务探密和实践

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 工程和任务的关系 在 Gradle 的世界中最重要的两个概念就是:工程( Project )和任务( Task )。 每一个 Gradle 的项目都会包含一个或多个工程,而每一个工程的职责又取决于我们对这个工程的定义,比...

2020-03-10 13:43:15 113

原创 Gradle第4课:Gradle 基础脚本的实现

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 创建一个简单的 HelloWorld 工程 为了更好演示如何使用 Gradle 脚本来编译我们的工程,我们尽量创造一个非常简单的 java 项目,它只包含一个HelloWorld.java文件。 打开我们熟悉的 IDE 工具,本...

2020-03-10 13:42:42 226

原创 Gradle第3课:Groovy 语法简单介绍

需要准备 一个熟悉的 IDE 开发工具 JDK 7及以上 Gradle 3.2以上 groovy 基本语法 1.变量申明 访问修饰符 def: 相当于局部变量 ext: 相当于全局变量 申明变量 // groovy是一种规则非常松的语言,所有语句后面不用写分号,// 而且类型不用写也是可以的de...

2020-03-10 13:42:09 308

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除