[go: up one dir, main page]

CN1694092A - 对含四字节字符的文本进行全文检索的方法 - Google Patents

对含四字节字符的文本进行全文检索的方法 Download PDF

Info

Publication number
CN1694092A
CN1694092A CN 200510011824 CN200510011824A CN1694092A CN 1694092 A CN1694092 A CN 1694092A CN 200510011824 CN200510011824 CN 200510011824 CN 200510011824 A CN200510011824 A CN 200510011824A CN 1694092 A CN1694092 A CN 1694092A
Authority
CN
China
Prior art keywords
character
byte
byte character
index
text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200510011824
Other languages
English (en)
Other versions
CN1694092B (zh
Inventor
赵锋
王宏源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wang Fei
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN 200510011824 priority Critical patent/CN1694092B/zh
Publication of CN1694092A publication Critical patent/CN1694092A/zh
Application granted granted Critical
Publication of CN1694092B publication Critical patent/CN1694092B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种对含四字节字符的文本进行全文检索的方法,包括:首先在建立索引的时候,在文字流中采用逐个字符查验的方法判断将要建立索引的字符是否为四字节字符,如是四字节字符,将该单个的四字节字符作为索引单元加入倒排索引;如不是四字节字符,通过检索引擎常规的分词方式确定关键词,作为索引单元加入倒排索引。在检索的时候,首先在查询字串的文字流中采用逐个字符查验的方法判断待查询的字符是否为四字节字符,如是四字节字符,将该单个的四字节字符做为一个查询词;如不是四字节字符,通过检索引擎常规的分词方式确定关键词做查询词,所有的查询词集合送入检索引擎进行查询。本发明不会影响索引建置的速度和检索的速度。

Description

对含四字节字符的文本进行全文检索的方法
技术领域
本发明属于计算机技术领域,特别涉及一种对含有四字节字符的文本进行全文检索的方法。
背景技术
世界上不同地区都有本地的语言,地区差异直接导致了语言环境的差异。在开发一个国际化程序的过程中,语言文字的处理是非常重要的内容。计算机处理语言文字常用的字符一般为双字节的。所谓双字节是指一个字符要占用两个BYTE的位置(即16位),分别称为高位和低位。中国规定的汉字编码为GB2312,其编码是双字节的。目前几乎所有的能处理中文的应用程序都支持GB2312。GB2312包括了一二级汉字和9区符号,高位从0xa1到0xfe,低位也是从0xa1到Oxfe,其中,汉字的编码范围为0xb0a1到0xf7fe。
由于可以处理的字符数的增加和使用范围的拓宽,在一些应用领域仅仅采用双字节进行字符编码就显得不够了。譬如汉字总字符数如果超过2万就无法利用双字节来进行管理了。因此目前还包括多字节/宽字节编码(Multibytes/Wide Char)方式。通俗的说,多字节编码就是外码,一般为可变长编码,主要用于信息存储和交换;宽字节编码就是内码,为定长码,通常一个字符对应四个字节,主要用于信息处理。常见的多字节编码有UTF-8,ISO8859系列,GB2312,GBK,EUC-JP等。
GB18030是最新的汉字编码字符集国家标准,向下兼容GBK和GB2312标准。GB18030编码是一、二、四字节变长编码。一字节部分从0x0~0x7F与ASCII编码兼容。二字节部分,首字节从0x81~0xFE,尾字节从0x40~0x7E以及0x80~0xFE,与GBK标准基本兼容。四字节部分,第一字节从0x81~0xFE,第二字节从0x30~0x39,第三和第四字节的范围和前两个字节分别相同。四字节部分覆盖了从0x0080开始,除去二字节部分已经覆盖的所有Unicode 3.1码位。Unicode有一个特性:它包括了世界上所有的字符字形。所以,各个地区的语言都可以建立与Unicode的映射关系。
目前检索引擎一般都使用倒排文件索引结构,并基于关键词进行索引和查询。索引的生成方法大致如下:
1、设有两篇文章1和2
文章1的内容为;Tommy lives in Beijing,I live in Beijing too.
文章2的内容为:He once lived in Shanghai.
2、首先取得这两篇文章的关键词:
(1)现在有的是文章内容,即一个字符串,需先要找出字符串中的所有单词,即分词。英文单词由于用空格分隔,比较好处理。中文单词间是连在一起的需要特殊的分词处理;通常使用二元语法(bigram)方式和基于词表的分词两种方式。
(2)文章中的”in”,“once”“too”等词通常没有什么实际意义,中文中的“的”“是”等字通常也无具体含义,这些不代表概念的词可以根据不同的用户要求来选择是否过滤掉;
(3)用户通常希望查“He”时能把含“he”,“HE”的文章也找出来,所以所有单词需要统一大小写;
(4)用户通常希望查“live”时能把含“lives”,“lived”的文章也找出来,所以需要把“lives”,“lived”还原成“live”;
(5)文章中的标点符号通常也可以过滤掉。
3、经过上面处理后,
文章1的所有关键词为:[tommy][live][beijing][i][live][beijing]
文章2的所有关键词为:[he][live][shanghai]
4、建立倒排索引。
一般索引的对应关系是:“文章号”对“文章中所有关键词”。倒排索引把这个关系倒过来,变成:“关键词”对“拥有该关键词的所有文章号”。文章1,2经过倒排后变成:
关键词      文章号
beijing       1
he            2
i             1
live          1,2
shanghai      2
tommy         1
通常仅知道关键词在哪些文章中出现还不够,还需要知道关键词在文章中出现次数和出现的位置,通常有两种位置:a)字符位置,即记录该词是文章中第几个字符;b)关键词位置,即记录该词是文章中第几个关键词。
最后再加上“出现次数”和“出现位置”等信息后,索引结构变为:
关键词    文章号[出现次数]    出现位置
beijing         1[2]            3,6
he              2[1]            1
i               1[1]            4
live            1[2],2[1]      2,5,2
shanghai        2[1]            3
tommy           1[1]            1
现以“live”这行为例说明该结构:“live”在文章1中出现了两次,在文章2中出现了一次,则其出现的位置为“2,5,2”,其中“2,5”表示其在文章1中出现的两个位置,剩下的“2”就表示“live”是文章2中第2个关键字。
关键字通常是按字符顺序排列的。实现时上面三列分别作为词典文件(TermDictionary)、频率文件(frequencies)、位置文件(positions)保存。其中词典文件不仅保存有每个关键词,还保留了指向频率文件和位置文件的指针,通过指针可以找到该关键字的频率信息和位置信息。
对于中文来说,全文索引要解决语言分析的问题。英文等西方语言是以词为基本单位,单词之间是通过空格分开的,比较好处理。而亚洲语言的中日韩等语言文字中是以字为基本单位,字是一个挨一个,中间没有区隔词语的空格,所以需要把语句中的词切分出来。
一般人们不用单个字符作(si-gram)为索引单元,以免产生过多无效的查询结果。
目前通常使用二元语法(bigram)方式和基于词表的两种分词方式。举例而言,如果要切分“北京天安门”。
按照二元语法(bigram)方式切分的结果是″北京京天天安安门″。这样,在查询的时候,无论是查询“北京”还是查询“天安门”,将查询词组按同样的规则进行切分:“北京”或者“天安”、“安门”,并且在多个关键词之间按照按逻辑“与(and)”的关系组合,同样能够正确地映射到相应的索引中。这种方式对于其他亚洲语言,如韩文和日文,都是通用的。
按照词表的切分方式,根据检索引擎采用的语法和语义处理过程的复杂程度的不同,可能的结果会是“北京天安门”或者“北京天安门”等。
目前比较大的搜索引擎的语言分析方法一般是采用基于以上两种机制的结合的方法。
现有的搜索引擎受到前述二元语法的限制,无法对四字节文字进行有效的检索。
发明内容
本发明解决了上述四字节字符检索方法的不足,提供一种可与双字节字符相结合的检索方法。
本发明的技术内容:一种对含四字节字符的文本进行全文检索的方法,其步骤包括:
(1)在建立索引的时候,首先在文字流中采用逐个字符查验的方法判断将要建立索引的字符是否为四字节字符;
(2)如是四字节字符,将该单个的四字节字符加入索引表中并作为索引单元建立倒排索引;如不是四字节字符,通过检索引擎常规的分词方式确定关键词,将关键词作为索引单元加入倒排索引。
(3)在查询的时候,首先在文字流中采用逐个字符查验的方法判断待查询的字符是否为四字节字符;
(4)如是四字节字符,将该单个的四字节字符做为一个查询词;如不是四字节字符,通过检索引擎常规的分词方式确定关键词,将获得的关键词做为一个查询词;
(5)将前述的查询词集合送入检索引擎进行查询。
如字符为双字节文字,检索引擎可采用二元语法和基于词表相结合的分词方式确定关键词。
如字符为西方单字符文字,检索引擎可采用自然的西方文字分词方式确定关键词。
将获得的所有查询词可以逻辑“与”的方式连接组成查询条件,送入检索引擎。
本发明的技术效果:本发明不必采用四字节字符作为索引表的基本单位,因而可以占用很少的索引空间,不会影响索引建置的速度和检索的速度。
具体实施方式
本发明是修改现有的索引和检索过程,加入对四字节的特殊处理方法。具体详述如下:
首先,在建立索引的时候,假设需要对文字流T1,T2,....,Tn建立索引(每个Ti为一个字节)。
读取Ti,Ti+1,Ti+2,Ti+3,令W=TiTi+1Ti+2Ti+3
若W为四字节字符,在索引表中加入索引词W及相应倒排索引,并令i=i+4;
否则令W=TiTi+1,使用原有分词方法建立索引,并修改i的值至相应位置。
重复上述过程,直到所有文字内容都已被处理完毕。
在查询的时候,对检索字串进行预处理,进行分词,具体方法为:
假设检索字串为T1,T2,....,Tm,并设分词的结果为集合S={W1,W2,....,Wk},Wi为一个检索词。
读取Ti,Ti+1,Ti+2,Ti+3,令W=TiTi+1Ti+2Ti+3
若W为四字节字符,令S=SU{W},并令i=i+4;
否则令W=TiTi+1,使用原有分词方法处理,将新词加入集合S,并修改i的值至相应位置;
重复上述过程,直到所有Ti均处理完毕;
将W1 AND W2 AND....AND Wk(这里的AND是逻辑“与”运算符)送入搜索引擎进行检索,得到的就是需要的结果。
本发明不必采用四字节字符作为索引字的基本单位,因而仅仅占用很少的索引空间,并且不会影响索引建置的速度和检索的速度。

