自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

世杰

这个世界很公平,你想过最好的生活,它就会给你最痛的。熬得过去,就是赢家;熬不过去,就乖乖做普通人吧。

  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 奋战聊天机器人(五)从一句话中提取更多信息

一句话,可以由任何词构成,可长可短,是一个非结构化的信息。那么为了要计算机理解一句话,我们视图将句子转化为结构化的形式比如说:“我下午要和小明在公司讨论一个技术问题”1)小明是一个实体2)参与者有两个:我和小明3)地点设定是:公司4)要做的事情是:讨论5)讨论的内容是:问题6)这个问题是一个技术问题7)公司是一个地点8)讨论是一种行为9)我和小明有某种关系10)下午是一个时间1. 分块分块就是根据句

2017-09-01 14:01:07 470

原创 奋战聊天机器人(四)自然语言处理中的文本分类

文本分类是机器学习在自然语言处理中的最常用也是最基础的应用,机器学习相关内容可以直接看我的有关scikit-learn相关教程,本节直接涉及nltk中的机器学习相关内容 预备机器学习的过程是训练模型和使用模型的过程,训练就是基于已知数据做统计学习,使用就是用统计学习好的模型来计算未知的数据。机器学习分为有监督学习和无监督学习,文本分类也分为有监督的分类和无监督的分类。有监督就是训练的样本数据有了确定

2017-09-01 13:50:47 800

原创 安卓框架层(系统启动流程)(1)系统架构

本系列为学习笔记,学习内容来自刘望舒的博客1.Android系统架构Android系统架构分为5层 - 应用层 - 应用框架层 - 系统运行库层 - 硬件抽象层 - linux内核层应用层无论是系统内置的应用程序还是非系统内置的应用程序都属于应用层应用框架层(Java Framework)为开发人员提供了可以开发应用程序说需要的API 名称 功能描述 Activity Man

2017-09-01 11:17:47 651

原创 奋战聊天机器人(三)自动化对语料做词性标注

1.英语词干提取器import nltkporter = nltk.PorterStemmer()porter.stem('lying')2.词性标注器import nltktext = nltk.word_tokenize("And now for something completely different")nltk.pos_tag(text)其中CC是连接词,RB是副词,IN是介词,

2017-08-30 16:20:04 1324

原创 奋战聊天机器人(二)语料和词汇资源

当代自然语言处理都是基于统计的,统计自然需要很多样本,因此语料和词汇资源是必不可少的1. NLTK语料库NLTK包含多种语料库,比如:Gutenberg语料库nltk.corpus.gutenberg.fileids()nltk.corpus.gutenberg:语料库的阅读器nltk.corpus.gutenberg.raw(‘chesterton-brown.txt’):输出chestert

2017-08-30 16:18:39 3431

转载 中文自然语言处理工具介绍

转载自:http://blog.csdn.net/xieyan0811/article/details/60962955自然语言处理是人工智能领域中的一个重要方向。它研究能人机之间通讯的方式,并涉及机器对人类知识体系的学习和应用.从分词,相似度计算,情感分析,文章摘要,到学习文献,知识推理,都涉及自然语言分析.下面介绍一些中文语言语义分析的资源.(以下只讨论能嵌入到我们程序里的资源)1. 同义词词林

2017-08-30 11:47:47 601

原创 奋战聊天机器人(一)初识NLTK库

一、初识NLTK库 NLTK是一个比较优秀的自然语言处理工具包,是我们聊天机器人需要工作中较为重要的1. NLTK库安装Step 1: pip安装pip install nltkStep 2:执行python并下载书籍import nltknltk.download()Step 3:选择book后点Download开始下载选择book,然后点Download开始下载Step 4:下载完成

2017-08-30 09:40:05 757

原创 Android应用层(网络编程)五(Retrofit)

