前言: 文本分类任务的第1步,就是对语料进行分词.在单机模式下,可以选择python jieba分词,使用起来较方便.但是如果希望在Hadoop集群上通过mapreduce程序来进行分词,则hanLP更加胜任. 一.使用介绍 hanLP是一个用java语言开发的分词工具, 官网是 http://hanlp.com/ . hanLP创建者提供了两种使用方式,一种是portable简化版本,内置了数据包以及词典文件,可通过maven来管理依赖,只要在创建的 maven 工程中加入以下依赖,即可轻松使…
基于双向BiLstm神经网络的中文分词详解及源码 基于双向BiLstm神经网络的中文分词详解及源码 1 标注序列 2 训练网络 3 Viterbi算法求解最优路径 4 keras代码讲解 最后 源代码地址 在自然语言处理中(NLP,Natural Language ProcessingNLP,Natural Language Processing),分词是一个较为简单也基础的基本技术.常用的分词方法包括这两种:基于字典的机械分词 和 基于统计序列标注的分词.对于基于字典的机械分词本文不再赘述,可…
HanLP 关键词提取算法分析详解 l 参考论文:<TextRank: Bringing Order into Texts> l TextRank算法提取关键词的Java实现 l TextRank算法自动摘要的Java实现这篇文章中作者大概解释了一下TextRank公式 1. 论文 In this paper, we introduce the TextRank graphbased ranking model for graphs extracted from natural languag…
深度学习实战篇-基于RNN的中文分词探索 近年来,深度学习在人工智能的多个领域取得了显著成绩.微软使用的152层深度神经网络在ImageNet的比赛上斩获多项第一,同时在图像识别中超过了人类的识别水平.百度在中文语音识别上取得了97%的准确率,已经超过了人类的识别能力. 随着深度学习在越来越多的领域中取得了突破性进展,自然语言处理这一人工智能的重要领域吸引了大批的研究者的注意力.最近谷歌发布了基于深度学习的机器翻译(GNMT),和基于短语的机器翻译相比,错误率降低了55%-85%以上,从而又引发…
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么: 用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 选项: -c 创建新的存档 -t 列出存档内容的列表 -x 展开存档中的命名的(或所有的]文件 -u 更新已存在的存档 -v 生成详细输出到标准输出上…
百度:基于STM32的uCOS-II移植详解 源:基于STM32的uCOS-II移植详解…
 结构化感知机标注框架是一套利用感知机做序列标注任务,并且应用到中文分词.词性标注与命名实体识别这三个问题的完整在线学习框架,该框架利用1个算法解决3个问题,时自治同意的系统,同时三个任务顺序渐进,构成流水线式的系统.本文先介绍中文分词框架部分内容. 中文分词 训练 只需指定输入语料的路径(单文档时为文件路径,多文档时为文件夹路径,灵活处理),以及模型保存位置即可: 命令行 java -cp hanlp.jar com.hankcs.hanlp.model.perceptron.Main -ta…