Claims (4)

1、一种对含四字节字符的文本进行全文检索的方法,其步骤包括:
(1)在建立索引的时候,首先在文字流中采用逐个字符查验的方法判断将要建立索引的字符是否为四字节字符;
(2)如是四字节字符,将该单个的四字节字符作为索引词加入倒排索引;如不是四字节字符,通过检索引擎常规的分词方式确定关键词,将关键词作为索引单元加入倒排索引。
(3)在检索的时候,首先在文字流中采用逐个字符查验的方法判断待查询的字符是否为四字节字符;
(4)如是四字节字符,将该单个的四字节字符做为一个查询词;如不是四字节字符,通过检索引擎常规的分词方式确定关键词,将获得的关键词做为一个查询词;
(5)将前述的查询词集合送入检索引擎进行查询。
2、如权利要求1所述的对含四字节字符的文本进行全文检索的方法,其特征在于:如字符为双字节文字,检索引擎采用二元语法和基于词表相结合的分词方式确定关键词。
3、如权利要求1所述的对含四字节字符的文本进行全文检索的方法,其特征在于:如字符为西方单字符文字,检索引擎采用自然的西方文字分词的方式确定关键词。
4、如权利要求1、2或3所述对含四字节字符的文本进行全文检索的方法,其特征在于:将获得的所有查询词以逻辑“与”的方式连接组成查询条件,送入检索引擎。
CN 200510011824 2005-05-31 2005-05-31 对含四字节字符的文本进行全文检索的方法 Expired - Fee Related CN1694092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510011824 CN1694092B (zh) 2005-05-31 2005-05-31 对含四字节字符的文本进行全文检索的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510011824 CN1694092B (zh) 2005-05-31 2005-05-31 对含四字节字符的文本进行全文检索的方法

