- 浏览: 2473761 次
- 性别:
- 来自: 北京
最新评论
-
masuweng:
你好, 根据机器码计算注册码的代码是在哪个包下的哪个类了.
APDPlat中的机器码生成机制 -
masuweng:
我的那个项目跑起来为什么503了
APDPlat中的机器码生成机制 -
masuweng:
APDPlat中的机器码生成机制 -
liutaochn:
可以用,thanks
Cygwin运行nutch报错:Failed to set permissions of path -
qbuer:
The Google Web Search API is no ...
使用Java调用谷歌搜索
文章列表
ElasticSearch的Schema free特性给动态提取并索引网页结构化文本内容提供了支持,使用URL的hash值来作为索引的主键(实际开发中使用URL作为主键,这里使用URL的hash值是为了方便演示),当网页内容改变后,可以非常方便地更新索引。
下面演示了动态索引结构和索引更新机制:
1、提交索引:
curl -XPUT http://localhost:9200/webpage/finance/85723925 -d '
{
"url" : "http://money.163.com/14/0523/02/9ST8D7K ...
QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。IBM人工智能计算机系统"沃森"(Watson)在2011年2月美国热门的电视智力问答节目"危险边缘"(Jeopardy!)中战胜了两位人类冠军选手,QuestionAnsweringSystem就是IBM Watson的Java开源实现。
系统架构如下:
工作原理:
1、判断问题类型(答案类型),当前使用模式匹配的方法,将来支持更多的方法,如朴素贝叶斯分类器。
2、提取问题关键词。
3、利用问题关键词搜索 ...
cws_evaluation 是一个Java开源项目,用于对Java中文分词器分词效果进行评估。
cws_evaluation 是通过对前文《word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器分词效果评估》中写的评估程序进行重构改进后形成的。
支持的分词器有:word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器、jcseg分词器、fudannlp分词器、paoding分词器、jieba分词器、stanford分词器等9大中文分词器。
评估采用的测试文本有253 3709行,共2837 4490个字符。
...
Java分布式中文分词组件 - word分词
word分词是一个Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。 能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。 同时提供了Lucene、Solr、ElasticSearch插件。
word分词器分词效果评估主要评估下面7种分词算法:
正向最大匹配算法:MaximumMatching逆向最大匹配算法:ReverseMaximumMatching正向最小匹配算法:MinimumMatching逆向最小匹配算法:ReverseMinimumMatching双向最大匹配算法:Bidirectiona ...
使用40个句子,在word分词、搜狗分词和ansj分词之间看看区别有多大。
word分词效果:
杨尚川 是 apdplat 应用 级 产品 开发 平台 的 作者
他 说 的 确实 在理
提高 人民 生活 水平
他俩 儿 谈恋爱 是从 头年 元月 开始 的 ...
在之前的博文中介绍了基于词典的逆向最大匹配算法,比如我们切分句子: 中华人民共和国万岁万岁万万岁,使用逆向最大匹配算法的切分结果为:[中华人民共和国, 万岁, 万岁, 万万岁],可以看到,切分出来的词是很长的,粒度很粗,如果我们想要切分出很细粒度的词,该怎么办呢?
本文介绍逆向最小匹配算法,该算法和逆向最大匹配算法相得益彰,一个强调细粒度,一个强调粗粒度。
使用逆向最小匹配算法,必须注意的一点是:词典中不能有单字词,词的长度至少为2!我们看逆向最小匹配算法和逆向最大匹配算法的代码比较:
切分效果如下:
切分句子: 中华人民共和国万岁万岁万万岁
逆向 ...
在之前的博文中介绍了基于词典的正向最大匹配算法,比如我们切分句子: 中华人民共和国万岁万岁万万岁,使用正向最大匹配算法的切分结果为:[中华人民共和国, 万岁, 万岁, 万万岁],可以看到,切分出来的词是很长的,粒 ...
In 2009 Tony Hoare, one of the giants of computer science, wrote:
I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to en ...
随着Web的发展,RIA越来越多,JavaScript和Complex AJAX Libraries给网络爬虫带来了极大的挑战,解析页面的时候需要模拟浏览器执行JavaScript才能获得需要的文本内容。
好在有一个Java开源项目HtmlUnit,它能模拟Firefox、IE、Chrome等浏览器,不但可以用来测试Web应用,还可以用来解析包含JS的页面以提取信息。
下面看看HtmlUnit的效果如何:
首先,建立一个maven工程,引入junit依赖和HtmlUnit依赖:
<dependency>
<groupId>junit ...
在之前的两篇博文中文分词算法 之 基于词典的正向最大匹配算法和中文分词算法 之 基于词典的逆向最大匹配算法中,我们对分词实现和词典实现都做了优化,本文对词典实现做进一步优化,并和之前的多个实现做一个对比,使用的词典下载地址,使用的测试文本下载地址。
优化TrieV3的关键在于把虚拟根节点(/)的子节点(词表首字母)提升为多个相互独立的根节点,并对这些根节点建立索引。优化的依据是根节点(词表首字母)的数量庞大,索引查找的速度远远超过二分查找。
下面看看进一步优化后的TrieV4和之前的TrieV3的对比:
/**
* 获取字符对应的根节点
...
在之前的博文中介绍了基于词典的正向最大匹配算法,用了不到50行代码就实现了,然后分析了词典查找算法的时空复杂性,最后使用前缀树来实现词典查找算法,并做了3次优化。
下面我们看看基于词典的逆向最大匹配算法的实现,实验表明,对于汉语来说,逆向最大匹配算法比(正向)最大匹配算法更有效,如下代码所示:
public static List<String> segReverse(String text){
Stack<String> result = new Stack<>();
while ...
运行Nutch的时候提示Generator: 0 records selected for fetching, exiting ...然后程序退出,怎么回事呢?
原因多种多样,归根结底就是CrawlDB中的URL经过爬虫抓取调度器(默认是org.apache.nutch.crawl.DefaultFetchSchedule)判断,断定都不应该去抓,所以,Stop The World。
我们使用命令如下命令来查看CrawlDB的统计信息:
bin/nutch readdb data/crawldb -stats
结果如下:
CrawlDb stat ...
Apache Nutch v1.8已经发布了,建议所有使用1.X系列的用户和开发人员升级到这个版本。这个版本的依赖库Crawler Commons升级到了0.3版本,Apache Tika也升级到了1.4版本,同时还修复了35个BUG,提供了18项改进。详细内容请看更新日志,下 ...
基于词典的正向最大匹配算法(最长词优先匹配),算法会根据词典文件自动调整最大长度,分词的好坏完全取决于词典。
算法流程图如下:
Java实现代码如下:
/**
* 基于词典的正向最大匹配算法
* @author 杨尚川
*/
public class WordSeg {
private static final List<String> DIC = new ArrayList<>();
private static final int MAX_LENGTH;
static{
tr ...