摘要:elasticsearch是使用比较广泛的分布式搜索引擎,es提供了一个的单字分词工具,还有一个分词插件ik使用比较广泛,hanlp是一个自然语言处理包,能更好的根据上下文的语义,人名,地名,组织机构名等来切分词 Elasticsearch 默认分词 输出: IK分词 输出: hanlp分词 输出: ik分词没有根据句子的含义来分词,hanlp能根据语义正确的切分出词 安装步骤: 1.进入https://github.com/pengcong90/elasticsearch-analysi…
摘要: 通过腾讯shuffle部署对shuffle过程进行详解 摘要:腾讯分布式数据仓库基于开源软件Hadoop和Hive进行构建,TDW计算引擎包括两部分:MapReduce和Spark,两者内部都包含了一个重要的过程—Shuffle.本文对Shuffle过程进行解析,并对两个计算引擎的Shuffle过程进行比较. 腾讯分布式数据仓库(Tencent distributed Data Warehouse, 简称TDW)基于开源软件Hadoop和Hive进行构建,并且根据公司数据量大.计算复杂等…
http://biancheng.dnbcw.info/java/341268.html CRF简介 Conditional Random Field:条件随机场,一种机器学习技术(模型) CRF由John Lafferty最早用于NLP技术领域,其在NLP技术领域中主要用于文本标注,并有多种应用场景,例如: 分词(标注字的词位信息,由字构词) 词性标注(标注分词的词性,例如:名词,动词,助词) 命名实体识别(识别人名,地名,机构名,商品名等具有一定内在规律的实体名词) 本文主要描述如何使用CR…
1.Log4j 1.1了解Log4j Log4j是Apache的一个开源项目,通过使用log4j,我们可以控制日志信息输送的目的地可以是控制台.文件.GUI组件,我们也可以控制每一条日志的输出格式,通过定义每一条日志信息的级别,我们能够更加细致的控制日志的生成过程. 1.2配置Log4j步骤(java项目) 在java程序中配置Log4j日志共分为4步: 1.第一步 加入log4j-1.2.8.jar(可以选择log4j的更高版本)到lib下. 如果使用maven项目,也可以选择在pom.xml…
目录 模块安装 开源代码 基本用法 启用Paddle 词性标注 调整词典 智能识别新词 搜索引擎模式分词 使用自定义词典 关键词提取 停用词过滤 模块安装 pip install jieba jieba分词器支持4种分词模式: 精确模式该模式会试图将句子最精确地切分开,适合在文本分析时使用. 全模式该模式会将句子中所有可以成词的词语都扫描出来,速度也非常快,缺点是不能解决歧义问题,有歧义的词语也会被扫描出来. 搜索引擎模式该模式会在精确模式的基础上对长词语再进行切分,将更短的词切分出来.在搜索引…
1.src:存放所有的*.java源程序. 2.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3.assets:可以存放项目一些较大的资源文件,例如:图片.音乐.字体等. 4.res:可以存放项目中所有的资源文件,例如:图片(*.png.*.jpg).文本等. 5.res/drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型. 6.res/drawable-ldpi:保存低分辩率图…
一.什么是RBAC 基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注. 在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理. 在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色.角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收.角色与角色的关…
这是另一套基于CRF的词法分析系统,类似感知机词法分析器,提供了完善的训练与分析接口. CRF的效果比感知机稍好一些,然而训练速度较慢,也不支持在线学习. 默认模型训练自OpenCorpus/pku98/199801.txt,随hanlp 1.6.2以上版本发布. 语料格式等与感知机词法分析器相同,请先阅读<感知机词法分析器>. 中文分词 训练 CRFSegmenter segmenter = new CRFSegmenter(null); segmenter.train("data…
一.TreeGrid组件相关的类 1.TreeGrid(_config) _config:json格式的数据,组件所需要的数据都通过该参数提供. 2.TreeGridItem(_root, _rowId, _rowIndex, _rowData) _root:显示组件实例的目标容器对象. _rowId:选中行的id. _rowIndex:选中行的索引. _rowData:json格式的行数据. 二._config参数详解 id:组件实例的id. width:组件实例的宽度. renderTo:用…
不像英文那样单词之间有空格作为天然的分界线, 中文词语之间没有明显界限.必须采用一些方法将中文语句划分为单词序列才能进一步处理, 这一划分步骤即是所谓的中文分词. 主流中文分词方法包括基于规则的分词,基于大规模语料库的统计学习方法以及在实践中应用最多的规则与统计综合方法. 隐马尔科夫模型(HMM)是中文分词中一类常用的统计模型, 本文将使用该模型构造分词器.关于HMM模型的介绍可以参见隐式马尔科夫模型. 方法介绍 中文分词问题可以表示为一个序列标注问题,定义两个类别: E代表词语中最后一个字 B…
为什么要写这篇博客? 其实我是一个入坑已经半年的程序员,因为不是计算机专业,只能自己摸索,所以我深知博客的重要性.每次我的学习笔记啊,项目的,面试题啊,有的,只要有时间,我肯定上传上来,一方面自己可以随时随地的看,另一方面也可以方便大家. 了解一个项目,恐怕首先都是通过其Readme文件了解信息.如果你以为Readme文件都是随便写写的那你就错了.github,oschina git gitcafe的代码托管平台上的项目的Readme.MD文件都是有其特有的语法的.称之为Markdown语法,今…
1.引入log4j的jar包 https://mvnrepository.com/,可以找到log4j的jar和依赖. 2.创建log4j.properties,并配置log4j #设置日志的级别 ,多个以,分开(没有给出的,则不会被输出) log4j.rootLogger=debug,A,R # log4j.appender.logfile.encoding=UTF-8 #DailyRollingFileAppender每天产生一个日志文件 log4j.appender.R=org.apach…
在新版本的ADT创建项目时,混码的文件不再是proguard.cfg,而是project.properties和proguard-project.txt. 如果需要对项目进行全局混码,只需要进行一步操作: 将project.properties的中 “#  proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt”的“#”去掉就可以了. 如 果有一些代码不能被混淆,比如需要加入了so文件…
在上一篇Quartz.Net实现作业定时调度详解,我们通过实例代码详细讲解与演示了基于Quartz.NET开发的详细方法.本篇我们主要讲述基于RDIFramework.NET框架整合Quartz.NET,以实现任务调度,并对任务持久化操作的全过程.本文主要通过以下几个方面讲解: 1.任务调度概述 2 任务调度管理 2.1.Cron表达式 2.2.创建用户过程调度任务 2.3.创建程序集任务 1.任务调度概述 任务调度在各种应用中都会存在,在业务系统中我们为了调度一些自动执行的任务或从队列中消费一…
上一节<WCF分布式框架基础概念>我们介绍了WCF服务的概念和通信框架模型,并给出了基于自定义托管服务的WCF程序的实现代码.考虑到WCF分布式开发项目中关于托管宿主服务配置和客户端添加引用.两个环节最容易出错.对于大部分想学习WCF分布式开发的人来说,成功开发.配置.部署第一个自己的WCF服务困难重重.很多资料都介绍了WCF的基本概念.但是对于实际的项目开发过程介绍粗略,给入门者带来诸多不便.今天我们就来补充一节WCF分布式开发一个完整解决方案的开发和配置过程.本节基本结构是:首先介绍[1]…
PHP中auto_prepend_file与auto_append_file的用法 第一种方法:在所有页面的顶部与底部都加入require语句.例如:?123require('header.php');//页面正文内容部分require('footer.php');但这种方法如果需要修改顶部或底部require的文件路径,则需要修改所有页面文件.而且需要每个页面都加入require语句,比较麻烦.第二种方法:使用auto_prepend_file与auto_append_file在所有页面的顶部…
最近在整理通信层相关知识,这篇文章是边整理边写的,有些地方可能不够准确,还请各位路过的大牛专家指出来.这次整理的socket通信是基于TCP的,实现方式是GCD形式,以下记录的都是些理论知识,方便自己回忆. 1.socket通信原理:现网络上有很多socket开园框架文件,基本上能满足简单网络通信,但如过你的项目需要成熟的网络通信,还需要自 己对socket好好研究完善下.socket通信分为server端和client端,开发过程中分别对应着服务器和客户端.当连接上服务器 后,socket就会…
在这之前,我已经分享过组件与组件的通信机制以及父子组件之间的通信机制,而我们的vuex就是为了解决组件通信问题的 vuex是什么东东呢? 组件通信的本质其实就是在组件之间传递数据或组件的状态(这里将数据和状态统称为状态),但可以看到如果我们通过最基本的方式来进行通信,一旦需要管理的状态多了,代码就会变得十分臃肿和庞大.对所有状态的管理便会显得力不从心,因此,vuex出现了,他就是帮助我们把公用的状态全抽出来放在vuex的容器中,然后根据一定的规则来进行管理,我们赶紧来用一下吧,想要掌握vuex的…
上篇文章,我们简单的实现了一个自定义注解,相信大家对自定义注解有了个简单的认识,这篇,这样介绍下注解中的元注解和内置注解 整体图示 内置注解 @Override 重写覆盖 这个注解大家应该经常用到,主要在子类重写父类的方法,比如toString()方法 package com.kevin.demo; public class Demo1 { @Override public String toString(){ return "demo1"; } } @Deprecated 过时 @D…
Bootstrap FileInput插件功能如此强大,完全没有理由不去使用,但是国内很少能找到本插件完整的使用方法,于是本人去其官网翻译了一下英文说明文档放在这里供英文不好的同学勉强查阅.另外附上一段调用方发和servlet端的接收代码,未完待续. 引言: 一个强化的HTML5 文件输入插件,适用于Bootstrap 3.x.本插件对多种类型的文件提供文件预览,并且提供了多选等功能.本插件还提供给你一个简单的方式去安装一个先进的文件选择/上传控制版本去配合Bootstrap CSS3样式.通过…
前言 之前在开发中有使用到计时器NSTimer,后来了解到iOS中不同的计时方法,其中就包括了CADisplayLink.基于CADisplayLink以屏幕刷新频率同步绘图的特性,尝试根据这点去实现一个可以观察屏幕当前帧数的指示器. 结论在前 根据CADisplayLink所实现的FPS指示器在实际生产场景下只有指导意义,不能代表真实的FPS,具体原因见下文. 什么是CADisplayLink CADisplayLink是CoreAnimation提供的另一个类似于NSTimer的类,它总是在…
Android系统中本身是有下载机制的,比如浏览器使用的DownloadManager.可遗憾的是,DownloadManager只提供给浏览器使用,一般的应用程序没法调用它. 另外,如果下载调用频繁的话,使用DownloadManager其实是很没有效率的做法.为了解决这些问题,我想我们最好的办法就是自己实现下载,本文就是基于HTTP协议的下载的一些简单介绍. 一.HTTP协议简介     HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于199…
合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com 最近比较忙,只能抽节假日去学习和记录自己的学习,这一节我记录自己学习PE头的学习.在这里给大家介绍一本很好的学习PE的书:Windows PE权威指南.上一节我们一起学习DOS头.DOS头很多内容在16位DOS系统下面才会用到.在现在的Win32系统中,这些事冗余. 因此我们关注更多的是PE头而非DOS头.首…