自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(685)
  • 资源 (14)
  • 收藏
  • 关注

原创 我的开源项目汇总

开源一个文本分析项目开源一个简易轻量的reactor网络框架开源一个mysql协议项目我的开源项目——机器学习实验室开源一个seq2seq模型chatbot我的开源项目——深度学习实验室我的开源项目——基于AIML的聊天机器人我的开源项目——自然语言处理实验室...

2018-07-05 09:58:58 3649

原创 我的开源项目——机器学习实验室

Demo listLeast Square method.Gradient DescentNewton’s methodhierarchy clusterknnmarkovadaboostrandom number generation(all kinds of distributions)

2018-07-05 09:42:19 818

原创 我的开源项目——基于AIML的聊天机器人

super-robota robot based on Alice Bot, which can chat with people and handle the business. FeaturesAlice Bot for chatting.Customizing corpus by AIML1.0.Learning chat online.Ability Bot int...

2018-07-05 09:39:47 2990

原创 开源一个seq2seq模型chatbot

seq2seq_chatbota chatbot which is implemented via seq2seq model.how to trainrun ‘data.py’ to produce some files we needed.run ‘train.py’ to train the model.run ‘test_model.py’ to predict....

2018-07-05 09:36:40 936 3

原创 开源一个mysql协议项目

githubhttps://github.com/sea-boat/mysql-protocolmysql-protocola lib for mysql protocol operationhow to usei want an OK packet, just simple as below ,bytes is what you need.OKPacket o...

2018-07-05 09:34:28 1059

原创 我的开源项目——深度学习实验室

githubhttps://github.com/sea-boat/DeepLearning-LabDeepLearning-Labrnn char test.seq2seq test.word2vec test.cross entropy test.bidirectional rnn test.

2018-07-05 09:31:45 1225

原创 我的开源项目——自然语言处理实验室

githubhttps://github.com/sea-boat/nlp_labnlp_labsome code about nlp.doc2txttf-idfcnn text classifyhmm cwscrf ner

2018-07-05 09:29:47 1379 1

原创 Java如何获取当前线程

