Ads by Lake Quincy Media

eaglet

本博专注于基于微软技术的搜索相关技术
posts - 175, comments - 2982, trackbacks - 26, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

搜索引擎

摘要: 1.1.4.0 版本对底层的查询算法做了很大改进,特别是对单个关键字的查询速度,原来版本当匹配100万时用时 130ms,这个版本用时只有30ms。 这个速度大概是 lucene.net 的三倍左右。阅读全文

posted @ 2011-07-24 17:11 eaglet 阅读(930) | 评论 (5) 编辑 |

摘要: HubbleDotNet 在设计之初就定位为一个开放式的搜索平台,分词器,得分算法,数据库适配器,存储过程,函数等等都可以通过编写自定义的插件来定制。目前版本分词器,数据库适配器的自定义接口已经开放,得分算法的自定义接口也将在最近开放出来。本文将讲述如何编写自己的分词器。阅读全文

posted @ 2011-06-03 06:05 eaglet 阅读(2483) | 评论 (15) 编辑 |

摘要: HubbleDotNet 1.1.2 以前版本客户端和服务器之间都是同步 TCP Socket 方式通讯,这种方式要为每个连接保持一个TCP通道,每次建立连接都要创建新的TCP连接,效率很低。而且有最大连接数限制,当服务器很忙时,1.1.2 以前版本经常会出现 Too many connects on server 错误,虽然通过增大 MaxConnectNum 的值可以缓解,但无法根治。1.1.2 版本推出了全新的异步通讯模式,同一个客户端和服务器之间所有的 Hubbble 连接都共用一个 TCP 链路,这个设计彻底解决了最大连接数不够的问题,大大提高了系统的处理能力阅读全文

posted @ 2011-05-30 08:11 eaglet 阅读(2176) | 评论 (9) 编辑 |

摘要: 全文索引的分布式检索粗想想似乎很简单,感觉就是把多个接入点搜索出来的数据做个合并排序就可以,但如果想要做好,满足商业应用要求,这里面涉及到很多算法优化的问题,比如多路排序的优化,动态路由,翻页的优化,通讯的优化,分发复制,冗余和故障转移等等。从今天开始,我将逐步讲解HubbleDotNet 在分布式检索方面的众多算法考虑。由于涉及的算法很多,无法在一篇全部阐述,我打算采用由浅入深的思路,先从比较简单的算法开始。本文将介绍翻页的优化技术。阅读全文

posted @ 2011-05-18 08:48 eaglet 阅读(2490) | 评论 (14) 编辑 |

摘要: Lucene.net 项目有将近1年没有出官方版本了,从去年年初就听说好像出什么问题了,但一直没有看到官方说法。最近搜了一下,这个项目好像确实停了。Apache 开源基金会已经把这个项目的主页下掉了,放到孵化器里面去了。这个项目目前用户还是很多的,包括博客园的找找看,我估计也是基于这个 lucene.net 的,停了还是比较可惜的,希望它的分支能继续发展起来。下面把我看到的相关文章,我大概给介绍一下,看看这个项目到底是出了什么问题。阅读全文

posted @ 2011-02-24 09:20 eaglet 阅读(4900) | 评论 (23) 编辑 |

posted @ 2011-01-11 12:28 eaglet 阅读(494) | 评论 (1) 编辑 |

摘要: 本文讲述 Contains 方式搜索的原理和方法阅读全文

posted @ 2010-09-16 08:20 eaglet 阅读(980) | 评论 (1) 编辑 |

摘要: 本文讲述Match方式搜索的原理和方法阅读全文

posted @ 2010-09-16 08:04 eaglet 阅读(992) | 评论 (8) 编辑 |

摘要: 第二部分是Bigtable 的数据模型介绍,这部分应该是Bigtable 的核心思想。阅读全文

posted @ 2010-09-13 09:18 eaglet 阅读(1601) | 评论 (0) 编辑 |

