Archive

Archive for November, 2009

凡事淡然处之

November 23rd, 2009 leeing No comments

         老子在道德经中说:“祸兮,福之所倚;福兮,祸之所伏”,意思是,祸福都不是由人定的,人世间是变化无常,祸与福互相依存,可以互相转化。比喻坏事可以引出好的结果,好事也可以引出坏的结果。类似地,无论拥有或者失去,都必须要平静地去对待它,在得到的时候,必定会失去什么;而在你失去的时候,也必定会有所收获。就如人生之中的选择,没有对错,但必有得有失。我想,这也是古语中“鱼与熊掌不可兼得”的哲学意涵之所在。

          从来就没有得到,所以也无所谓失去,一切应当淡然处之。人生之中不可强求,或许自有定数吧。

Categories: 朝花夕拾 Tags:

Omnetpp4.0 iNET OverSim 安装

November 21st, 2009 leeing 4 comments

一 安装OMNet 4.0

  1. 下载 OMNeT++ 4.0 win32 (source + IDE + MinGW, zip) ,安装JDK1.5以上版本。
  2. 解压文件,在 omnet-4.0目录下,运行 mingwenv.cmd,打开终端。
  3. 运行:/.configure 之后输入make命令。
  4. 测试:cd  samples/dyna 运行 ./dyna会出现仿真窗口,显示正常表示安装成功。
  5. 输入 omnetpp 可以运行IDE。
  6. 如果想要用不同的flags对源码进行重编译,到omnet-4.0目录下,运行:./configure ,  make clean ,make,configure 时可以使用 flags。
OMMet++ 4.0

OMMetpp 4.0 -- The Open Simulator

二 安装iNET

  1. 下载:INET-OverSim-20090317.tgz,解压到omnet-4.0目录。
  2. 确保Omnetpp 已正确安装,在cmd中输入nedtools,应当能看到输出。
  3. 到INET-OverSim-20090317目录下,运行make makefiles,然后make.
  4. 测试:到examples 文件夹下,运行./rundemo可以看到界面。

三  安装Oversim

  1. 下载:OverSim-20090908.tgz,解压到omnet-4.0目录。
  2. 在 OverSim-20090908目录下,运行 make。
Categories: 计算机网络 Tags: ,

MMSEG 中文分词算法

November 1st, 2009 leeing 11 comments

由于学习需要,我尝试翻译MMSEG算法,目前处于初稿状态,很许多地方的翻译仍不尽准确,在以下几天会加以修改。

算法原文位于:http://technology.chtsai.org/mmseg/

MMSEG :一个基于最大匹配算法的两种变体的中文单词识别系统

发表日期: 1996-04-29

更新日期: 1998-03-06

文档更新: 2000-03-12

许可: 非商业使用情况下免费

Copyright © 1996-2006 Chih-Hao Tsai (Email: hao520@yahoo.com)

摘要

中文文本在计算分析中一个问题是中文文本在印刷时缺少单词的边界,由于单词是一个基本的语义单元,因此有必要识别中文文本的单词以让进一步的处理可以进行。这份论文的目的是开发一个基于最大匹配算法的两种变体的中文单词识别系统,这个系统由一个词典,两种匹配算法,以及四种歧义消解规则组成。在一个由1013个单词组成的样本中,这个系统的正确识别率达到98.41%,本文也会对这个系统可能潜在的应用加以讨论。

介绍

正如Hung and Tzeng (1981) 和 DeFrancis (1984) 指出,中文书写系统同时以语素和音节来映射到口语中,因此,汉字在书面语中是区分的,从另一个方面来说,按照惯例,单词的边界在中文的印刷和书写中是缺失的。

单词识别过程中的难点

由于单词是一个基本的语言单位,因而有必要对中文文本的单词进行区分以让计算分析和处理中文文本能够进行。然而,在单词识别过程中有一些难点:

