惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
小众软件
小众软件
S
SegmentFault 最新的问题
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
博客园 - 三生石上(FineUI控件)
C
Check Point Blog
S
Schneier on Security
Microsoft Azure Blog
Microsoft Azure Blog
N
Netflix TechBlog - Medium
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
罗磊的独立博客
有赞技术团队
有赞技术团队
V
V2EX
Y
Y Combinator Blog
博客园 - 叶小钗
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Fortinet All Blogs
W
WeLiveSecurity
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Stack Overflow Blog
Stack Overflow Blog
The Cloudflare Blog
S
Security @ Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
MyScale Blog
MyScale Blog
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
PCI Perspectives
PCI Perspectives
H
Heimdal Security Blog
Schneier on Security
Schneier on Security
Security Latest
Security Latest
AWS News Blog
AWS News Blog
月光博客
月光博客
Security Archives - TechRepublic
Security Archives - TechRepublic
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
博客园 - Franky
Cisco Talos Blog
Cisco Talos Blog
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
T
Troy Hunt's Blog
N
News and Events Feed by Topic
Cloudbric
Cloudbric
Scott Helme
Scott Helme
云风的 BLOG
云风的 BLOG
Attack and Defense Labs
Attack and Defense Labs

博客园 - kwklover

给同为.NET开发者普及一点Oracle数据库经验 使用mencoder转换flv为ipad/iphone下能播放的mp4格式 Lucene.net常见功能实现知识汇总 Lucene 1.9 多目录搜索的的一个bug 众里寻他千百度,蓦然回首,那人却在灯火阑珊处 问题总结:判断MS SQLSERVER临时表是否存在 小技巧:处理ASP提交的参数是经过GB2312 URL编码的 Lucene.net实现自定义排序笔记 模版引擎AderTemplate源代码分析笔记 T-SQL复习总结--用T-SQL创建,修改,管理,删除数据库 需要整理研究的搜索引擎技术点(目录,无实际价值) 试用了一下Sqlite,总结和整理一下参考资料 数据结构与算法学习记录:快速排序 小总结:DotLucene如何才能快速生成索引? 小总结:如何表达用户是否禁止的概念 ? Web Spider提取编码方法总结 WebSpider的编码问题(乱码)浅析 VS2005 Winform程序不能启动调试,别忘了启动Terminal Services服务[记录] 系统问题解决记录:IIS 500内部错误之解决办法
面向搜索的中文分词设计
kwklover · 2007-03-19 · via 博客园 - kwklover

我开发的中文分词程序,开源发布 ,其实哪个中文分词的整体架构是比较糟糕的。架构是否优秀决定了很多构思无法实现,思考了比较久,最近准备开发第二版,抛弃以前的架构,重新实现。下面是一些设计和构思。计划是两周时间开发完成beta版(如果因为工作关系,也有可能放弃),主要是希望和大家交流下设计思想,我觉得构思很重要,想得实现不了,可以慢慢研究,想不到才是头大的问题,希望能和大家一起交流下:

新版中文分词构想(面向搜索):

分解流程:
1,分段,根据基本的分隔符号对文本进行分段,比如,。;!!,; \r\n等分解文本
2,分字符区,即分解成纯粹的 中文文本区 ,数字区 ,综合字符区(包括英文,数字或者其他符号),分割符号区
3,对中文文本区调用中文分词算法,对数字区区按空格分词,对综合字符区调用英文分词算法,分割符号区保留
4,对初步分解的单字中文进行中文姓名识别。
5,结合前后词,对单字中文和数字做日期识别分析
6,未登陆词分析与识别

算法构想:
1,中文分词算法
  匹配模式:正向最大化,反向最大化,概率最大化
  也会考虑参考SharpICTCLAS系统的NShortpath分词算法(不过目前还没看懂,迟钝的很)
 
2,中文姓名识别算法
  主要根据中文姓,加上初步分解出的单字中文进行分析:基于词库分析单字中文作为名的概率。
 
3,日期识别算法
  将分解出的单字中文结合前后字符,判断是否为以下格式之一:
  数字+年+数字+月+数字+日
  数字+年+数字+月
  数字+月+数字+日
  数字+月
  数字+日
 
4,新词识别(未登陆词识别)
  1,将分解出的单字中文判断排除常用单词(StopWords)外,作为单字出现的概率。所以需要一个单字字库,包括单字出现概率的信息。
  当然也可以将现有词库对词进行分解成单字概率分布模型库(具体如何设计还没考虑好),提出来和大家交流下:
  单字出现在第一个字符概率 出现在中间的概率 出现在尾部的概率
 
  2,将上叙分析的新词进行概率分析,比如在全文中出现超过N次(比如2次,次数越大,作为一个词的可能性越高),以提高新词识别的准确度;
  不过如此大动作的分析,性能估计有很大问题。
 
5,英文分词算法
  1,将全部字符处理为半角字符。
  2,将全部字符处理为小写字符。
  3,识别各种英文字符格式,比如电子邮件格式,网址格式等等。(用正则表达式)
  4,处理英文形式问题:比如将所有英文复数形式转换成单数形式。将各种简写形式处理为同一形式等等(这部分有兴趣可以参考dotlucene和snowball.net对英文处理的方式,这个部分我也没有深入研究过。)