摘要: 这篇文章是Bigtable 的设计者Jeffrey Dean 等所写的一篇比较权威的介绍Bigtable的论文,由于比较长,我将分各个章节陆续翻译,翻译采用中英文混合的方式,这样如果由于我英文水平有限而产生出入,也方便读者进行指正。Bigtable的设计思路对于构建大型分布式存储和数据检索系统有非常好的参考价值,其也成功的应用于google等世界知名的互联网公司。阅读全文

posted @ 2010-05-27 11:01 eaglet 阅读(2748) | 评论 (11) 编辑 |

摘要: 盘古分词 V1.2 版本发布阅读全文

posted @ 2010-02-03 12:54 eaglet 阅读(1651) | 评论 (18) 编辑 |

摘要: Hubble.net V0.7.2.0 版本发布阅读全文

posted @ 2009-12-18 20:21 eaglet 阅读(1330) | 评论 (19) 编辑 |

摘要: Hubble.net 是一个基于.net framework 的开源免费的全文搜索数据库组件。开源协议是 Apache 2.0。Hubble.net 提供了基于SQL的全文检索接口,使用者只需会操作SQL,就可以很快学会使用Hubble.net进行全文检索。Hubble.net 可以实现全文索引和查询、多域检索和排序、分组统计、消重、分类、聚类、多表关联查询等等一系列全文检索和数据挖掘功能。Hubble.net 提供开放的数据库适配器接口,可以和各种数据库完美整合,为各种数据库系统附加全文检索和数据挖掘功能。Hubble.net 设计了较为完善的并发控制程序,数据的增删改查可以多线程同时并发进行,没有任何冲突。Hubble.net 还进行了缓存和内存管理设计,可以帮助用户最大限度的提高查询的效率。Hubble.net 力争在未来的几年内超过Lucene.net成为.net开发环境中最受欢迎的全文检索组件。阅读全文

posted @ 2009-12-15 09:44 eaglet 阅读(5830) | 评论 (49) 编辑 |

摘要: Hubble.net 0.7.1.0 版本发布和修改说明阅读全文

posted @ 2009-12-14 15:05 eaglet 阅读(748) | 评论 (7) 编辑 |

摘要: Hubble.net 从开发到现在整整一年时间,今天第一个测试版本终于可以发布了,也算是对我这一年来的努力的回报吧。Hubble.net 在开发过程中得到了很多园友的关注和支持,在此表示感谢,也希望大家继续关注和支持这个开源项目。 阅读全文

posted @ 2009-11-30 15:14 eaglet 阅读(634) | 评论 (18) 编辑 |

摘要: Hubble.net 安装指南阅读全文

posted @ 2009-11-30 14:47 eaglet 阅读(4968) | 评论 (38) 编辑 |

摘要: 该版本完成了 create table drop table 表级别锁 系统存储过程 优化了大量插入时的内存管理阅读全文

posted @ 2009-09-29 10:21 eaglet 阅读(421) | 评论 (3) 编辑 |

摘要: Hubble.net 建表语句 Create Table阅读全文

posted @ 2009-09-15 15:21 eaglet 阅读(732) | 评论 (6) 编辑 |

摘要: 0.4 版本完成了如下功能 1. TSFQL 脚本解释器框架 2. Insert, update, delete 和 select 语句。 3. 对批命令的支持阅读全文

posted @ 2009-09-01 15:54 eaglet 阅读(667) | 评论 (8) 编辑 |

摘要: eaglet 曾经在KTDictSeg 中分别尝试使用规则和统计方式来识别中文(汉族)人名,但效果都不理想。在盘古分词中eaglet另辟它径,采用一种新的算法来识别中文人名,效果相比规则和统计方式要好很多。下面eaglet就来介绍这种中文人名的识别方法。阅读全文

posted @ 2009-08-19 10:01 eaglet 阅读(4705) | 评论 (19) 编辑 |