1. 使用前准备Step 1: 向配置build.gradle:dependencies { ... compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.retrofit2:co

2017-08-28 16:40:05 326

转载 安卓开发经验——Android Studio的project中两个build.gradle配置的区别

一般创建一个android项目后回出现两个gradle:build.gradle(Project):用来配置整个工程的build.gradle(app):一个是用来配置app的对compile和classpath区别的解释: I’m going to guess that you’re referencing compile and classpath within the dep

2017-08-28 11:51:39 5536

原创 Java并发编程的暗自努力(五)Java内存模型

Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的模型。Java内存模型规定了如何、何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量Java内存模型内部原理Java内存模型把Java虚拟机内部划分为线程 栈 和 堆 栈每一个运行在Java虚拟机里的线程都拥有自己的线程栈一个线程创建的本地变量对其他线程不可见所有原

2017-08-28 09:43:31 227

原创 Java并发编程的暗自努力(四)线程安全与共享资源

允许被多个线程同时执行的代码称作线程安全的代码。线程安全的代码不包含竞态条件。当多个线程同时更新共享资源时会引发竞态条件。因此,了解Java线程执行时共享了什么资源很重要。局部变量局部变量存储在自己的栈中。也就是说,局部变量永远也不会被多个线程共享。所以,基础类型的局部变量是线程安全的。public void someMethod(){ long threadSafeInt = 0;

2017-08-27 16:20:23 228

原创 Java并发编程的暗自努力(三)竞态和临界区

当多个线程访问了相同的资源(同一内存区、系统、文件)时可能会导致一些问题。 - 实际上,这些问题只有在一个或多个线程对这些资源进行了写操作时,才有可能发生,只要资源没有发生变化,多个线程读取相同的资源就是安全的多个线程执行下面代码可能会出错:public class Counter{ protected long count = 0; public void add(long va

2017-08-27 16:19:25 213

原创 Java并发编程的暗自努力(二)走进代码

创建并运行Java线程Java线程是一个object类,它的实例都继承自java.lang.Thread或其子类创建线程的办法:Thread thread = new Thread();执行线程的办法thread.start();编写线程运行时的代码有两种方式:1. 创建Thread子类Step 1: 创建Thread子类并重写run方法,run方法在调用start()方法后被执行public cl

2017-08-27 10:23:08 193

原创 Java并发编程的暗自努力(一)初步介绍

本系列属于学习路径记录,学习的主要内容来自并发编程网1. Java的多线程和并发性Java从一开始就支持多线程,因此Java开发者能常遇到异常问题场景,比如: - 一个线程在读一个内存时,另一个线程正向该内存进行写操作,那进行读操作的那个线程会获得上面结果呢? - 两个线程同时写同一个内存,在操作完成后会是什么结果呢?2. 多线程的优点资源利用率好 场景:一个应用程序需要从本地文件系统中读取

2017-08-26 22:45:29 282 1

原创 Java并发编程(三)Volatile

1. java内存模型与原子性,可见性和有序性Java内存模型规定所有的变量都是存在主存当中,每个线程都有自己的工作内存。线程对变量的所有操作都必须在工作内存中进行,而不能直接对主存进行操作。并且每个线程不能访问其他线程的工作内存。 在java中,执行下面这个语句:int i=3;执行线程必须先在自己的工作线程中对变量i所在的缓存行进行赋值操作,然后再写入主存当中。而不是直接将数值3写入主存当中。

2017-08-23 17:07:58 193

原创 Java并发编程(二)同步

1. 锁对象Synchronizedsynchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程B(或者C 、D)运行完这个方法后再运行此线程A,没有的话,锁定调用者,然后直接运行。它包括两种用法:synchronize

2017-08-22 14:35:41 202

原创 Java并发编程(一)线程的定义、状态、属性

1. 线程的定义、状态、属性进程是指一段正在执行的程序。而线程有时也被称为轻量级的进程,他是程序执行的最小单元。一个进程可以拥有多个线程,各个线程之间共享程序的内存空间(代码段、数据段和堆空间)及一些进程级的资源(例如打开的文件),但是各个线程都拥有自己的栈空间1. 为何?从操作系统的角度而言: - 使用多线程可以减少程序的响应时间,如果某个操作很耗时,或者陷入长时间的等待,此时程序讲不会响

2017-08-17 17:01:34 205

原创 Android应用层(网络编程)四(okHttp使用解析)

Android Studio 配置gradle:compile 'com.squareup.okhttp:okhttp:2.7.5'compile 'com.squareup.okio:okio:1.7.0'1. 异步Get请求最简单的Get请求,老规矩请求百度:public void getAsynHttp(){ OkHttpClient okHttpClient = new O

2017-08-16 17:21:25 477

原创 Android应用层(网络编程)三(Volley使用与源码解析)

Volley的使用Volley网络请求队列Volley请求网络都是基于请求队列的,开发者只要把请求放在请求队列中就可以了请求队列会依次进行请求,一般情况下,一个应用程序如果网络请求没有特别频繁则完全可以只有一个请求队列(对应Application),如果非常多或其他情况,则可以是一个Activity对应一个网络请求队列Step 1 : 创建队列RequestQueue mQueue = Vol

2017-08-15 11:12:10 317

原创 Android应用层(网络编程)二(HttpClient、HttpURLConnection)

HttpClient与HttpURLConnection1.HttpClientAndroid SDK中包含了HttpClient,在Android6.0版本直接删除了HttpClient类库,如果仍想使用则解决方法是: - 如果使用的是eclipse则在libs中加入org.apache.http.legacy.jar这个jar包在:**sdk\platforms\android-23\opti

2017-08-15 11:11:02 323

原创 Android应用层(网络编程)一

1.Http简介HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展HTTP协议的主要特点支持C/S(客户/服务器)模式简单快:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST,每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTT

2017-08-14 11:41:34 441

原创 Android应用层(View体系)三

自定义View继承系统控件的自定义View 这种自定义View在系统控件的基础上进行拓展,一般是添加新的功能或者修改显示的效果,一般情况下我们在onDraw()方法中进行处理Step 1 : InvalidTextView.javapublic class InvalidTextView extends TextView { private Paint mPaint = new Pai

2017-08-14 11:40:21 239

原创 Android应用层(View体系)二

1.Android属性动画Animator框架中使用最多的就是AnimatorSet和ObjectAnimator配合,使用ObjectAnimator进行更精细化的控制,控制一个对象和一个属性值,而使用多个ObjectAnimator组合到AnimatorSet形成一个动画, 属性动画通过调用属性get,set方法来真实地控制了一个View的属性值,因此强大的属性动画框架,基本可以实现所有的动

2017-08-14 11:39:33 191

原创 Android应用层(View体系)一

1.视图坐标系Android中所有控件都是继承View类的,下图可以看到其中的关系2.Android坐标系 Android中有两种坐标系:Android坐标系、视图坐标系2.1 Android坐标系在Android中,将屏幕的左上角的顶点作为Android坐标系的原点,这个原点向右是X轴正方向,原点向下是Y轴正方向 在Android中,MotionEvent中提供的getRawX()和ge

2017-08-14 11:38:15 1290

原创 Python 3 爬虫的自我探索(三)

Step 1 : 获取HTML文件的内容# encoding: UTF-8# 爬虫获取:南方电网招标采购信息import requests# 定义主入口网址main_url = "http://www.bidding.csg.cn/zbcg/index.jhtml"# 请求网址r = requests.get(main_url)# 打印:返回结果的类型,状态码,编码方式,Cookiespr

2017-08-11 14:01:58 482

原创 Python 3 爬虫的自我探索(二)

1. Python网络爬虫——V 1.0Step 1 : 实现抓取Startup News,并运行import reimport urllib.requestimport urllibfrom collections import deque# 定义队列和集合queue = deque()visited = set()url = 'http://news.dbanotes.net' # 入

2017-08-11 13:59:27 410

原创 Python 3 爬虫的自我探索(一)

0 体验一:用python抓取整个网页Step 1 : 实现python抓取网页的代码,并运行# encoding: UTF-8import urllib.requesturl = "http://www.baidu.com"data = urllib.request.urlopen(url)show = data.read().decode('UTF-8')print(show)Step

2017-08-11 13:57:09 269

转载 完全免费快速搭建个人www服务器

想拥有自己的web服务器吗?想把服务器放到自己家里吗?通过ADSL拨号也能建立个人的服务器吗?本文告诉你答案。 要建立自己的web服务器,需要两个最重要的工作:1 让别人知道你的主机目前访问Internet上主机的方式主要有两种:一是通过IP地址;而是通过域名。由于ADSL拨号导致了每次获得的IP地址都不一定相同,所以如果你IP地址公布你的网站时,会导致每次公布的IP都不一样,

2017-04-23 09:46:53 41481 1

原创 《C++Primer》读书笔记(七)类

类的基本思想是数据抽象和封装。 数据抽象是一种依赖于接口和实现分离的编程技术;类的接口包括用户所能执行的操作,类的实现包括类的数据成员、负责接口实现的函数体以及定义类所需的各种是有函数定义抽象数据类型设计Sales_data类Sales——data的接口应该包含以下功能 - 一个isbn成员函数,用于返回对应的isbd编号 - 一个combine成员函数,用于将一个Sales_dat

2017-03-14 21:38:53 366

原创 《C++Primer》读书笔记(六)函数

函数基础我们用调用运算符来执行函数,它是一对圆括号,它作用于一个表达式,该表达式是函数或者指向函数的指针;括号之内是一个用逗号隔开的实参列表(1)编写函数int fact(int val){ int ret=1; while (val>1) ret*=val--; return ret;}(2)调用函数int main(){ int j=fact

2017-02-28 17:33:33 334

原创 《C++Primer》读书笔记(五)语句

简单语句(1)空语句 - 一种常见情况:当循环的全部工作在条件部分就可以完成时,会用到空语句// 我们想要读取输入流的内容,直至遇到一个特定值,除此之外什么事情都不做while(cin>>s&&s!=sought) ; 不要漏写分号,也不要在语句未结束时写分号(2)符合语句(块) 块不以分号作为结束语句作用域在if、switch、while和for语句,在控制结构中声明的变

2017-02-26 19:30:47 216

原创 《C++Primer》读书笔记(四)表达式

基础基本概念C++定义了:一元运算符和二元运算符除此之外,还定义了作用于三个运算对象的三元运算符函数调用也是一种特殊的运算符(1)组合运算符和运算对象 - 首先要理解==优先级、结合律以及运算对象的求值顺序==(2)运算对象转换(3)重载运算符(4)左值和右值 - 当一个对象被用作右值时,用的是对象的值 - 当一个对象被用作左值时,用的是对象的身份(内存中的未知)优先级与结合律括号无

2017-02-26 10:55:29 268

原创 《C++Primer》读书笔记(三)字符串、向量、数组

命名空间using声明(1)本节学习最安全的方法使用using声明using namespace::name注意:使用一个名字就要有其对应的uesing声明,如:using std::cin;(2)头文件不应包含using声明 - 头文件将会被直接拷贝进入文件中,有using可能会引起不必要的冲突标准库类型string string类型表示可变长的字符序列定义和初始化string对象常

2017-02-22 16:20:06 469

翻译 char、char*、char**数组

平时都用的是char数组,基本忘记了char*数组和char**数组该怎么用了char s1[10];s1[0] s1[1]等都是chars1是char*,等同于&s1[0] char*s2[10];s2[0] s2[1]等都是char**s2[0] *s2[1]等都是char,是s2[0] s2[1]指向的字符串的第一个字符s2

2017-02-19 15:43:56 11897

转载 程序员是怎样练成的?

一些人认为,掌握一门计算机语言,会编写几行代码并且能够让这些代码在计算机上运行起来的人,就可以称为程序员。事实上,软件行业里,要成为真正意义上的程序员,对得起 programmer 这个称号,还是要花费一番功夫的。        在成为程序员的道路上,要经历四个坎坷,让我们用四个境界来标明他们。         第一境界,就是前面所说的,掌握一门或者几门编程语言,会模仿例子来实

2017-02-18 19:45:02 295

转载 【C++小程序】读入一个包含标点符号的字符串,将去掉标点符号之后的字符串输出

总结:1.   getline()读取字符串,可以保留输入字符串中的空格,直至读进换行符,但换行符不会读进string对象中;2.   str.size()控制i,j的取值,以适应字符串长度的动态变化;3.   str.erase(str.end()-1),识别出字符串中有标点符号时,其后的字符陆续前移,及时删除此时字符串中的最后一个字符。结果:

2017-02-18 11:13:05 4331

转载 Eclipse配置C++11环境详细介绍

本文记录Eclipse配置C++11开发所有作者遇到的情况,包括跨工程文件编译,内联文件编译等。1.菜单“Project”——“Properties”——“C++ General”,如图所示:2.“C++ Build”——“Settings”,如图所示:3.头文件路径设置如图所示:4.预定义设置如图所示:5."

2017-02-18 10:13:58 516

原创 《C++Primer》读书笔记(二)C++基础(下)

处理类型类型别名 类型别名是一个名字,它是某种类型的同义词。 - 传统使用方法:typedeftypedef double wages; // wages是double的同义词新标准:使用别名声明using SI = Sales_items; // SI 是自定义类型Sales_item的同义词(1)指针、常量与类型别名typedef char *pstring;const pst

2017-02-17 15:40:20 360

原创 《C++Primer》读书笔记(二)C++基础(上)

2.1 基本内置类型算术类型(1)算术类型分为:整型(包括字符、布尔)、浮点型 - 算术类型所占的最小尺寸,如下: 类型 最小尺寸 bool 未定义 char 8 bit int 16 bit long 32 bit float 6位有效数字 double 10位有效数字其中,一个char的大小和一个机器的字节一样 - char16_t 是

2017-02-15 12:54:31 353

原创 《C++Primer》读书笔记(一)开始

首先,了解一个我们需要尝试的程序(书店程序),如下:书店保存每条销售记录的档案,包括3个数据项:ISBN书号、售出册数、售出单价需要能够查询每本书的销量,销售额和平均售价 我认为,主要需要实现的是: - 检测相同ISBN书号 - 可重复录入销售记录的输入功能书中提出,虽然没有编写程序,但是已经可以确定它必须: - 定义变量 - 进行输入输出 - 使用数据结构保存数据 -

2017-02-07 17:47:41 404

空空如也

空空如也

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

TA关注的人

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