汉语词典快速查询算法研究概要

合集下载

Hash快速分词算法

Hash快速分词算法

字+以该首字开头的所有词(省去首字部分)组成。首先对原
词典正文按照汉字的机内码进行排序,然后执行以下算法:
①读入一个首字 ch。②根据式 (1) 算出其在首字 hash 表中的
位置。将首字结构中 ch 成员赋值为 ch。③读入一个词 (省掉
首字部分),是回车键 (说明只有单字词),则将首字结构 hash_
的随机变化,实验中词次字的 Hash 函数使用除留余数法来确
定。计算公式如下所示
offset =((ch1-0xB0)*94+(ch2-0xA1) ) mod len
(2)
式中:offset——该汉字在次字 Hash 表中的数组的下标,ch1,
ch2——此汉字的机内码,len——词次字 hash 表的长度。
(3) 词次字记录结构如下,其中 ch 记录该汉字,first 指向 剩余字在词典正文中第一次出现的位置,last 是最后出现的位 置,flag 记录是否只有该二字词 (即由首字和该词次字组成的 二字词),if_has 记录是否有此二字词,next 使产生冲突的词次 字结构组成链表。
ch
first last flag if_has next
Multi-hash indexing algorism for Chinese character segmentation
ZHANG Ke (College of Computer Science, Chongqing University, Chongqing 400044, China)
Abstract:Chinese word segmentation is a very important component and the preparation for Chinese information process. In a lot of application, the precision of word segmentation is paramount, at the same time the velocity is also needed. Through the analysis of the existing algorithms of Chinese word segmentation, especially the fast algorithms, a highly efficient algorithm for Chinese word segmentation is introduced, which is based on the improvement of existing data structure for Chinese dictionary. It not only supports hashing operation on the first Chinese character, but also on the other characters. In theory, the above data structure achieve much more efficiency than other methods. Key words:Chinese word segmentation; Chinese information processing; Hash; data structure; time complexity

研究词典的三种方法

研究词典的三种方法

研究词典的三种方法引言研究词典是提高语言研究和应用能力的重要工具之一。

但是,如何有效地使用词典进行研究和研究是一个重要的问题。

本文将介绍三种常见的研究词典的方法,并讨论它们的优缺点。

方法一:查词法查词法是最常见的研究词典的方法。

通过查阅词典,我们可以了解单词的词义、词性、用法、例句等信息。

这种方法简单直接,适用于初学者和普通应用场景。

通过查词法,我们可以快速获取单词的基本信息,帮助理解和应用。

然而,查词法也存在一些限制。

由于词典条目数量有限,可能无法覆盖所有单词。

此外,有些词典的解释和例句可能不够准确或过时。

因此,在使用查词法时需要谨慎,并综合考虑其他来源的信息。

方法二:词汇研究词汇研究是一种更系统和深入的研究词典的方法。

通过研究词典中的词根、前缀、后缀等词素构成规律,我们可以了解单词的衍生、派生和变体规律。

这种方法适用于对语言结构和演变有兴趣的研究者。

词汇研究的优点是能够帮助研究者更深入地理解单词,并扩展词汇量。

然而,这种方法需要在语言学知识的基础上进行,对于初学者可能会有一定的困难。

方法三:语境研究语境研究是一种基于真实语言使用场景的词典研究方法。

通过分析词典中的例句和语境信息,我们可以了解单词在不同语境中的用法和含义。

这种方法适用于需要进行实际语言运用的研究者。

语境研究的优点是能够帮助研究者更好地理解单词的实际用法。

通过研究例句和上下文信息,我们可以从更广泛的角度来理解和应用单词。

然而,这种方法对于初学者来说可能需要一定的语言背景和阅读能力。

结论研究词典的方法多种多样,针对研究者的不同需求和水平,可以选择合适的方法进行研究。

查词法适用于快速获取单词基本信息、词汇研究适用于深入理解单词结构和演变规律、语境研究适用于更好地理解单词的实际用法。

综合利用这三种方法,可以提高语言研究和应用的效果。

介绍一种中、外文字典词典的快速查找法——页码法

介绍一种中、外文字典词典的快速查找法——页码法

作者: 高谧
出版物刊名: 沈阳体育学院学报
页码: 47-52页
主题词: 字典词典 页码 索引 工具书 检字法 切口 指示信号 字形 汉语拼音 编排
摘要: 编者的话:这里刊载的“页码法”,曾于1983年10月初,九江“第一届体育情报学术讨论会”上宣读,反映良好。