摘要: 两年前我开发了一个KTDictSeg 中文分词组件,这个组件推出2年来受到很多朋友的喜爱。不过由于我当初开发KTDictSeg时比较仓促,底子没有打好,而且当时对分词的理解也比较肤浅,所以KTDictSeg组件存在很多问题,我一直想重新开放一个更好的开源分词组件,但一直没有抽出时间。上周我终于下定决心开始做这个事情,经过两周的开发(业余时间),今天终于完成了盘古分词的V1.0版本。盘古分词和KTDictSeg完全不同,几乎所有的算法我全部都推倒重写了,其分词速度大概比KTDictSeg快5倍左右(多线程下快10倍以上),内存占用只有KTDictSeg的一半,分词的准确度方面也比 KTDictSeg 有显著提高,功能也增加了很多。下面我就简单介绍一下盘古分词组件的基本功能,希望能对有这方面需求的朋友有所帮助。阅读全文

posted @ 2009-08-13 16:50 eaglet 阅读(10025) | 评论 (105) 编辑 |

摘要: 今天是Hubble.net 值得纪念的一天,从开始规划Hubble.net 到今天已经8个多月,从0.1到0.2再到0.3再到0.4,每个版本都是一个故事,这期间不知道到解决了多少难题也不知道度过了多少个不眠之夜。多少次我一个人走在林荫道上考虑着一个又一个算法,多少次我看不到希望想放弃,但最后还是咬牙坚持。没有人和我讨论和交流,我就这样一个人寂寞的走着走着,看不到任何可见的成果,但我始终坚信,我有能力走下去,有能力看到我想要的东西。路很长,但只要坚持不懈,路再长也只是时间问题。 阅读全文

posted @ 2009-07-30 20:40 eaglet 阅读(980) | 评论 (18) 编辑 |

摘要: Hubble.net 0.3 版本发布阅读全文

posted @ 2009-07-01 10:24 eaglet 阅读(1217) | 评论 (12) 编辑 |

摘要: Hubble.net V0.2 版本历时将近半年时间,终于全部结束,期间走了一些弯路,耽误了一些时间。 阅读全文

posted @ 2009-05-27 09:39 eaglet 阅读(611) | 评论 (12) 编辑 |

摘要: Hubble.net 持久化方面3个重大改进 1.持久的DocId 2. 元数据快速修改 3. 高效的增量索引阅读全文

posted @ 2009-04-28 11:18 eaglet 阅读(484) | 评论 (7) 编辑 |

摘要: T-SFQL (Transact-Structured Full-text Query Language) 是在T-SQL 标准基础上衍生出来的结构化全文查询语言。2009年由Hubble.net 提出,语言全文数据库的查询和管理。 T-SFQL 0.1 版本为T-SFQL 语言推出的第一个版本。该版本只提供基本的“增删改查”功能。其他功能将逐渐在后续版本中提供。 阅读全文

posted @ 2009-04-27 18:37 eaglet 阅读(550) | 评论 (12) 编辑 |

摘要: 我们经常听说 Google 有一套诡异的机制来检测无效点击,用来对付作弊者,但 Google 到底是怎么做到的呢?这篇文章归纳出 Google 用之以判断广告点击有效与否的方法。通常来说,Google 不会马上封掉你的帐户,他们会把你的帐户标记起来并进行特别监视,有时候还会给你寄警告信。 阅读全文

posted @ 2009-03-13 10:29 eaglet 阅读(591) | 评论 (1) 编辑 |

摘要: 这是一篇公司的内部培训教材,其中中的内容涵盖LUCENE的方方面面,从源代码角度深入剖析LUCENE,如果要对LUCENE有更加深入的了解(专家级别),这篇技术文档必不可少。 前提:对LUCENE有一定程度的了解,否则会让你云里雾里阅读全文

posted @ 2009-02-16 14:53 eaglet 阅读(3607) | 评论 (3) 编辑 |