Publications (2)

Publication Number Publication Date
CN1694092A true CN1694092A (zh) 2005-11-09
CN1694092B CN1694092B (zh) 2012-10-03

Family

ID=35353055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510011824 Expired - Fee Related CN1694092B (zh) 2005-05-31 2005-05-31 对含四字节字符的文本进行全文检索的方法

Country Status (1)

Country Link
CN (1) CN1694092B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023989B (zh) * 2009-09-23 2012-10-10 阿里巴巴集团控股有限公司 一种信息检索方法及其系统
CN106649312A (zh) * 2015-10-29 2017-05-10 北京北方微电子基地设备工艺研究中心有限责任公司 日志文件的分析方法和系统
CN108776705A (zh) * 2018-06-12 2018-11-09 厦门市美亚柏科信息股份有限公司 一种文本全文精确查询的方法、装置、设备及可读介质
CN116361421A (zh) * 2023-05-30 2023-06-30 互联时刻(北京)信息科技有限公司 文本检索方法、装置及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023989B (zh) * 2009-09-23 2012-10-10 阿里巴巴集团控股有限公司 一种信息检索方法及其系统
CN106649312A (zh) * 2015-10-29 2017-05-10 北京北方微电子基地设备工艺研究中心有限责任公司 日志文件的分析方法和系统
CN106649312B (zh) * 2015-10-29 2019-10-29 北京北方华创微电子装备有限公司 日志文件的分析方法和系统
CN108776705A (zh) * 2018-06-12 2018-11-09 厦门市美亚柏科信息股份有限公司 一种文本全文精确查询的方法、装置、设备及可读介质
CN108776705B (zh) * 2018-06-12 2020-11-17 厦门市美亚柏科信息股份有限公司 一种文本全文精确查询的方法、装置、设备及可读介质
CN116361421A (zh) * 2023-05-30 2023-06-30 互联时刻(北京)信息科技有限公司 文本检索方法、装置及存储介质
CN116361421B (zh) * 2023-05-30 2023-08-15 互联时刻(北京)信息科技有限公司 文本检索方法、装置及存储介质