本刊这里发表的是作者高谧同志的重新修改稿。

我院图书馆高谧老先生,不顾年迈,锲而不舍,用近四年的时间,六易其稿,终于研究成功了一种别开生面的、适用于中、外文词书检索的“页码法”,为更好地利用各种字典、词典和一切按某种序列编排的工具书,为节省对每一个人都异常珍贵的时间,找到了科学的新途径、新方法。

正如高谧同志所说,“页码法不是一种独立的方法,它是帮助其他各种检字法提高效率的方法。

”因此,我们在查各种中、外文字典、词典和其他工具书,其中包括各种体育工具书时,同样完全可以利用“页码法”。

按高谧同志设计的“页码法索引”和“川字形切口页码标志”,本该做为字典或工具书的一部分,由出版部门提供给读者。

当前,在“页码法”尚未被出版单位采纳的情况下,要使用这一科学方法,就应自己动手,为我们手中的字典、词典编制“页码法索引”并涂上“川字标志”。

这样,当然要花费一定时间,但却一劳永逸,受益不尽。

为对高老先生可贵的钻研精神和科研热情表示支持,本学报特辟版面,给以披载;读者如有什么要求或询问,可直接同作者联系。

使用网络搜索引擎计算汉语词汇的语义相似度

使用网络搜索引擎计算汉语词汇的语义相似度

使用网络搜索引擎计算汉语词汇的语义相似度高国强;黄吕威;陈丰钰【摘要】Similarity computation of Chinese words is a key problem in Chinese information processing. It measures semantic similarity between Chinese words using the information returned by web search engines. First,implement a model named WebPMI which computes similarity using page counts,and then,describe another model named CODC which analyzes semantic similarity using text snippets. Final-ly,present the algorithm based on the two models. Experimental results show that this algorithm outperforms all the existing web-based semantic similarity measures for Chinese,and is close to the traditional semantic similarity measures using lexicon.%汉字词语的语义相似度计算是中文信息处理中的一个关键问题。

文中利用网络搜索引擎提供的信息来计算汉语词对的语义相似性。

首先通过程序访问搜索引擎,获取汉字词汇的搜索结果数,并依此实现了相似度计算模型WebPMI;然后描述了根据查询返回的文本片段进行语义相关性分析的模型CODC;最后,结合这个两个模型,给出了文中算法的伪代码。

汉语学习词典调查分析及编写设想

汉语学习词典调查分析及编写设想

汉语学习词典调查分析及编写设想作者:杨玉玲杨艳艳来源:《现代语文》2019年第02期摘; 要:词汇教学和习得在二语教学中长期处于核心地位,但无论在教学还是研究层面,词汇都还相当薄弱,汉语学习词典的现状就是最直接的表现。

为了准确了解汉语学习词典的使用现状,编写一部更实用更好用的词典,对100名汉语学习者进行了调查。

并对最受欢迎的词典PLECO进行了考察,从随机查取的50个词语的处理中发现PLECO存在着诸多问题。

为了弥补目前词典的不足,提出了汉语学习APP的编写设想。

关键词:汉语学习词典;调查;词典编写一、词汇习得的重要性词汇对任何一种语言习得的重要性都是毋庸置疑的,对形态不丰富的汉语来说更是如此。

从语言要素及其相互影响来看,语音、语法固然重要,但正如Wilkins(1972)所说:“没有语法,人们还能进行一些简单的言语交流,但是没有词汇,人们就根本无法说话了。

”词是音、形、义的结合体,词汇习得不可能完全脱离语音、语法和汉字习得而孤立地进行。

词汇习得一方面要借助于语音、汉字、语法和语用习得,另一方面也是在以另一种形式巩固强化语音、语法和汉字教学。

从教学阶段性看,语音主要是在初级阶段几周内解决,封闭的语法也主要集中在初中阶段,而开放的词汇则要贯穿整个教学过程。

从影响二语水平因素来看,词汇量的多少以及词汇的掌握程度是决定二语学习者水平的重要指标。

李如龙、吴茗(2005)说:“学习语言,词汇是基础,它应当贯穿学习的始终。

汉语的词汇体现了语音的结构和变化,组成语句又体现了种种语法关系,学习词汇也连带学了语音和语法。

词汇教学的效果直接影响着留学生汉语的整体水平。

