First we try, then we trust

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

文章分类 -  ICTCLAS

摘要:1、SharpICTCLAS中词库的扩充 如果对SharpICTCLAS目前词库不满意的化,可以考虑扩充现有词库。扩充方法非常简单,代码如下: Copy Code 词库扩充 static void Main( string[] args) ... 阅读全文
posted @ 2007-04-18 15:46 吕震宇 阅读(7846) 评论(13) 推荐(0) 编辑

摘要:前文对SharpICTCLAS中的一些主要内容做了介绍,本文介绍一下SharpICTCLAS中一些其它考虑,包括事件机制以及如何使用SharpICTCLAS。 1、SharpICTCLAS中的事件 分词过程比较复杂,所以很可能有人希望能够追踪分词的过程,设置代码断点比较麻烦,因此SharpICTCL... 阅读全文
posted @ 2007-03-14 23:10 吕震宇 阅读(4957) 评论(6) 推荐(0) 编辑

摘要:上一篇文章说到经过NShortPath计算后,我们得到了数个候选分词方案,那么这么多个候选分词方案是如何最终成为一个分词结果的呢?其实这个过程是靠OptimumSegment完成的。SharpICTCLAS与ICTCLAS的OptimumSegment过程基本一样没有太大的变化。 1、Optimum... 阅读全文
posted @ 2007-03-14 23:09 吕震宇 阅读(4696) 评论(2) 推荐(0) 编辑

摘要:DynamicArray与NShortPath是ICTCLAS中的基础类,本人在完成了基础改造工作后,就着手开始对Segment分词进行移植与改造。SharpICTCLAS中的改造主要体现在以下几方面: 1)合并不同类中的部分代码 原有ICTCLAS中使用了SegGraph与Segment两个类完成... 阅读全文
posted @ 2007-03-13 22:24 吕震宇 阅读(5554) 评论(11) 推荐(0) 编辑

摘要:在了解了1-最短路径的计算方式后,我们看看N-最短路径的计算。 N-最短路径的计算方式与1-最短路径基本相同,只是在记录所有可达路径时,要保留最短的前N个结果。让我们仍然以上篇文章的案例来看看如何实现N-最短路径的运算。 1、数据表示 这里我们仍然沿用前文例子,对下图求N-最短路径,每条边的权重已经... 阅读全文
posted @ 2007-03-12 22:42 吕震宇 阅读(5061) 评论(3) 推荐(0) 编辑

摘要:N-最短路径中文词语粗分是分词过程中非常重要的一步,而原有ICTCLAS中该部分代码也是我认为最难读懂的部分,到现在还有一些方法没有弄明白,因此我几乎重写了NShortPath类。要想说明N-最短路径代码是如何工作的并不容易,所以分成两步分,本部分先说说SharpICTCLAS中1-最短路径是如何实... 阅读全文
posted @ 2007-03-09 22:47 吕震宇 阅读(8877) 评论(13) 推荐(1) 编辑

摘要:从前文可以看出,ICTCLAS中DynamicArray类在初步分词过程中起到了至关重要的所用,而ICTCLAS中DynamicArray类的实现比较复杂,可以说是包罗万象,在一个GetElement方法就综合考虑了1)row优先排序的链表;2)col优先排序的链表;3)当nRow为-1时的行为;4... 阅读全文
posted @ 2007-03-08 23:13 吕震宇 阅读(6047) 评论(4) 推荐(0) 编辑

摘要:ICTCLAS初步分词包括:1)原子切分;2)找出原子之间所有可能的组词方案;3)N-最短路径中文词语粗分三步。 例如:“他说的确实在理”这句话。 1)原子切分的目的是完成单个汉字的切分。经过原子切分后变成“始##始/他/说/的/确/实/在/理/末##末”。 2)然后根据“词库字典”找出所有原子之间... 阅读全文
posted @ 2007-03-08 14:27 吕震宇 阅读(9735) 评论(7) 推荐(0) 编辑

摘要:ICTCLAS分词的总体流程包括:1)初步分词;2)词性标注;3)人名、地名识别;4)重新分词;5)重新词性标注这五步。就第一步分词而言,又细分成:1)原子切分;2)找出原子之间所有可能的组词方案;3)N-最短路径中文词语粗分三步。 在所有内容中,词典库的读取是最基本的功能。ICTCLAS中词典存放... 阅读全文
posted @ 2007-03-08 14:25 吕震宇 阅读(11838) 评论(8) 推荐(0) 编辑

摘要:在研究了一段时间中科院计算所张华平、刘群所开发的ICTCLAS分词系统(Free版)代码后,阅读了大量的相关资料,我开始着手将C++的ICTCLAS分词系统移植到.net平台下,并取得了较好的实验结果。这种移植并不容易,在研究了ICTCLAS分词理论的同时还要阅读C++代码实现,其中遇到了很多困惑、... 阅读全文
posted @ 2007-03-07 22:38 吕震宇 阅读(10227) 评论(13) 推荐(0) 编辑

摘要:上篇文章《天书般的ICTCLAS分词系统代码(一)》 说了说ICTCLAS分词系统有些代码让人无所适从,需要好一番努力才能弄明白究竟是怎么回事。尽管有很多人支持应当写简单、清晰的代码,但也有人持不同意见。主要集中在(1)如果效率高,代码复杂点也行; (2)只要注释写得好就行;(3)软件关键在思路(这我同意),就好像买了一台电脑,不管包装箱内的电脑本身怎么,一群人偏在死扣那个外面透明胶带帖歪了(这我... 阅读全文
posted @ 2007-02-26 13:27 吕震宇 阅读(6981) 评论(8) 推荐(0) 编辑

摘要:ICTCLAS分词系统是由中科院计算所的张华平、刘群所开发的一套获得广泛好评的分词系统,该版的Free版开放了源代码,为初学者提供了宝贵的学习材料。我们可以在“http://sewm.pku.edu.cn/QA/”找到FreeICTCLASLinux.tar的C++代码。 可是目前该版本的ICTCLAS并没有提供完善的文档,所以阅读起来有一定的难度,所幸网上可以找到一些对ICTCLAS进行代码分析... 阅读全文
posted @ 2007-02-21 00:24 吕震宇 阅读(37340) 评论(37) 推荐(4) 编辑