Monthly Archives: August 2010

ShootSearch 0.2版 [C#][开源]

ShootSearch 0.2版发布!

1.重写蜘蛛模块,多线程操作更加灵活
2.增加队列手动保存,自动保存功能,可以加载队列继续下载
3.可以随时查看队列,以及当前线程状态
4.增加远程采集所需要的处理功能,可以按照指定的模板输出html,txt,xml等各种文本格式(使用开源组件stringtemplate.net),也可以编程输出到数据库中
5.增加Lucene.Net性能优化参数
6.采用log4Net输出日志,使日志系统更加灵活
7.增加了文档,方便用户使用

平台:.Net 2.0
授权:GPL
开发工具:Visual Studio.Net 2005

猛击这里下载

如何编写支持Lucene.NET的中文分词程序

近来很多朋友都给我写信询问如何把ShootSearch中文分词组件支持dotlucene,因为杂七杂八的事太多,所以一直没顾上,这两天研究了一下,发现其实很简单。

首先说明一下dotlucene的中文分词程序。我一开始接触dotlucene时,是1.4的版本,那个版本是支持中文分词的。一开始我还不太明白,后来发现那个StandardAnalyzer对中文的处理是按字去分,而非词。原来1.3版时dotlucene是不支持处理中文的!于是我就开始搜索支持中文按词分的程序,lucene的很多,但是dotlucene的却凤毛麟角,于是就产生了写一个中文分词程序的想法,后来看了一些文章后就有了ShootSearch中文分词组件。这个分词程序是最大匹配分词。

要想写支持dotlucene的中文分词程序一定要看的是这个Lucene.Net.Analysis.Cn,它是dotlucene1.3版时处理中文的分词组件。只要继承Analyzer,TokenFilter,Tokenizer这三个类即可,最低要求是Analyzer和Tokenizer这两个类,因为TokenFilter是用来处理噪声词的(就是单个的“的”“啊”“是”之类的词),暂时可以不管它。

Analyzer的继承是最简单的,只有3,4行代码,只需覆盖一个非常简单的方法TokenStream,参考我写的ShootAnalyzer即可,Tokenizer的继承稍微复杂一点点,因为这个是处理分词过程的类,不过实际上要是你的分词部分已经写好了的话也就几行代码万事!要覆盖的方法除了构造方法就是Next()方法,它的用意是返回一个词(Token),有点像数据库的游标一样,要是返回null就表示没有词了。Token的构造方法也很简单,返回一个字符串,和前后位置即可。大家如果有耐心的话可以仔细读一下Lucene.Net.Analysis.Cn的代码,Next()一次就是返回一个字而已。稍微把Segment.cs改造一下就可以很好地处理这个问题了,目前我的方法是增加了一个Ends属性,它存储的是一个int组,内容就是每个词的结束符地址。具体代码请大家参考一下我的ShootTokenizer吧,也就10来行代码,注释基本清晰。

最后要说一下,java的lucene下面有很多支持中文的分词程序,如果有需要的话可以尝试移植一下.

所有代码请到这里下载:http://www.shootsoft.net/index.php/2010/08/shootsearch-segment-070312/

ShootSearch 中文分词组件 070312 [C#][开源]

ShootSearch 分词组件(c#开源)

大小:970KB
版本:1.0 bate 070312
授权:开源GPL
平台:.Net1.1
技术支持:support@shootsoft.net
http://www.shootsoft.net

分词算法:词库+最大匹配
词库来自www.jesoft.cn,已经过一定的修改

使用说明:

先加载词库,再进行分词.分词过程重载两次:支持回车的和不支持回车的,注意选择!
可以手动添加词语到sDict.txt,不过每次手动修改后需要调用SortDic()方法,否则无法实现最大匹配!
sDict.txt的编码为UTF-8!

2007-03-12—-1.0 bate 070312
修正了几个文章末尾分词不正确的bug
支持Lucene

2006-8-30—-1.0 bate 060830
修正了两个增加双分隔符的bug

2006-8-9—-1.0 bate 060809
支持英文、数字、中文(简体)混合分词
常用的数量和人名的匹配
超过22万词的词库整理
实现正向最大匹配算法
智能数字,日期,人名识别

猛击这里下载

NewSpeedCar[VB6][开源]

NetSpeedCar(网络飞车)是一款用VB编写的单窗口多页面浏览器,软件主要功能有:
1.多页浏览网页,减少系统资源占用。可以开启近乎无数个页卡。
2.搜索功能简单强大,同时集成翻译引擎,还可自定义地址栏搜索。
3.多种附带工具,记忆表单,自动填表 ,三键鼠标模拟器 ,Cookies查看器,IP地址,Cpu查看器,超链接扫描(可扫描出Flash,图片和多媒体文件等等)等方便用户在冲浪的同时使用。
4.独特的快速登录功能
5.用户选择自己喜欢的外壳
6.自动监视剪贴板
7.网页群组功能
8.网页黑名单
9.重新打开关闭网页
10.[简体中文版],可朗读中英文网页;[国际版]更支持11中语语言朗读!!

分为两个版本:
NetSpeedCar 2003 国际版
此版支持11种语言发音,采用微软TTS3000和MSAgent技术。
与简体中文版相比去掉了射日新闻通,特殊服务和网站导航功能。

NetSpeedCar 2003 简体中文版
此版在原NetSpeedCar 2002的基础上升级而来,保留了射日新闻通,特殊服务和网站导航功能。同时集成微软TTS5.1发音功能,可以朗读中英文网页。

This product includes software developed by vbAccelerator (http://vbaccelerator.com/).

安装说明:
由于使用了来自http://www.vbAccelerator.com的皮肤(大家可以到那里下载源码)
首先请将other source\!Setup 下面的vbalNCSM6.dll和SSubTmr6.dll两个dll文件拷贝

Win98\ME 的 Windows\System\目录下 或
Win2000\NT\XP\2003 的 WinNT\System32\目录下
然后运行 other source\!Setup 下的setup.exe

目录结构:
source 说明:源码
end user 说明:最终用户使用的
other source 说明:其他程序源码包括几个小工具的和安装辅助的

猛击这里下载