摘要: 如何给文档评分阅读全文

posted @ 2009-02-16 14:45 eaglet 阅读(1222) | 评论 (0) 编辑 |

摘要: 文档内容是如何分析的阅读全文

posted @ 2009-02-16 14:37 eaglet 阅读(1291) | 评论 (0) 编辑 |

摘要: 5 索引是如何存储的阅读全文

posted @ 2009-02-16 14:33 eaglet 阅读(1080) | 评论 (0) 编辑 |

摘要: 4.3 索引创建过程 文档的索引过程是通过DocumentsWriter的内部数据处理链完成的,DocumentsWriter可以实现同时添加多个文档并将它们写入一个临时的segment中,完成后再由IndexWriter和SegmentMerger合并到统一的segment中去。DocumentsWriter支持多线程处理,即多个线程同时添加文档,它会为每个请求分配一个DocumentsWriterThreadState对象来监控此处理过程。处理时通过DocumentsWriter初始化时建立的DocFieldProcessor管理的索引处理链来完成的,依次处理为DocFieldConsumers、DocInverter、TermsHash、FreqProxTermsWriter、TermVectorsTermsWriter、NormsWriter以及StoredFieldsWriter等。 阅读全文

posted @ 2009-02-16 14:27 eaglet 阅读(1068) | 评论 (1) 编辑 |

摘要: 4 索引是如何创建的 为了使用Lucene来索引数据,首先你比把它转换成一个纯文本(plain-text)tokens的数据流(stream),并通过它创建出Document对象,其包含的Fields成员容纳这些文本数据。一旦你准备好些Document对象,你就可以调用IndexWriter类的addDocument(Document)方法来传递这些对象到Lucene并写入索引中。当你做这些的时候,Lucene首先分析(analyzer)这些数据来使得它们更适合索引。详见《Lucene In Action》阅读全文

posted @ 2009-02-16 14:23 eaglet 阅读(1371) | 评论 (0) 编辑 |

摘要: 3.3.6 Term向量文件 Term向量(vector)的支持是field基本组成中对一个field来说的可选项,它包含如下4种文件: 阅读全文

posted @ 2009-02-16 14:00 eaglet 阅读(779) | 评论 (0) 编辑 |

摘要: 3.3.3 Term频率数据(.frq) Term频率数据文件(.frq文件)存储容纳了每一个term的文档列表,以及该term出现在该文档中的频率(出现次数frequency,如果omitTf设置为fals时才存储)。阅读全文

posted @ 2009-02-13 14:56 eaglet 阅读(1252) | 评论 (0) 编辑 |

摘要: 3.3 每个Segment包含的文件阅读全文

posted @ 2009-02-13 14:49 eaglet 阅读(1020) | 评论 (0) 编辑 |

摘要: Lucene使用文件扩展名标识不同的索引文件,文件名标识不同版本或者代(generation)的索引片段(segment)。如.fnm文件存储域Fields名称及其属性,.fdt存储文档各项域数据,.fdx存储文档在fdt中的偏移位置即其索引文件,.frq存储文档中term位置数据,.tii文件存储term字典,.tis文件存储term频率数据,.prx存储term接近度数据,.nrm存储调节因子数据,另外segments_X文件存储当前最新索引片段的信息,其中X为其最新修改版本,segments.gen存储当前版本即X值,这些文件的详细介绍上节已说过了。阅读全文

posted @ 2009-02-13 14:37 eaglet 阅读(1781) | 评论 (0) 编辑 |

摘要: 为了使用Lucene来索引数据,首先你得把它转换成一个纯文本(plain-text)tokens的数据流(stream),并通过它创建出Document对象,其包含的Fields成员容纳这些文本数据。一旦你准备好些Document对象,你就可以调用IndexWriter类的addDocument(Document)方法来传递这些对象到Lucene并写入索引中。当你做这些的时候,Lucene首先分析(analyzer)这些数据来使得它们更适合索引。详见《Lucene In Action》阅读全文