”可见,词汇习得在二语教学中应该处于长期的核心地位,特别是对于汉语这种缺乏严格形态变化的语言来说,更应如此。

但在国际汉语教学界,目前的词汇教学却一直是一个薄弱环节。

词汇及其教学研究薄弱的一个突出而明显的表现就是汉语学习词典仍不够成熟,不能满足目前教与学的需要。

查词典的方法与步骤

查词典的方法与步骤

查词典的方法与步骤嘿,朋友们!咱今儿来聊聊查词典这事儿。

你可别小瞧了查词典,这里头的门道可不少呢!咱就说,当你遇到一个不认识的字或者不理解的词,是不是就像在知识的海洋里突然迷失了方向呀?这时候,词典可就像那盏明灯,能给你指引方向呢!那怎么查词典呢?首先,你得找对词典呀!就像你去一个陌生的地方,得先知道走哪条路一样。

不同的词典有不同的特点和用途,有的专门针对汉字,有的侧重词语解释,还有的可能包含各种专业术语呢。

然后呢,就是要确定你要查的字或词啦。

这就好比你要去一个具体的地点,得先明确目标呀。

可别迷迷糊糊地乱翻哦。

接着,就开始查啦!如果是按拼音查,那你得把拼音搞清楚呀,别张冠李戴了。

要是按部首查,那可得仔细找找这个字的部首是什么,这就像是在一堆宝藏里找那颗最闪亮的宝石。

比如说,你遇到“饕餮”这两个字,不认识吧?那就赶紧查词典呀!按照步骤来,先看看是按拼音还是部首查合适。

哎呀,等你查到了它们的意思,那种恍然大悟的感觉,是不是特别爽?查词典的时候,可别心急,得慢慢来。

就跟你走路一样,一步一步稳稳当当的。

有时候可能一下子找不到,别着急上火呀,再仔细找找,说不定它就藏在哪个角落里偷笑呢!而且呀,查词典可不仅仅是为了知道一个字或词的意思,还能让你了解到更多相关的知识呢。

就像打开了一个知识的宝库,里面的宝贝多着呢!你想想,要是没有词典,我们遇到不认识的字不就抓瞎啦?那可怎么读书看报呀,怎么学习新知识呀?词典就像是我们学习路上的好伙伴,默默地帮助我们。

查词典虽然看似简单,但是这里面的乐趣和收获可不少。

每一次查词典,都像是一次小小的冒险,充满了惊喜和发现。

所以啊,朋友们,一定要养成查词典的好习惯呀!别嫌麻烦,别偷懒。

当你真正掌握了查词典的方法和步骤,你就会发现,知识的大门正在为你缓缓打开呢!这可不是我瞎说,你自己试试就知道啦!。

查汉语字典的方法(一)

查汉语字典的方法(一)

查汉语字典的方法(一)查汉语字典方法一:使用纸质字典•购买一本汉语字典,如《现代汉语词典》,《新华字典》等。

•打开字典,按照字的笔画或者拼音找到相应的部首或拼音索引。

•根据查询的字进行定位,找到对应的解释与词语用法。

方法二:使用电子字典软件或手机应用•在手机应用市场或互联网上搜索汉语字典软件,如“汉语大词典”、“汉典”等。

•下载并安装所选字典软件,打开应用程序。

•在搜索框中输入需要查询的汉字,点击搜索按钮。

•软件将显示该汉字的解释、拼音、部首等相关信息。

方法三:使用在线汉语字典网站•在互联网搜索引擎中输入关键词“在线汉语字典”或“查汉语字典”。

•选择一个可信赖的汉语字典网站,如汉典网、海词网等。

•打开选择的网站,找到搜索栏。

•输入需要查询的汉字,点击搜索按钮。

•网站将显示该汉字的解释、读音、部首以及常见词语等相关信息。

方法四:使用数字化工具辅助查询•在计算机上打开文字处理软件,如Microsoft Word、Notepad等。

•输入需要查询的汉字。

•选择文字,右键点击,选择“在线搜索”。

•在弹出的搜索结果中,选择合适的在线汉语字典进行查询。

方法五:使用语音识别助手进行查询•打开手机中的语音助手应用程序,如Siri或者小爱同学等。

•按住语音按钮,将要查询的汉字清晰地说出。

•语音助手会将语音转化为文字并进行查询,显示相应的解释与用法。

方法六:参考语文学习书籍或教材•打开语文学习书籍或教材,如中学语文教材、汉语学习教程等。

