`
robbin
  • 浏览: 4797734 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:135668
社区版块
存档分类
最新评论

晒晒我们的开源项目

    博客分类:
  • Tech
阅读更多
我们的研发团队是一支mini型研发团队,目前共有研发人员13人。由于网站产品维护的历史原因,这13人的研发团队分为4支小组,分别是:Ruby研发小组5人;PHP研发小组4人;.net研发小组2人,Java搜索小组2人。

别看我们研发人员这么少,但是我们研发人员战斗力很强,我们维护和开发着十多条产品线。在我们开发自身产品的过程中,也积累了一些比较通用的组件,一些对大家来说有用的工具。因此从今年下半年开始,我们陆续将一些组件和工具开源出来,哪怕这些项目的质量并不是那么高,也希望能够给社区带来一点点自己的贡献。

以下简要介绍一下我们已经开源的项目,今后我们还会努力开源更多的东西和大家交流和分享:

1、Ansj中文分词 - 开源的高准确率Java中文分词器

项目Github地址:https://github.com/ansjsun/ansj_seg
这是基于大名鼎鼎中科院的Ictclas中文分词算法编写的Java实现版本,比常用的开源mmseg4j的分词准确率高。目前我们自己站内的搜索将逐渐从mmseg4j算法替换成Ansj中文分词算法。

2、ServiceFramework - 开源的羽量级Java Web服务框架

项目Github地址:https://github.com/allwefantasy/ServiceFramework
我们基于Java的开源搜索框架lucene编写了网站的分布式搜索和Tag文章分类服务。因为需要向前端的Web应用程序提供搜索和Tag服务接口API,所以我们编写了这个羽量级的Java框架软件。它的优点就是羽量级,自身集成了Jetty服务器,MVC,IoC和ORM,让你只需要编写非常少的代码,就可以快速将你的业务逻辑组件以Web API的方式提供服务。

3、ExportBlog - 开源的通用博客导出工具

项目Github地址:https://github.com/sqzhuyi/ExportBlog
这是一个基于.net Winforms编写的通用博客导出工具,支持导出网站包括:CSDN、ITEYE、博客园、新浪、搜狐、和讯、ChinaUnix、网易、51CTO、开源中国、百度空间、QQ空间等等。导出格式支持CHM、PDF、HTML、TXT和EPUB 5种格式文档。详细介绍:http://blog.csdn.net/sq_zhuyi/article/details/7924776

4、Secode_level_cache - 开源的Rails对象缓存插件

项目Github地址:https://github.com/csdn-dev/second_level_cache
Rails的ActiveRecord自身没有带强大的对象缓存功能,这是AR的一个重大的遗憾。早在2008年开始,我们就借鉴了Java强大的ORM框架Hibernate的二级对象缓存编写了这个Rails的AR对象缓存插件,并且一直作为JavaEye网站缓存优化的秘密武器来使用,取得了非常理想的效果。
现在我们将这个插件从Rails2.x的版本升级到了3.x版本,并且抽取成了一个通用插件,开始应用于新的Rails3.2的项目之上。有志于AR对象缓存优化的ruby程序员不容错过。

5、limiter - 网站反爬虫和DOS攻击的利器

项目Github地址:https://github.com/csdn-dev/limiter
早年的JavaEye网站曾经深受DOS攻击和爬虫海量抓取造成的负载过高的困扰,我曾经和这个问题进行了为期几年不懈的斗争,并且在总结几年斗争经验后写了一篇总结性博客文章:互联网网站的反爬虫策略浅析 。当时我基于这个反爬虫策略编写了JavaEye网站的智能防火墙插件,取得了良好的效果。
现在我们将这个插件从JavaEye的源代码中剥离出来,抽取成一个通用的rackware,便于应用于普通的Rails3.x的项目当中。


105
4
分享到:
评论
79 楼 kings1981 2013-01-30  
兵在精不在多!支持!~
78 楼 syncml 2013-01-11  
jinyanhui2008 写道
ansjsun 写道
syncml 写道

比如userLibrary下面所有的.dict文件,这样我的词库维护就清晰很多。只是一点不成熟的建议:)

这个可以有...呵呵..下一版就增加...

我现在都将词库搞到lucene中存储了,在启动的时候直接从lucene中加载词库。
不过增加同义词库还是很有必要的!!!



期待同义词版本的

不知道什么时候可以出来
77 楼 chen88358323 2012-12-26  
抓csdn的博客没事,iteye的抓两三个就被封鸟....
76 楼 chen88358323 2012-12-26  
ExportBlog - 开源的通用博客导出工具
抓了一两个人的博客,后面再抓就被封了,很喜欢iteye,能不能给自己的爬虫点优惠?别自己大自己脸行么?
75 楼 jinyanhui2008 2012-11-16  
ansjsun 写道
syncml 写道

比如userLibrary下面所有的.dict文件,这样我的词库维护就清晰很多。只是一点不成熟的建议:)

这个可以有...呵呵..下一版就增加...

我现在都将词库搞到lucene中存储了,在启动的时候直接从lucene中加载词库。
不过增加同义词库还是很有必要的!!!
74 楼 ansjsun 2012-11-15  
syncml 写道

比如userLibrary下面所有的.dict文件,这样我的词库维护就清晰很多。只是一点不成熟的建议:)

这个可以有...呵呵..下一版就增加...
73 楼 syncml 2012-11-15  
谢谢 ansjsun

这样的是变相的解决了我的问题。

我在自定义词库里面增加了
polo	family	1000


解析为:
[阿斯顿马丁/family, 是/v, 一辆/m, 好车/userDefine, ,/w, 科鲁兹/nr, 是/v, 一辆/m, 屌, 丝/q, 车/n, ,, 那/r, polo/en, 呢/y]

也不是我所希望的。

如果能不额外处理,这个功能就强大了,包括以后新增的同义词功能
还有就是如果在不修改源代码的基础上,用户自定义的词库可以多个文件存在就更好了。
比如userLibrary下面所有的.dict文件,这样我的词库维护就清晰很多。只是一点不成熟的建议:)
72 楼 ansjsun 2012-11-15  
syncml 写道

我是要做车源搜索,比如我搜索科鲁兹,我是一定要车型是科鲁兹的车子的

如果这个样子的话..只能..吧分词结果从hashmap中重新匹配下了..如果有..修改其词性..或者你根本不需要词性标注..把分出来的每个词.进你的hashmap匹配下..就能知道这个词是不是车了..


71 楼 syncml 2012-11-15  
ansjsun 写道
syncml 写道

这么巧?如何让他变成我需要的family呢? 加大权重还是什么?

说实话..目前没有办法..你做什么项目啊..对词性要求这么高?
暂时你分出词后用hashmap..来重新确定下权重吧..权重再大也不行...系统拥有最高权限...


我是要做车源搜索,比如我搜索科鲁兹,我是一定要车型是科鲁兹的车子的
70 楼 ansjsun 2012-11-14  
syncml 写道

这么巧?如何让他变成我需要的family呢? 加大权重还是什么?

说实话..目前没有办法..你做什么项目啊..对词性要求这么高?
暂时你分出词后用hashmap..来重新确定下权重吧..权重再大也不行...系统拥有最高权限...
69 楼 syncml 2012-11-14  
ansjsun 写道
syncml 写道
Ansj中文分词

我在userLibrary里面添加了这样的
阿斯顿马丁	family	1000
科鲁兹	family	1000


结果我分词“阿斯顿马丁是一辆好车,科鲁兹是一辆屌丝车”

结果如下:
[阿斯顿马丁/family, 是/v, 一辆/m, 好车/userDefine, ,/w, 科鲁兹/nr, 是/v, 一辆/m, 屌, 丝/q, 车/n]

为什么科鲁兹不是我希望的family ?


不好意思...悲剧的...科鲁兹..被我识别成人名了!你不信试试..科鲁兹不增加..他也能识别出来的....这个....额....



这么巧?如何让他变成我需要的family呢? 加大权重还是什么?
68 楼 ansjsun 2012-11-14  
syncml 写道
Ansj中文分词

我在userLibrary里面添加了这样的
阿斯顿马丁	family	1000
科鲁兹	family	1000


结果我分词“阿斯顿马丁是一辆好车,科鲁兹是一辆屌丝车”

结果如下:
[阿斯顿马丁/family, 是/v, 一辆/m, 好车/userDefine, ,/w, 科鲁兹/nr, 是/v, 一辆/m, 屌, 丝/q, 车/n]

为什么科鲁兹不是我希望的family ?


不好意思...悲剧的...科鲁兹..被我识别成人名了!你不信试试..科鲁兹不增加..他也能识别出来的....这个....额....
67 楼 syncml 2012-11-14  
Ansj中文分词

我在userLibrary里面添加了这样的
阿斯顿马丁	family	1000
科鲁兹	family	1000


结果我分词“阿斯顿马丁是一辆好车,科鲁兹是一辆屌丝车”

结果如下:
[阿斯顿马丁/family, 是/v, 一辆/m, 好车/userDefine, ,/w, 科鲁兹/nr, 是/v, 一辆/m, 屌, 丝/q, 车/n]

为什么科鲁兹不是我希望的family ?
66 楼 ansjsun 2012-10-12  
yanhuili_2008 写道
楼主,想请教个问题,ansj可以直接简单的添加用户自定义的词典吗?怎么添加啊?

用户词典写到文件中添加:https://github.com/ansjsun/ansj_seg/wiki/%E7%94%A8%E6%88%B7%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%8D%E5%85%B8%E7%9A%84%E6%B7%BB%E5%8A%A0

用户自定义词典内存中动态添加删除:
https://github.com/ansjsun/ansj_seg/wiki/%E7%94%A8%E6%88%B7%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%8D%E5%85%B8%E7%9A%84%E5%8A%A8%E6%80%81%E6%B7%BB%E5%8A%A0%E5%88%A0%E9%99%A4Demo
65 楼 yangsp1 2012-10-12  
csdn博客导出器同样会被limiter 监测到,导致访问iteye需要要重新解锁
64 楼 yanhuili_2008 2012-10-11  
楼主,想请教个问题,ansj可以直接简单的添加用户自定义的词典吗?怎么添加啊?
63 楼 ansjsun 2012-10-10  
blackproof 写道
请问 ansj中的bigramdict.data是做什么用滴
我总是碰到在读他的时候跑异常
用txt打开它又是乱码



你好..如果你读取这个有异常了..我觉得.你用的jdk版本是不是有点问题啊..这个是映射到内存里面的语义模型..能把你的环境给我说下么
62 楼 ansjsun 2012-10-10  
jinyanhui2008 写道
这两天在试用ansj,有几个问题,词库不能动态维护,需要自己扩展词库维护功能。
同义词、相似词没有维护功能,是用二进制对象直接写死的,后续如果要用也是需要自己扩展。
词库是缓存到内存中的,随着词量增长不知道会不会溢出啊?



用户词典写到文件中添加:https://github.com/ansjsun/ansj_seg/wiki/%E7%94%A8%E6%88%B7%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%8D%E5%85%B8%E7%9A%84%E6%B7%BB%E5%8A%A0

用户自定义词典内存中动态添加删除:
https://github.com/ansjsun/ansj_seg/wiki/%E7%94%A8%E6%88%B7%E8%87%AA%E5%AE%9A%E4%B9%89%E8%AF%8D%E5%85%B8%E7%9A%84%E5%8A%A8%E6%80%81%E6%B7%BB%E5%8A%A0%E5%88%A0%E9%99%A4Demo


ps:随着单词量的增长是会内存溢出.但是词典的结构已经很压缩了.用户制定义扩展到几百万..一般台式机也是能承受的..我试过30w词就是30m内存吧..大约仿佛好像
61 楼 jinyanhui2008 2012-10-10  
这两天在试用ansj,有几个问题,词库不能动态维护,需要自己扩展词库维护功能。
同义词、相似词没有维护功能,是用二进制对象直接写死的,后续如果要用也是需要自己扩展。
词库是缓存到内存中的,随着词量增长不知道会不会溢出啊?
60 楼 blackproof 2012-10-10  
请问 ansj中的bigramdict.data是做什么用滴
我总是碰到在读他的时候跑异常
用txt打开它又是乱码

相关推荐

Global site tag (gtag.js) - Google Analytics