posted @ 2009-02-13 14:28 eaglet 阅读(1857) | 评论 (2) 编辑 |

摘要: Apache Lucene是一个高性能(high-performance)的全能的全文检索(full-featured text search engine)的搜索引擎框架库,完全(entirely)使用Java开发。它是一种技术(technology),适合于(suitable for)几乎(nearly)任何一种需要全文检索(full-text search)的应用,特别是跨平台(cross-platform)的应用。阅读全文

posted @ 2009-02-13 14:05 eaglet 阅读(2658) | 评论 (0) 编辑 |

摘要: 这是google 的两位创始人2000年左右在斯坦福大学发表的论文,文章讲述了google最初的设计目标和系统特性。转眼这么多年过去了,google 已经从一个很小的初创公司成长为世界上最大的互联网公司。今天偶然从互联网上搜到这篇文章,感慨良多,让我们一起来回顾这个互联网巨头的青涩时代吧。 转载了文章的原文阅读全文

posted @ 2009-02-13 09:19 eaglet 阅读(1121) | 评论 (2) 编辑 |

摘要: 日常工作中经常要查找这方面的相关文章,做个索引,并不断更新,以便日后查找。阅读全文

posted @ 2009-01-07 08:50 eaglet 阅读(3120) | 评论 (7) 编辑 |

摘要: HubbleDotNet 近期版本规划阅读全文

posted @ 2008-12-04 12:29 eaglet 阅读(1993) | 评论 (18) 编辑 |

摘要: 经过3周的开发,Hubble.Net 0.1 版本已经完成。这个版本不是一个可以商业应用的版本,准确的说其只完成了一些最核心的算法。发布这个版本的目的是为那些对搜索算法感兴趣的朋友们提供一个最单纯的版本,方便这些朋友们进行研究和测试。目前这个版本的运行效率和准确度已经比较高,不过我还是希望高手们能够提出更好的算法改进,以提高性能或准确度。阅读全文

posted @ 2008-12-02 14:38 eaglet 阅读(3273) | 评论 (27) 编辑 |

摘要: 今天在阅读LingWay (一个做垂直的语义搜索引擎)的CTO Cedric Champeau 先生的博客是发现有一篇题为:Why lucene isn't that good 为什么Lucene并不是想象的那么棒 的文章:Champeau 开门见山指出了Lucene的6大不足之处,鉴于 Lingway 公司使用Lucene已有好几年的历史,我相信Cedric Champeau的对Lucene的评论还是值得一读。阅读全文

posted @ 2008-11-24 07:35 eaglet 阅读(2277) | 评论 (7) 编辑 |

摘要: 1.4.2 版本是 1.4 正式版,该版本修改了 1.4.1 版本的一下错误。阅读全文

posted @ 2008-11-17 13:54 eaglet 阅读(2554) | 评论 (55) 编辑 |

摘要: 32位Windows操作系统下单个进程的用户模式内存访问的限制是2G,如果在boot.ini中设置了/3G开关,则最大为3G,超过3G将无法访问。由于Hubble.net 项目是一个数据库系统,必须要考虑使用大内存缓存数据的问题,于是最近对这个问题进行了一些研究。其实这块的技术是现成的,32位操作系统下只有通过 AWE的方式来扩展内存。这块的文章也很多,但很少有.net 下如何使用的实例,我做了一个类似MemoryStream的封装,可以让.Net程序员轻松操作AWE内存,从而使其程序轻松突破2G内存的限制。阅读全文

posted @ 2008-11-06 14:00 eaglet 阅读(4369) | 评论 (17) 编辑 |

摘要: 很多文章提到 Lucene.Net RangeQuery 的查询效率非常低下,我今天测试了一下,果然非常低下,而且结果也不正确。阅读全文

posted @ 2008-11-03 12:07 eaglet 阅读(1191) | 评论 (7) 编辑 |