•寻找与需要查询的字相关的篇章或单元。

•阅读相关部分,找到该字的解释、用法等相关信息。

以上是查汉语字典的多种方法,可以根据个人的喜好和实际情况选择合适的方式进行查询。

希望这些方法能够帮助大家快速准确地找到所需的汉字信息。

方法七:使用在线社区或问答平台寻求帮助•在互联网上搜索相关的汉字查询问题。

•找到与汉字查询相关的在线社区或问答平台,如知乎、百度知道等。

•提出自己的问题,描述需要查询的汉字。

汉语词典的快速查询算法研究

汉语词典的快速查询算法研究

汉语词典的快速查询算法研究
李江波;周强;陈祖舜
【期刊名称】《中文信息学报》
【年(卷),期】2006(20)5
【摘要】汉语词典查询是中文信息处理系统的重要基础部分,对系统效率有重要的影响.本文对汉语词典查询算法研究作了简要回顾,设计实现了基于双数组TRIE机制的汉语词典查询算法,并提出了基于双编码机制的词典查询算法.最后以逐字二分法查询性能为基准,使用这两种词典询机制进行了词语直接查询和分词查询两种应用的性能测试.经过实验分析,双数组TRIE机制的词典查询算法在查询速度上提高明显,查询速度约是逐字二分法的5倍.双编码机制的的词典查询算法查询速度有一定提高,而且调整机制更加灵活.
【总页数】9页(P31-39)
【作者】李江波;周强;陈祖舜
【作者单位】清华大学,计算机系,智能技术与系统国家重点实验室,北京,100084;清华大学,计算机系,智能技术与系统国家重点实验室,北京,100084;清华大学,计算机系,智能技术与系统国家重点实验室,北京,100084
【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于批量提交数据的快速查询算法研究与设计 [J], 谭威;王防修;石文文;付威威
2.对外汉语词典多维释义的概念结构探讨——对外汉语词典与《现代汉语词典》的对比研究 [J], 章宜华
3.基于批量提交数据的快速查询算法研究与设计 [J], 谭威;王防修;石文文;付威威;
4.《现代汉语词典》与《商务馆学汉语词典》名词释义配例的对比研究 [J], 林慕飞;王子义
5.加密数据库通用快速查询算法研究 [J], 余祥宣;谭谦仁
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汉语词典快速查询算法研究李江波周强陈祖舜(清华大学智能技术与系统国家重点实验室北京100084)E-mail:********************.cn摘要:汉语词典查询是中文信息处理系统的重要基础部分,对系统效率有重要的影响。

本文对汉语词典查询算法研究作了简要回顾,设计实现了基于双数组TRIE机制的汉语词典查询算法,并提出了基于双编码机制的词典查询算法。

最后对两种词典查询机制进行了实验分析。

关键词:汉语词典查询;双数组TRIE;双编码;中文信息处理。

一、引言在汉语信息处理系统中,汉语词典查询是一个重要的基础环节,在整个处理过程中都需要频繁地访问词典以获得汉语词语知识,因而汉语词典的快速查询是整个处理系统效率的关键所在。

针对词典查询方法,前人作了大量工作,并形成了许多汉语词典组织结构和相应的查询算法。

早期的词典组织构造主要是基于传统Hash方法,文献[1]中采用的方法就是一个典型应用,这种方法的关键技术是Hash函数的设计,采用合理的方式来调节数据块的分配,控制分布的均匀性,减少冲突,提高空间利用率,由于涉及到磁盘读取,这种方法在速度上存在较大局限。

文献[2]指出了三种典型的词典查询方法:整词二分法、TRIE索引树法、逐字二分法。

以下分别对这三种方法作简要介绍:(1)基于整词二分的词典机制:整词二分方法的词典结构分为词典正文、词索引表、首字散列表等三级。

通过首字散列表的哈希定位和词索引表,很容易确定指定词在词典正文中的可能位置范围,进而在词典正文中通过整词二分进行定位。

这种算法的数据结构简单、占用空间小,构建及维护也简单易行,但由于采用全词匹配的查询过程,效率较为低下。

(2)基于TRIE索引树的词典机制:TRIE索引树是一种以树的多重链表形式表示的键树,基于TRIE索引树的词典机制由首字散列表和TRIE索引树结点两部分组成。

TRIE索引树的优点是分词应用中,在对被切分语句的一次扫描过程中,不需预知待查询词的长度,沿着树链逐字匹配即可;缺点是它的构造和维护比较复杂,而且都是单词树枝,浪费了一定的空间。