Also Published As

Publication number Publication date
CN1694092B (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
TWI480746B (zh) 使用經結構化之資料儲存器達到較快速全文檢索
US7917480B2 (en) Document compression system and method for use with tokenspace repository
KR101157693B1 (ko) 토큰스페이스 저장소와 함께 사용하기 위한 멀티-스테이지질의 처리 시스템 및 방법
Hsu et al. Space-efficient data structures for top-k completion
US20030074183A1 (en) Method and system for encoding and accessing linguistic frequency data
CN101075252A (zh) 一种网络搜索方法及系统
CN1687926A (zh) 一种基于xml的pdf文档信息抽取系统的方法
WO2004109492A1 (fr) Procede et appareil de traitement et de representation d'objets
US20020022953A1 (en) Indexing and searching ideographic characters on the internet
WO2012159558A1 (zh) 基于语意识别的自然语言处理方法、装置和系统
CN1786962A (zh) 完美双数组trie树词典管理与检索方法
CN101046809A (zh) 基于关联规则模式的新词识别方法
CN103678385A (zh) 一种适用于移动搜索的个性化词典构造方法
US7199729B2 (en) Character code conversion methods and systems
CN102024026B (zh) 用于处理查询词语的方法和系统
CN101055593A (zh) 藏文网页及其编码的识别方法
CN101739142B (zh) 五笔输入系统及方法
CN1694092A (zh) 对含四字节字符的文本进行全文检索的方法
CN1496062A (zh) 网络中智能信息处理的方法和系统
CN101299212B (zh) 一种基于比特映射的压缩键树的单词检索方法
CN110263339A (zh) 一种基于维吾尔文音节的可检索式压缩方法
CN1177271C (zh) 四笔号码字词不重输入法及其键盘
CN1034245C (zh) 缅文字型智能四码输入系统
CN1916888A (zh) 识别双字节字符集字符数据的语言的方法和系统
CN1808349A (zh) 中文短语笔画以及语音化文字输入的使用者界面和数据库结构

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: WANG FEI

Free format text: FORMER OWNER: WANG HONGYUAN

Effective date: 20090410

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090410

Address after: Beijing City, Chaoyang District Street heading for the small village compound No. 12 room 901 post encoding: 100020

Applicant after: Wang Fei

Address before: Beijing City, Chaoyang District Street heading for the small village compound No. 12 room 901 post encoding: 100020

Applicant before: Wang Hongyuan

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121003

Termination date: 20200531

CF01 Termination of patent right due to non-payment of annual fee