摘要: Hubble.Net 全文数据库开源项目是一个建立在 .net 框架基础上的由中国程序员主导的全文数据检索开源项目。项目旨在为全文检索开发者或用户提供一个简单易用、高性能、高可用性的全文数据库中间件。Hubble.Net的骨干版本提供最基本的全文检索接口和界面,并被设计为高度可扩展的系统架构,以吸引众多的开发者参与进系统扩展功能的研发和推广,最终形成一套较为完整的全文检索解决方案。阅读全文

posted @ 2008-10-28 09:09 eaglet 阅读(3952) | 评论 (38) 编辑 |

摘要: KTDictSeg 1.4.01 版本经过一段时间的紧张开发,今天正式发布。感谢这段时间一直关心这个项目的朋友们。希望我的工作能给大家带来快乐。 阅读全文

posted @ 2008-10-10 07:56 eaglet 阅读(4502) | 评论 (66) 编辑 |

摘要: 盘古分词开发了多元分词算法,其与lucene.net 配合构建全文搜索,经测试准确度接近google和baidu的水平。现将一些实现方法和测试结果公布出来,供关心分词和搜索技术的朋友们参考。阅读全文

posted @ 2008-10-02 16:34 eaglet 阅读(7300) | 评论 (26) 编辑 |

摘要: 最近我的博客中有两位网友在使用 KTDictSeg 1.3 + lucene.net 2.0 + HighLight.net 2.0 是出现问题,高度怀疑是HighLight.net 2.0 版本的Bug, 今天腾出时间把几个组件的源码全部下下来,调试了一把,终于找到了这个Bug,下面把Bug的具体原因和修改后的源码发上来,供大家参考。另外哪位网友 知道如何向 lucene apache 组织 申报Bug,麻烦告知一声,以便我将这个Bug提交给该组织,让它的后续版本可以改进这个错误。阅读全文

posted @ 2008-07-09 09:22 eaglet 阅读(1986) | 评论 (11) 编辑 |

摘要: HighLight.net 是Lucene.net 带的一个开源高亮显示的组件,这个组件 2.0 版本以上的源码在网上很难找到,而这个组件
感觉又存在一些bug,遇到问题想调试一下,又没有源码,实在让人抓狂。
今天用最土的方法,一个一个文件下载,总是把这个版本的源码给凑齐了,编译了一下,没有问题,发上来,方便大家调试,
大家如果发现这里面有什么bug,还望多多分享。阅读全文

posted @ 2008-07-07 11:10 eaglet 阅读(2423) | 评论 (19) 编辑 |

摘要: 目前互联网上关于Lucene 及 Lucene.net 的文章很多,看了一些,感觉绝大部分还是偏向于应用,真正深入探讨其核心算法的文章不是太多,最近打算深入研究一下Lucene.net,把一些关键技术点的核心算法搞清楚。在开始做这个工作之前,先对目前互联网上可以利用的资源做个汇总,算是抛砖引玉吧,还望网友们多来补充,大家共同学习! 阅读全文

posted @ 2008-07-03 21:29 eaglet 阅读(3512) | 评论 (14) 编辑 |

摘要: 公布1.3版本的所有改动和下载位置 阅读全文

posted @ 2008-05-29 08:27 eaglet 阅读(8215) | 评论 (130) 编辑 |

摘要: 中文姓名识别和未登录词识别是中文分词中的难点,具体为什么是难点,很多文章都有叙述,这里不再多讲。主要介绍一下 1.3版本是如何对中文姓名和未登录词进行识别的。阅读全文

posted @ 2008-05-28 15:18 eaglet 阅读(2370) | 评论 (12) 编辑 |