前言Java 中经常会遇到要获取当前线程的情况,这时一般我们就会通过Thread.currentThread()来获取,接下去就看看执行该语句在 JVM 中做了什么吧。简单例子以下是一个简单的例子,获取当前线程并打印线程名称,输出是”main”,即主线程。public class CurrentThreadTest { public static void mai...

2018-07-05 08:26:48 45487 1

原创 聊聊从逻辑门到操作系统的计算机

前言现代计算机已经发展的非常复杂,要理解计算机的运行原理都已经变得异常艰难,虽说我们无法亲自去制造他,但我们可以了解下计算机系统是怎么从0发展而来的。逻辑门逻辑门是计算机的基础元件,通过它可以完成逻辑运算(也称布尔运算),这类运算输入输出都只有0和1。与门执行“与”操作,两个输入一个输出,只有当两个输入都为1时输出才为1,其它情况都为0。或门执行“或”操作,两个...

2018-07-02 08:27:20 1748

原创 同义词相似度可以怎样计算

前言词语的相似性的计算方法有很多,比如字面相似度计算方法、基于语义词典的计算方法、基于统计的相似度(向量空间模型)计算方法和基于神经网络的相似度计算方法。本篇文章讲讲基于词林的语义相似性。词林《同义词词林》是上世纪80年代出版的对汉语词汇进行语义分类的义类词典,共收录64223条词目。随后发展,哈尔滨工业大学信息检索实验室对其进行修正完善,《哈工大社会计算与信息检索研究中心同义...

2018-06-28 08:58:59 3412

原创 从Java到JVM到OS线程的优先级

前言Java 的线程的调度机制由 JVM 实现,假如有若干条线程,你想让某些线程拥有更长的执行时间,或某些线程分配少点执行时间,这时就涉及“线程优先级”。优先级别Java 把线程优先级分成10个级别,线程被创建时如果没有明确声明则使用默认优先级,JVM 将根据每个线程的优先级分配执行时间的概率。有三个常量Thread.MIN_PRIORITY、Thread.NORM_PRIORIT...

2018-06-25 08:34:46 717

原创 字符串连接你用+还是用StringBuilder

前言据我所知字符串确实已经成为 Java 开发人员最常用的类了,而且是大量使用。我们都知道,String 其实是封装了字符,所以俩字符串连接就是将字符串对象里面的字符连起来。很多人习惯使用+来连接字符串,也有人会用 StringBuilder 的append方法。“+”编译后看看如果我们在程序中直接使用+来连接字符串的情况,用下面一个简单的例子来说明,进行两个字符串连接操作,即s3...

2018-06-21 08:29:23 1502

原创 图灵机与计算理论

前言图灵机和计算理论是人工智能乃至整个计算机科学的理论基础,邱奇-图灵论题告诉我们一切可计算过程都可以用图灵机模拟。图灵机图灵机,又称图灵计算、图灵计算机,是由数学家艾伦·麦席森·图灵(1912~1954)提出的一种抽象计算模型,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人们进行数学运算。图灵机指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个...

2018-06-18 10:38:45 8888 1

原创 闲聊URL

前言RUL 即统一资源定位符(Uniform Resource Locator)。它是互联网上标准资源的地址,通过它来对资源定位。URL语法统一资源定位符的语法为:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志常见协议我们访问资源时会有不同的协议,比如http:、ftp:、news:。不同的协议对于客户端可用于区分...

2018-06-15 08:34:36 1335

原创 怎样衡量两个字符串的相似度(编辑距离动态规划求解)

前言目前计算句子相似性有很多不同的方案,比如基于语义词典的方法、基于相同词汇的方法、基于统计的方法和基于编辑距离的方法。这篇文章先介绍编辑距离的基础。编辑距离编辑距离其实就是指把一个字符串转换为另外一个字符串所需要的最小编辑操作的代价数。包括插入字符、替换字符和删除字符。编辑距离越小,相似度越大。比如我们要将what转换成where,可能是将 a -> e,接着 t -&...

2018-06-12 08:22:35 1875

原创 Java线程的状态

线程拥有自己的生命周期,一条线程从创建到执行完毕的过程即是线程的生命周期,此过程可能在不同时刻处于不同的状态,线程到底有多少种状态?不同状态之间是如何转化的?对于线程的状态的分类并没有严格的规定,只要能正确表示状态即可,如图,先看其中一种状态分类,一个线程从创建到死亡可能会经历若干个状态,但在任意一个时间点线程只能处于其中一种状态,总共包含五个状态:新建(new)、可运行(runnable)、...

2018-06-08 08:33:33 260

原创 怎样实现基于Trie树和字典的分词功能

前言目前做分词比较流行的是用深度学习来做,比如用循环神经网络和条件随机场,也有直接用条件随机场或隐马尔科夫模型的。前面也实现过上面几种,效果挺不错,基于隐马尔科夫模型的差一点,条件随机场的效果较好,而加入深度学习的效果最好。而最最传统的分词做法很多都是基于字典的,然后通过最大匹配法匹配,效果比较一般。效果虽然一般,但我们还是看下怎么实现的吧。Trie树结构Trie 是一种搜索树...

2018-06-06 08:36:22 1700

原创 从JDK源码看StringBuffer

概况Java 中处理字符串时经常使用的 String 是一个常量,一旦创建后不能被改变。为了提供可修改的操作,引入了 StringBuilder 类,可看前面的文章《从JDK源码看StringBuilder》。但它不是线程安全的,只用在单线程场景下。所以引入了线程安全的 StringBuffer 类,用于多线程场景。总的来说主要是通过在必要的方法上加 synchronized 来实现线程安...

2018-06-03 16:28:05 733

原创 开源一个机器学习文本分析项目

TextAnalyzerA text analyzer which is based on machine learning that can analyze text.So far, it supports hot word extracting, text classification, part of speech tagging, named entity recognition,...

2018-06-01 08:22:57 2252

原创 直接内存和堆内存谁快

前言直接内存大多时候也被称为堆外内存,自从 JDK 引入 NIO 后,直接内存的使用也越来越普遍。通过 native 方法可以分配堆外内存,通过 DirectByteBuffer 对象来操作。直接内存不属于 Java 堆,所以它不受堆大小限制,但是它受物理内存大小的限制。配置可以通过 -XX:MaxDirectMemorySize 参数来设置最大可用直接内存,如果启动时未设置则...

2018-05-30 08:25:35 3076 2

原创 人工智能六十多年

前言作为吃瓜群众,多数人对人工智能的了解主要是通过科幻片,里面的机器人拥有人类的思维和超凡的能力。然而目前现实的人工智能却只是很弱的人工智能,它仅仅是功能单一的某个程序。人工智能六十多年的发展经历了几度繁荣和衰落,虽然已取得不错的进展,然而现实与理想的差距还是很大,前进道路曲折。达特茅斯会议之前1956 年的达特茅斯会议被称为是AI诞生的标志,但在此之前已经有AI相关的研究。1...

2018-05-27 10:09:31 796

原创 从JDK源码看StringBuilder

概况在 Java 中处理字符串时经常会使用 String 类,实际上 String 对象的值是一个常量,一旦创建后不能被改变。正是因为其不可变,所以也无法进行修改操作,只有不断地 new 出新的 String 对象。为此 Java 引入了可变字符串变量 StringBuilder 类,它不是线程安全的,只用在单线程场景下。继承结构--java.lang.Object -...

2018-05-25 08:13:40 1655

原创 一图简看基于搜索的问答机器人设计

前言对于 chatbot,现在学界更流行的实现方式是基于深度学习和强化学习,比如seq2seq模型,具体可参考前面的文章《深度学习的seq2seq模型》。而对于工业界,直接用 seq2seq 模型来实现端对端的还是几乎没有的,但在很多模块的处理也开始引入深度学习,除此之外也会尝试使用强化学习。目前来看能工业界使用的更多还是传统的基于搜索的实现,本文来看看如何设计基于搜索的问答系统。...

2018-05-22 08:48:05 2798

原创 Java9后String的空间优化

前言据我所知 Java 开发人员几乎任何时候都会想到 String,字符串确实已经成为最常用的类了,而且是大量使用。我们都知道,String 其实是封装了字符,里面必须由字符或字节数组来存放,从 Java9 开始 Java 语言开发者对 String 做了一些空间的优化。从char到byteJDK9 之前的库的 String 类的实现使用了 char 数组来存放字符串,char 占...

2018-05-19 09:33:21 1625

原创 双向循环神经网络+条件随机场进行分词

前言目前 NLP 领域的很多任务基本都会朝深度学习、注意力模型、半监督等方向发展,而且确实也取得了更好的效果,而有些也会把深度学习和传统机器学习结合起来,都能有不错的性能提升。这里讲一个用深度学习和机器学习结合来做分词。关于分词分词就是将一句话按照最合理的单词分开,英语一般就没有这个麻烦,因为英语词语都是空格隔开的,而中文就需要做额外处理。分词任务一般是nlp其他任务的基础,分词分...

2018-05-16 08:25:48 2202 2

原创 Java对象在JVM中长啥样

前言Java 是门面向对象的开发语言,那么我们自己编写的 Java 类生成的对象是什么样的?它肯定保存在虚拟机的内存中,但它以怎样的结构来保存的呢?带着疑问往下看看。关于KlassJava 层的开发可能不太熟悉 Klass,但肯定熟悉 class,我们只要知道 Klass 是 class 在 JVM 中的表示即可,即 Java class 对应 JVM Klass。C++ 中的继承...

2018-05-12 08:14:50 1051 1

原创 神经网络原理的可视化

前言神经网络具有很强的学习能力和自适应自组织能力,而且随着隐含层的数量增大学习能力也将变得更强,因此目前很多场景都使用神经网络,比如深度学习,我们更熟悉的就是阿法狗。关于神经网络神经网络已经有很多变种,比如卷积神经网络、循环神经网络等等。感知器是一种最基础的神经网络,他只有输入层和输出层,感知器只能处理线性可分问题,而对于非线性问题就需要多层神经网络。一般如下图所示,有多个层,...

2018-05-09 09:45:32 2233

原创 读《Linux之父自传-只是为了好玩》

前言很久前看了《Linux之父林纳斯自传-只是为了好玩》,趁有空写下些东西。Linux几乎作为最伟大的开源项目,我觉得跟机器打交道的人都应该了解下它是怎么诞生的。关于林纳斯就是那个很在意自己长了个大鼻子的人,1969年出生,从小受外公影响并从十一岁就开始捣鼓计算机,而且成功写出了自己的第一个BASIC程序。他外公是个大学统计学教授,所以我觉得家庭环境有时对一个人的启蒙影响是相当大的...

2018-05-06 09:18:50 1434

原创 Java线程的调度

线程调度一般指的是系统为线程分配处理器使用权的过程,这个过程会产生上下文切换,即操作系统的CPU利用时间片轮转的方式给每个任务分配一定的执行时间,然后把当前任务状态保存下来,接着加载下一任务的状态并执行,它是一个状态保存与加载的过程。一般线程调度模式分为两种——抢占式调度和协同式调度。抢占式调度指的是每条线程执行的时间、线程的切换都由系统控制,线程的切换不由线程本身决定,系统控制指的是在系...

2018-05-03 08:28:59 807

原创 关于读书

非学无以广才,非志无以成学。知识渊博的人总能由内而外不经意间自然而然地显露出自己的才华,而往往肚子里只有一点墨水的人却着急着显摆。厚积薄发的震撼力量才能直击别人内心深处。...

2018-04-30 10:12:20 119

原创 Java线程的CPU时间片

Java中线程会按优先级分配CPU时间片运行,那么线程什么时候放弃CPU的使用权?可以归类成三种情况:当前运行线程主动放弃CPU,JVM暂时放弃CPU操作(基于时间片轮转调度的JVM操作系统不会让线程永久放弃CPU,或者说放弃本次时间片的执行权),例如调用yield()方法。当前运行线程因为某些原因进入阻塞状态,例如阻塞在I/O上。当前运行线程结束,即运行完run()方法里面的任务。...

2018-04-29 10:04:17 6142

原创 如何生成指定分布的随机数

前言对于随机数平时我们还是比较常用的,一般都会直接通过各种语言原生自带的随机函数,比如 c++ 中有random()函数,java 中有 Random 类,python 有 random 模块等等。都能很方便生成随机变量,但它们有一个特点,那就是都服从均匀分布,而有些场景需要要生成不同分布的随机变量。随机变量随机变量即随机函数,通过该函数能生成每个可能事件对应的一个值。比如我们掷骰...

2018-04-26 08:42:19 9611 2

原创 乐观的并发策略——基于CAS的自旋

悲观者与乐观者的做事方式完全不一样,悲观者的人生观是一件事情我必须要百分之百完全控制才会去做,否则就认为这件事情一定会出问题;而乐观者的人生观则相反,凡事不管最终结果如何,他都会先尝试去做,大不了最后不成功。这就是悲观锁与乐观锁的区别,悲观锁会把整个对象加锁占为自有后才去做操作,乐观锁不获取锁直接做操作,然后通过一定检测手段决定是否更新数据。这一节将对乐观锁进行深入探讨。前面用Synchron...

2018-04-22 09:41:21 1685

原创 智能算法之提升方法

提升方法提升方法的核心思想是通过将多个效果很一般的分类器(弱分类器)组合起来综合考虑,以实现一个效果较好的分类器,这就像“三个臭皮匠赛过诸葛亮”。弱学习者学习出来的效果可能只比随机分类器效果好一点,于是有人提出用一个弱分类器集合生成一个强分类器。因为是将弱分类器提升为强分类器,所以叫提升方法。AdaBoost提升方法有很多算法,最具代表性的是 AdaBoost 。AdaBo...

2018-04-19 09:57:13 564

原创 悲观的并发策略——synchronized互斥锁

互斥锁是最常见的同步手段,在并发过程中,当多条线程对同一个共享数据竞争时,它保证共享数据同一时刻只能被一条线程使用,其他线程只有等到锁释放后才能重新进行竞争。对于Java开发人员,最熟悉的肯定就是用synchronized关键词完成锁功能,在涉及到多线程并发时,对于一些变量,你应该会毫不犹豫地加上synchronized去保证变量的同步性。在C/C++中可直接使用操作系统提供的互斥锁实现同...

2018-04-16 08:47:59 1433

原创 条件随机场实现命名实体识别

前言NLP 被很多人称为人工智能皇冠上的明珠,可见其在 AI 领域的重要性,而命名实体识别(NER)又一直是 NLP 领域的研究热点,所以这块任务是 NLP 必谈的。NER 早期的实现主要是基于词典和规则,然后是基于传统的机器学习,比如 HMM、MEMM 和 CRF。随后深度学习崛起则很多用 CRF 结合循环神经网络或卷积神经网络来做。而最近期的则是基于注意力模型和迁移学习等。其实 N...

2018-04-12 08:39:16 4780 7

原创 深入谈谈String.intern()在JVM的实现

前言String 类的intern方法可能大家比较少用也比较陌生,虽然实际项目中并不太建议使用intern方法,可以在 Java 层来实现类似的池,但我们还是要知道它的原理机制不是。 关于intern方法通过该方法可以返回一个字符串标准对象,JVM 有一个专门的字符串常量池来维护这些标准对象,常量池是一个哈希 map 结构,字符串对象调用intern方法会先检查池中是否已经存在该字...

2018-04-09 08:27:44 1520

原创 双向循环神经网络及TensorFlow实现

前言循环神经网络得益于其记忆功能使其擅长处理序列方面的问题,它能提取序列之间的特征,进而对序列输出进行预测。比如我说“我肚子饿了,准备去xx”,那么根据前面的序列输入来预测“xx”很可能就是“吃饭”。单向循环神经网络所谓的单向循环神经网络其实就是常见的循环神经网络,可以看到t时刻、t-1时刻、t+1时刻,不同时刻输入对应不同的输出,而且上一时刻的隐含层会影响当前时刻的输出。这种结构...

2018-04-03 09:06:25 9612

原创 JVM的ServerSocket是怎么实现的(下)

概况JDK 为我们提供了 ServerSocket 类作为服务端套接字的实现,通过它可以让主机监听某个端口而接收其他端的请求,处理完后还可以对请求端做出响应。它的内部真正实现是通过 SocketImpl 类来实现的,它提供了工厂模式,所以如果自己想要其他的实现也可以通过工厂模式来改变的。继承结构--java.lang.Object --java.net.ServerSock...

2018-03-30 08:44:35 1563

原创 JVM的ServerSocket是怎么实现的(上)

概况JDK 为我们提供了 ServerSocket 类作为服务端套接字的实现,通过它可以让主机监听某个端口而接收其他端的请求,处理完后还可以对请求端做出响应。它的内部真正实现是通过 SocketImpl 类来实现的,它提供了工厂模式,所以如果自己想要其他的实现也可以通过工厂模式来改变的。继承结构--java.lang.Object --java.net.ServerSock...

2018-03-28 08:21:17 3149 1

The java.util.concurrent Synchronizer Framework

Doug Lea关于jdk里面并发同步器的实现。

2014-08-17

J2EE性能优化

J2EE性能优化

2013-09-06

Tomcat 架构 原理

Tomcat 架构 原理

2013-09-06

j2ee APIs 标准

JAVA EE APIs 标准 描述文档

2013-09-03

模仿GOOGLE自动提示功能

模仿GOOGLE自动提示功能 !

2010-08-06

extjs3.0API中文文档

ext3.0 API 中文文档 用ext的朋友可以下来查询

2010-08-01

extjs3.0API查询文档

extjs3.0API查询文档,有需要的朋友来下吧

2010-08-01

ssh2完整项目源代码

struts2完整项目源代码,可以下来学习,从整体体会ssh2

2010-07-30

struts2教程例子跟包

里面是struts2教程例子所需的包,学习受struts2的朋友可以下来看看

2010-07-30

最新的完整的ext包

这个是完整的ext包,开发ext的朋友来下

2010-07-30

struts2教程(简明扼要)

这个事struts2教程,简明,囊括了所有要点!现学现用.......

2010-07-25

内调焦望远镜课程设计

要做课程设计的同学们啊,来啊,内调焦望远镜课程设计

2010-06-03

ibatis教程 要的快点来下啊

ibatis教程 要的快点来下啊 请要的同学快来下

2010-06-03

空空如也

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

TA关注的人

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