(3)基于逐字二分法的查询机制:基于逐字二分法的查询机制是对前两种词典机制的改进方案,一方面,从组织结构上,逐字二分与整词二分的词典结构完全一样;另一方面,逐字二分吸收了TRIE索引树的查询优势,即采用的是“逐字匹配”,而不是整词二分的“全词匹配”,这就一定程度地提高了匹配的效率。

但由于采用的仍是整词二分的词典结构,使效率的提高受到很大的局限。

文献[3]中提出了基于双字哈希机制的词典查询方法,该方法主要结合了词典中的多字词条(3字词以上)数量少,使用频度低的特点,对基于TRIE索引树的词典机制做出了改进,把TRIE索引树的深度限制为2。

其三层结构分别是首字哈希索引,次字哈希索引,剩余字串组。

这种查询机制相当于使2字词以下的短词用TRIE索引树机制实现,3字词以上的长词的剩余部分用线性表组织,从而避免了深度搜索,一定程度上提高了查询性能。

此外,文献[4]中提出了一种基于PA TRICIA tree的汉语词典查询机制,这种方法首先使用词条的内码来作为一个关键词位串,然后通过位串比较构造出PATRICIA tree树,树的每个内部节点包括三个数据项:比较位、左指针、右指针,树的叶子节点代表一个词条。

查询时根据内部节点选择后继路径,直到叶子节点,该方法的优点是引入了位比较,但是因为树的构造过程是基于内码而非字的,所以不可避免地导致树的深度大大增加,从而造成了效率降低和空间浪费。

本文设计实现了基于双数组Trie(Double-Array Trie)原理的汉语查询词典;提出并实现了一种基于双编码机制的词典查询机制;最后对改进二分法,双数组Trie(Double-Array Trie),双编码方法三种方法进行了性能上的比较。

下面的第二章介绍双数组Trie (Double-Array Trie)的数据结构和具体实现,第三章介绍双编码方法的编码思想和具体查询方式,第四章是对双编码思想进行的性能分析,第五章是对三种方法进行性能实验分析,第六章为全文的总结。

二、双数组Trie(Double-Array Trie)的数据结构与具体实现Trie树是搜索树的一种,来自英文单词"Re trie val"的简写,可以建立有效的数据检索组织结构。

Trie树本质上是一个确定的有限状态自动机(DFA),每个节点代表自动机的一个状态,根据变量的不同,进行状态转移,当到达结束状态或者无法转移的时候,完成查询。

传统上的DFA一般用转换表方式来实现,表的列代表自动机的不同状态,行代表转换变量,但是对于词典查询来说,转换表的问题是数据稀疏导致严重地的空间浪费,其空间复杂度为O(n2)。

Trie树的另一种实现方式是使用链表节点,这种方式在空间复杂度上降低为O(n),但是问题在于数据结构复杂,查询效率较低[5]。

为了让Trie实用的实现算法在空占用间较少的同时还要保证查询的效率,前人提出了一种用4个线性数组表示DFA的方法,并进一步提出了用3个线性数组表示Trie树的方式。

在此基础上,文献[6]做出了进一步改进,用2个线性数组来进行Trie树的表示,即双数组Trie(Double-Array Trie)[7]。

双数组Trie(Double-Array Trie)由两个整数数组构成,一个是base[],另一个是check[]。

设数组下标为i ,如果base[i],check[i]均为0,表示该位置为空。

如果base[i]为负值,表示该状态为词语。

Check[i]表示该状态的前一状态,t=base[i]+a, check[t]=i 。

对于汉字词典,采用相同的思想。

先把双数组的1-6768放置6768个常用汉字。

对于每一个汉字,确定一个base 值,使得对于所有以该汉字开头的词,在双数组中都能放下。

例如,现在要确定“阿”字的base值,假设以“阿”开头的词的第二个字序列码依次为a1,a2,a3……an,我们必须找到一个值i,使得base[i+a1],check[i+a1],base[i+a2],check[i+a2]……base[i+an],check[i+an]均为0。

一旦找到了这个i,“阿”的base值就确定为i。

对于第二个字,第三个字也是类似。

双数组构造完成以后,查询起来极为方便。

待查词有几个字,就将汉字分别转换为对应的序列码,然后作几次加法,即可查到相应的词语,无须折半查找。

由于汉语中常用词平均长度不到3个字,因此双数组查询算法的效率是极高的。