摘要: KTDictSeg 分词组件1.3版本已经接近完成,只剩下最后的一点功能。在KTDictSeg 分词组件1.3版本的开发过程中,得到了很多朋友的关注和支持,特别是一些分词方面的专家提出了很多很好的意见,也对我的分词算法给出了很多中肯的建议,在此向他们表示由衷的感谢。1.3版本的预分词算法还是沿用了之前版本的变相的最大匹配算法,这个算法有着本质的缺陷,未来的2.0版本可能会使用目前比较先进的算法替代这个过时的算法。 1.3版本在预分词中增加了对英文专业词汇的支持,比如C++,C#原来无法被分出来,现在只要在词库中有就可以分出来。在预分词中1.3版本还增加了对词频的判断。在预分词后,1.3版本对中文姓名匹配,未登录词识别等进行了一些改进。另外1.3版本还增加了对lucene.net的支持以及字典管理功能。之前很多朋友建议将ArrayList全部改成了List<>,非常好的建议,1.3版本将原来代码中所有的ArrayList全部改成了List<>. 从今天开始,我打算逐步公布新版本中的一些主要算法,供朋友们参考,由于我水平有限,很多算法难尽如人意,有不对的地方还望指正。 阅读全文

posted @ 2008-05-27 15:07 eaglet 阅读(2768) | 评论 (32) 编辑 |

摘要: 最近在做KTDictSeg 的 1.3 版本,在这个版本中做了一个用Lucene.net 搜索新闻的例子,其中生成关键词摘要用了
highlighter.net-1.4.0版本,发现中文关键词摘要生成结果总是不对,但英文的结果是对的。没办法,只得把highlighter.net
的源码拿出来调了一遍,最终发现问题在TokenGroup类的IsDistinct函数上。
阅读全文

posted @ 2008-05-06 19:07 eaglet 阅读(1601) | 评论 (4) 编辑 |

摘要: PFR人民日报标注语料库(版本1.0,下面简称PFR语料库)是在得到人民日报社新闻信息中心许可的条件下,以1998年人民日报语料为对象,由北京大学计算语言学研究所和富士通研究开发中心有限公司共同制作的标注语料库。该语料库对600多万字节的中文文章进行了分词及词性标注,其被作为原始数据应用于大量的研究和论文中。由于该语料库是以文本形式提供的,本文给出了读取该语料库的C#代码,供网友参考。阅读全文

posted @ 2007-09-10 13:20 eaglet 阅读(4001) | 评论 (10) 编辑 |

摘要: 在数据挖掘的研究中,我们往往需要判断文章是否雷同,对类似文章或短句进行归类处理等,这其中就会遇到这样的问题:如何确定两个字符串之间的相似程度。 本文综合作者的实际工作经验和数据挖掘理论,结合中文字符串特性介绍一套相对完整的方法,以解决上述问题.。阅读全文

posted @ 2007-08-14 09:59 eaglet 阅读(2747) | 评论 (4) 编辑 |

摘要: 经过一周的工作,完成了KTDictSeg 1.2 版本的开发,该版本多词库进行的初步整理,并增加了如下功能 1、 增加中文人名判断 2、 增加了正向匹配分词和反向匹配分词的选项 3、 增加了停用词过滤 4、 增加了词性标注 阅读全文

posted @ 2007-06-02 17:54 eaglet 阅读(5723) | 评论 (60) 编辑 |

摘要: 这段时间通过研究目前在互联网上可以搜索到的中文分词算法,感觉很难找到既快又准的分词方法,通过几天时间的研究,我终于找到了一种快速且较准确的中文分词方法。现在回过头来想想,觉得其实问题并不很复杂,对于一般应用,我觉得这个算法应该基本够用了,当然目前没有一种方法可以达到100%的分词准确度,这个算法也是一样。对于实际应用往往需要在效率和准确度上做个折中,当然对技术的追求是无止境的,我也将继续努力,争取在后续版本中进一步提高准确度,并维持现有效率。 阅读全文

posted @ 2007-05-24 18:14 eaglet 阅读(16341) | 评论 (85) 编辑 |