首先,几乎所有的汉字都可能是一个单字的单词。进一步地,它们能与其它汉字组成多字的单词,这就导致了大量的分词歧义。其次,在现代中文中,合成词是一种居主导地位的造词方案。经常很难区分一个低频率的合成词是一个单词还是一个短语;区分固有单词也会为一个问题。最后, 一些特定的形态结构例如重复和 ” A 不 A ” 也需要加以考虑。

若不是一些例外情况(例如e.g. Huang, Ahrens, & Chen, 1993; Sproat and Shih, 1990),大部份的单词识别方法共享一种常见的算法(例如,Chen & Liu, 1992; Fan & Tsai, 1988; Yeh & Lee, 1991),这种基本的策略是使用存储在一个预编译的词典中的大量词条集来匹配输入的汉字以找到所有(或部份)可能的分词方式,由于通常仅有一种正确的分词方法,歧义应当被消除。

最大匹配算法及它的变体

不同的研究中它们的歧义消除方法也不同。一个经过表明简单有效的方法是最大匹配算法(Chen & Liu, 1992),最大匹配算法可以有多种形式。

简单最大匹配算法。其基本形式是解析单个单词的歧义性(Yi-Ru Li, personal communication, January 14, 1995),例如,假设C1,C2,….代表一个字符串中的汉字。我们首先位于字符串的开头并想知道如何区分单词。我们首先搜索词典,看 _C1_是否为一个单个汉字组成的单词,然后搜索 _C1C2_来看是否为一个两个汉字组成的单词,以下类推。直至找到字典中最长的匹配。最可能的单词就是最长的匹配。我们取这个单词,然后继续这个过程直至字符串中的最后一个单词被识别出来。

复杂最大匹配算法。另一种最大匹配算法是由Chen 和Liu(1992)提出的,它比基本的形式更为复杂。他们的最大匹配规则指出,最可能的分词方案是三个单词。。。再次,我们从一个字符串的头部开始,寻找分词的方案。如果存在有歧义的分词(例如,_C1_是一个单词,但是_C1C2_也是一个单词,等等),然后我们向前再看两个单词去寻找所有可能的以 _C1_ 或者 _C1C2_ 开头的三词 chunks 。例如,如果有一个可能的三词chunks:

1. _C1_ _C2_ _C3C4_

2. _C1C2_ _C3C4_ _C5_

3. _C1C2_ _C3C4_ _C5C6_

最大长度的chunk是第三个。第一个单词,在第三个chunk中的_C1C2_,会被认为是正确的。我们接受这个词,并向前重复这个过程从汉字C3,直到字符串的最后一个词被识别。Chen 和 Liu(1992)声称这个规则达到了99.69%的准确率并且93.21%的歧义能被这个规则消除。

其它消除歧义的算法

除了最大匹配算法,许多其它消除歧义的算法也已经被得出。在消除歧义的过程中使用了各种各样的信息,例如,概率和统计(Chen & Liu, 1992; Fan & Tsai, 1988),语法(Yeh & Lee, 1991),还有词语形态学(Chen & Liu, 1992),它们当中的大部份需要一个构建良好,拥有汉字和词组频率信息的字典,单词的语法分类,以及一个语法或形态学的集合(例如,汉语知识信息处理小组[CKIP], 1993a, 1993b, 1993c)。

MMSEG 系统概述

MMSEG系统实现了前面讨论的最大匹配算法的简单和复杂形式。更进一步来说,为了消除未被复杂最大匹配算法所消除的歧义,又实现了三个消除歧义的规则。

其中一个是由Chen 和Liu(1992)提出的,剩下的两个则是新做法。这些规则会在后面加以讨论。这个系统没有特殊规则来处理固有名称和特殊的形态结构例如重复和“A不A”结构。

并不是说MMSEG不是设计目标为100%正确识别率的专业级别系统,在一定程度上,应当 将 MMSEG 看作是一个通用平台,用来测试新的消除歧义的算法。然而,我们能看到即使是当前版本的MMSEG也达到了非常高的准确率,与一些在学术性期刊上发表的算法相当。

Read more…