下面举例说明双数组Trie(Double-Array Trie)的构造过程和查询过程。

假定词表中只有“啊,阿根廷,阿胶,阿拉伯,阿拉伯人,埃及”这几个词,用Trie树可以表示为:我们首先对词表中所有出现的10个汉字进行编码:啊-1,阿-2,唉-3,根-4,胶-5,拉-6,及-7,廷-8,伯-9,人-10。

然后在此基础上构建双数组Trie(Double-Array Trie),经过四次遍历,将所有的词语放入双数组中,然后还要遍历一遍词表,修改base值。

因为我们用负的base值表示该位置为词语。

如果状态i对应某一个词,而且Base[i]=0,那么令Base[i]=(-1)*i,如果Base[i]的值不是0,那么令Base[i]=(-1)*Base[i]。

得到双数组如下:用上述方法生成的双数组,将“啊”,“阿”,“埃”,“阿根”,“阿拉”,“阿胶”,“埃及”,“阿拉伯”,“阿拉伯人”,“阿根廷”均视为状态。

每个状态均对应于数组的一个下标。

例如设“阿根”的下标为i=8,那么check[i]的内容是“阿”的下标,而base[i]是“阿根廷”的下标的基值。

“廷”的序列码为x=8,那么“阿根廷”的下标为base[i]+x=base[8]+8=12。

查询时相当于从一个状态找到另一个状态。

例如查询“阿根廷”,先根据“阿”的序列码b=2,找到状态“阿”的下标2,再根据“根”的序列码d=4找到“阿根”的下标base[b]+d=8,同时根据check[base[b]+d]=b,表明“阿根”是某个词的一部分,可以继续查询。

然后再找到状态“阿根廷”。

它的下标为y=12,此时base[y]<0,check[y]=base[b]+d=8,表明“阿根廷”在词表中,查询完毕。

最后对双数组Trie(Double-Array Trie)机制词典进行空间复杂度分析:该词典机制主要增加的辅助成分是双数组结构,约120,000个状态,另外考虑到实际应用中,还需要获得词条的下标,所以把双数组调整为三数组,共需要空间为,120,000*3*4=1,440,000字节;另外,主词典需要空间为50,000*113=5,650,000字节。

总共占用空间:7,090,000字节。

三、双编码机制的词典查询算法1.双编码的基本思想,GB-2312编码的常用汉字共有6768个,每个汉字都可以从唯一地从区位码映射到1-6768间的一个序列码,从而每个汉字串都可以唯一地映射到一个数字串,这样对于词语的查询可以转化为基于数字串的查询。

双编码的查询思想就是首先将汉字区位码转换成序列码,从而使汉字序列转换成数码序列;然后将汉字序列对应的数码序列转换成数偶码(代表两个有理数)。

将整个词表全部转换成数偶码表,排好序,供检索用。

从数码序列到数偶码的转换主要是采用了欧几里德算法(辗转相除法)的思想[8],保证了从数码序列和数偶码之间转换的唯一性,同时还达到了一定程度上数据压缩的目的。

具体的转换算法如下:(1)从序列码到数偶码的编码:假定输入数据序列<a1,a2,…,a n>存放在数组Seq[]中,其长度为n. 其中a i(i=1,2,…,n)是汉字符的序码。

P,Q是一对输出整数,代表一个既约有理数P/Q, 是输入数据序列<a1,a2,…,a n>的编码,叫数偶码。

编码过程如下:赋初值:X0=0, Y0=1, X1=1, Y1=0递归求解:X i=Seq[i-2]*X i-1+X i-2i >1Y i=Seq[i-2]*Y i-1+Y i-2i >1获得数偶码:P= X n+1Q=Y n+1(2)从数偶码到序列码的解码算法:输入数据是整数偶<P,Q>. 输出数据是它所代表的汉字(对应的序码)的序列,放在Out[]中,该序列的长度为n。

解码过程如下:为变量赋初始值:M0=Q X0=P循环辗转相除,将相除的结果保存进入数组Out[],直到M i为零,递归公式如下:Out[i]= (int)X i/M iM i+1=X i-Out[i]* M iX i+1=M i2.索引机制的建立对整个词典进行编码之后,每个词语就对应着一对数偶码,其特点是随着词语的长度增加,数值会变得很大,所以必须建立相应索引,在这一点上本文进行了相应的多次探索,最后选择了分段索引方式。

相关文档
最新文档