CN110019649A - 一种建立、搜索索引树的方法及装置 - Google Patents
一种建立、搜索索引树的方法及装置 Download PDFInfo
- Publication number
- CN110019649A CN110019649A CN201711424349.8A CN201711424349A CN110019649A CN 110019649 A CN110019649 A CN 110019649A CN 201711424349 A CN201711424349 A CN 201711424349A CN 110019649 A CN110019649 A CN 110019649A
- Authority
- CN
- China
- Prior art keywords
- node
- array
- pointers
- character
- tree
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明实施例提供了一种建立索引树的方法、装置以及一种搜索索引树的方法、装置,该建立索引树的方法包括:获取源数据中的第一字符;基于所述第一字符建立第一子索引树,如果所述第一字符为汉字,则所述第一子索引树包括以所述第一字符的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点;在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点,如果所述第一字符为汉字,则所述第二根节点为以所述第一字符的拼音首字母命名的节点。本发明使用索引树构建被搜索的文本数据,在利用该索引树搜索联系人时,能够利用指针数组快速搜索出与关键字匹配源数据,并且搜索过程简单,降低了对终端CPU资源的占用。
Description
技术领域
本发明涉及终端的信息处理技术领域,具体涉及一种建立索引树的方法、装置及一种搜索索引树的方法、装置。
背景技术
以手机、平板电脑为首的终端都具有通讯录应用。一般而言,用户通讯录的数据量在一两百人至数千人之间不等。所以,通讯录应用配置有关键字搜索功能,以利用关键字快速搜索出用户欲查找的联系人。
目前,终端可以利用模糊匹配的方法搜索联系人。具体步骤为:获取关键字字符串,并提取关键字字符串的特征值,然后将该特征值依次与数据库中的联系人信息进行匹配。数据库中的联系人信息包括汉字,汉字对应的拼音,拼音缩写以及拼音转码成拇指键盘后对应的数字序列。当匹配出多个联系人信息后,再按照匹配优先级进行加权排序并输出相应的联系人。这种匹配算法需要对数据库中全部的联系人信息执行一次遍历操作,也需要对各个联系人信息中各类信息进行一次匹配计算,算法较繁琐,不仅影响通讯录应用响应速度,而且会占用终端CPU资源,从而影响终端整机的运行速度。
发明内容
本发明实施例提供一种建立索引树的方法、装置以及一种搜索索引树的方法、装置,用以快速搜索出用户预查找的联系人。
第一方面,本发明实施例中提供了一种建立索引树的方法,包括:
获取源数据中的第一字符;
基于所述第一字符建立第一子索引树,如果所述第一字符为汉字,则所述第一子索引树包括以所述第一字符的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点;
在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点,如果所述第一字符为汉字,则所述第二根节点为以所述第一字符的拼音首字母命名的节点。
进一步地,所述方法还包括:
获取源数据中的第二字符,所述第二字符为所述源数据中所述第一字符的下一个字符;
在所述第一子索引树中的叶节点中插入第二指针数组,所述第二指针数组指向所述第二字符对应的第二子索引树的第三根节点,所述第一子索引树中的叶节点为以所述第一字符的末尾拼音字母命名的节点。
进一步地,所述方法还包括:
如果所述第一字符为非汉字字符,则所述第一子索引树包括一个以所述第一字符命名的节点,所述第一子索引树的第二根节点与叶节点为同一个节点。
进一步地,基于所述第一字符建立第一子索引树的步骤,包括:
如果所述第一字符为汉字,确定所述第一根节点中是否存在第三指针数组,所述第三指针数组指向的第一节点的名称与所述第一字符的拼音首字母相同;
如果存在,则确定所述第一节点的子节点的名称中是否存在与所述第一字符的第二个拼音字母相同的字母;
如果不存在与所述第一字符的第二个拼音字母相同的字母,则基于所述第一字符的拼音首字母之后的各个拼音字母建立至少一个第二节点;
利用所述第一节点以及各个所述第二节点建立所述第一子索引树,所述第一子索引树中的各个节点组成的路径与所述第一字符的拼音字母顺序相同。
进一步地,在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点的步骤,包括:
确定所述第一子索引树中的第二根节点;
基于所述第二根节点的名称确定用于指向所述第二根节点的第一指针数组在第一根节点中的插入位置,所述第一根节点中的指针数组基于其指向的节点的名称进行排列;
在所述插入位置中插入所述第一指针数组。
进一步地,所述第一指针数组包括所述第二根节点的信息,所述第一字符在所述源数据中的位置信息以及所述源数据的标识;
当所述第一字符为汉字时,所述第一指针数组还包括所述第一字符的拼音信息以及所述第一字符的汉字信息。
进一步地,所述方法还包括:
在所述第一子索引树中的第二根节点中插入第二指针数组,所述第二指针数组指向第二字符对应的第二子索引树的第三根节点,所述第二字符为所述源数据中所述第一字符的下一个字符。
第二方面,本发明实施例还提供了一种搜索索引树的方法,包括:
获取第一关键字;
确定与所述第一关键字匹配的第一指针数组,所述第一指针数组为索引树的第一根节点中的指针数组,所述第一根节点中的指针数组指向源数据中各个字符对应的子索引树的第二根节点,当所述第一关键字为汉字时,所述第一指针数组中的汉字信息与所述第一关键字相同;
基于所述第一指针数组指向的节点的信息查找与所述第一关键字匹配的第一路径,并定位到所述第一路径的最后一个节点,当所述第一关键字为汉字时,所述第一路径为所述第一关键字对应的第一子索引树,所述第一子索引树包括以所述第一关键字的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点;
保存所述第一指针数组;
根据所述第一指针数组中的源数据的标识输出相应的源数据。
进一步地,确定与所述第一关键字匹配的第一指针数组的步骤包括:当所述第一关键字为非汉字时,所述第一指针数组指向的节点的名称与所述第一关键字相同;
基于所述第一指针数组指向的节点的信息查找与所述第一关键字匹配的第一路径,并定位到所述第一路径的最后一个节点的步骤包括:当所述第一关键字为非汉字时,所述第一路径包括所述第一指针数组指向的节点,定位到的节点为所述第一指针数组指向的节点。
进一步地,确定与所述第一关键字匹配的第一指针数组的步骤,包括:
确定所述第一根节点中排在中间位置的第二指针数组;
根据所述第一关键字与所述第二指针数组指向的节点的名称的对比,确定从第二指针数组开始向前查找或向后查找,以查找到与所述第一关键字匹配的第一指针数组。
进一步地,所述方法还包括:
获取第二关键字,所述第二关键字与所述第一关键字同属于相同的关键字字符串,并且为所述第一关键字的下一个关键字;
查找所述定位到的节点下的子节点中是否存在与所述第二关键字匹配的第二路径,所述定位到的节点与所述子节点同属于同一个子索引树;
如果存在,根据所述第一指针数组中的拼音信息在所述第一指针数组中确定与所述第二关键字匹配的第三指针数组;
保存所述第三指针数组;
输出所述第三指针数组对应的源数据。
进一步地,获取第二关键字之后,还包括:
在所述定位到的节点的指针数组中确定与所述第二关键字匹配的第四指针数组,所述第四指针数组中的源数据的标识与第五指针数组中的源数据的标识相同,并且所述第四指针数组中的位置信息大于该第五指针数组中的位置信息,所述第五指针数组为所述第一指针数组中的一个;
基于所述第四指针数组指向的节点的信息查找与所述第二关键字匹配的第三路径;
保存所述第四指针数组;
输出所述第四指针数组对应的源数据。
第三方面,本发明实施例还提供了一种建立索引树的装置,包括:
获取单元,用于获取源数据中的第一字符。
建立单元,用于基于所述第一字符建立第一子索引树,如果所述第一字符为汉字,则所述第一子索引树包括以所述第一字符的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点;
插入单元,用于在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点,如果所述第一字符为汉字,则所述第二根节点为以所述第一字符的拼音首字母命名的节点。
进一步地,所述获取单元,还用于获取源数据中的第二字符,所述第二字符为所述源数据中所述第一字符的下一个字符;
所述插入单元,还用于在所述第一子索引树中的叶节点中插入第二指针数组,所述第二指针数组指向所述第二字符对应的第二子索引树的第三根节点,所述第一子索引树中的叶节点为以所述第一字符的末尾拼音字母命名的节点。
进一步地,所述建立单元还用于:
如果所述第一字符为汉字,确定所述第一根节点中是否存在第三指针数组,所述第三指针数组指向的第一节点的名称与所述第一字符的拼音首字母相同;
如果存在,则确定所述第一节点的子节点的名称中是否存在与所述第一字符的第二个拼音字母相同的字母;
如果不存在与所述第一字符的第二个拼音字母相同的字母,则基于所述第一字符的拼音首字母之后的各个拼音字母建立至少一个第二节点;
利用所述第一节点以及各个所述第二节点建立所述第一子索引树,所述第一子索引树中的各个节点组成的路径与所述第一字符的拼音字母顺序相同。
进一步地,所述插入单元具体用于:
确定所述第一子索引树中的第二根节点;
基于所述第二根节点的名称确定用于指向所述第二根节点的第一指针数组在第一根节点中的插入位置,所述第一根节点中的指针数组基于其指向的节点的名称进行排列;
在所述插入位置中插入所述第一指针数组。
进一步地,所述第一指针数组包括所述第二根节点的信息,所述第一字符在所述源数据中的位置信息以及所述源数据的标识;
当所述第一字符为汉字时,所述第一指针数组还包括所述第一字符的拼音信息以及所述第一字符的汉字信息。
进一步地,所述插入单元,还用于在所述第一子索引树中的第二根节点中插入第二指针数组,所述第二指针数组指向第二字符对应的第二子索引树的第三根节点,所述第二字符为所述源数据中所述第一字符的下一个字符。
第四方面,本发明实施例还提供了一种搜索索引树的装置,包括:
获取单元,用于获取第一关键字;
确定单元,用于确定与所述第一关键字匹配的第一指针数组,所述第一指针数组为索引树的第一根节点中的指针数组,所述第一根节点中的指针数组指向源数据中各个字符对应的子索引树的第二根节点,当所述第一关键字为汉字时,所述第一指针数组中的汉字信息与所述第一关键字相同;
查找单元,用于基于所述第一指针数组指向的节点的信息查找与所述第一关键字匹配的第一路径,并定位到所述第一路径的最后一个节点,当所述第一关键字为汉字时,所述第一路径为所述第一关键字对应的第一子索引树,所述第一子索引树包括以所述第一关键字的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点;
保存单元,用于保存所述第一指针数组;
输出单元,用于根据所述第一指针数组中的源数据的标识输出相应的源数据。
进一步地,当所述第一关键字为非汉字时,所述第一指针数组指向的节点的名称与所述第一关键字相同;
当所述第一关键字为非汉字时,所述第一路径包括所述第一指针数组指向的节点,定位到的节点为所述第一指针数组指向的节点。
进一步地,所述确定单元还用于:
确定所述第一根节点中排在中间位置的第二指针数组;
根据所述第一关键字与所述第二指针数组指向的节点的名称的对比,确定从第二指针数组开始向前查找或向后查找,以查找到与所述第一关键字匹配的第一指针数组。
进一步地,所述获取单元,还用于获取第二关键字,所述第二关键字与所述第一关键字同属于相同的关键字字符串,并且为所述第一关键字的下一个关键字;
所述查找单元,还用于查找所述定位到的节点下的子节点中是否存在与所述第二关键字匹配的第二路径,所述定位到的节点与所述子节点同属于同一个子索引树;
所述确定单元,还用于当所述定位到的节点下的子节点中存在与所述第二关键字匹配的第二路径时,根据所述第一指针数组中的拼音信息在所述第一指针数组中确定与所述第二关键字匹配的第三指针数组;
所述保存单元,还用于保存所述第三指针数组;
所述输出单元,还用于输出所述第三指针数组对应的源数据。
进一步地,所述确定单元,还用于在所述定位到的节点的指针数组中确定与所述第二关键字匹配的第四指针数组,所述第四指针数组中的源数据的标识与第五指针数组中的源数据的标识相同,并且所述第四指针数组中的位置信息大于该第五指针数组中的位置信息,所述第五指针数组为所述第一指针数组中的一个;
所述查找单元,还用于基于所述第四指针数组指向的节点的信息查找与所述第二关键字匹配的第三路径;
所述保存单元,还用于保存所述第四指针数组;
所述输出单元,还用于输出所述第四指针数组对应的源数据。
本发明实施例使用索引树构建被搜索的文本数据,在利用该索引树搜索联系人时,能够利用指针数组快速搜索出与关键字匹配源数据,并且搜索过程简单,降低了对终端CPU资源的占用。
附图说明
图1示出了本发明实施例提供的一种索引树的结构示意图;
图2示出了本发明实施例提供的一种建立索引树的方法的流程图;
图3示出了本发明实施例提供的一种搜索索引树的方法的流程图;
图4示出了本发明实施例提供的一种建立索引树的装置的结构框图;
图5示出了本发明实施例提供的一种搜索索引树的装置的结构框图。
具体实施方式
在具有通讯录应用的终端上,可以保存大量的联系人信息。该终端可以为手机、平板电脑、车载电脑、智能手环以及其他任何具有通讯录应用的终端。本发明实施例提供了一种建立通讯录索引树的方法,在本实施例中,索引树中的节点包括字母节点以及非中英文节点。在建立汉字名字对应的索引树时,可以根据汉字名字的拼音字母建立字母节点,该拼音字母可以利用26个英文字母表示,例如“李”对应的子索引树可以包括L节点和I节点。该索引树中的节点不限于字母节点,还可以是使用终端存储联系人名称时,能够使用的任何字符对应的节点,例如表情字符节点,数字字符节点等非中英文节点。
用户在查找具体的联系人时,可以输入搜索关键字(以下简称“关键字”),例如汉字、字母、或非中英文字符,终端可以根据该关键字在建立好的索引树中查找出匹配的路径,从而快速搜索出用户欲查找的联系人。
实施例一
当源数据中的联系人包括“李雷”、“李莉”、“孙文哲”、“张文浩”时,可以利用本发明提供的方法建立如图1所示的索引树。其中root节点为索引树的根节点,即第一根节点,该根节点下存储有指针数组,该指针数组用于指向源数据中各个字符对应的子索引树。本实施例中的子索引树可以为源数据中任一字符对应的子索引树,该子索引树可以包括一个节点,也可以包括至少两个节点。为清楚地说明本实施例的实施方法,以下结合图1进行具体说明。
参考图2,为本发明实施例提供的一种建立索引树的方法,该方法可以应用于终端上,该方法可以包括以下步骤。
步骤201,获取源数据中的第一字符。
该源数据为终端中保存的联系人信息,例如“小明”、“JACK”等等。该第一字符可以为数据源中的任一个字符,包括汉字、字母、非中英文字符,例如“小明”中的“小”,或“JACK”中的“A”。该非中英文字符包括数字、表情字符、特殊字符、希腊字符等任意可以使用终端的输入法输入的字符。
当终端中增加新的源数据时,可以在已建立的索引树基础上进行更新,以保证能够利用索引树搜索到终端中已保存的任一个联系人。
步骤202,基于所述第一字符建立第一子索引树,如果所述第一字符为汉字,则所述第一子索引树包括以所述第一字符的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点。
在本实施例中,组成索引树的各个节点可以包括字母节点和非中英文节点。如果源数据中包含汉字,可以利用该汉字的拼音字母建立节点。每个汉字对应的子索引树的路径与该汉字的拼音字母的顺序相同,例如“李”,其对应的子索引树包括L节点和I节点,I节点为L节点的子节点。子索引树的根节点为该子索引树的第一个节点,子索引树的叶节点为该子索引树的最后一个节点。非汉字字符对应的子索引树可以包括一个以所述第一字符命名的节点,并且其根节点和叶节点为同一个节点。
当数据源中两个以上的汉字的前几位拼音字母相同时,可以使用公共的节点路径。例如如图1所示,“李”字的L节点可以与“雷”中的L节点使用同一个节点,从而节约数据存储空间。再例如“李”字的两个节点与“莉”字的两个节点可以使用相同的节点。所以,可以根据根节点中的指针数组确定需要建立的节点是否已经存在与索引树中,具体过程可以包括以下子步骤。
子步骤11,如果所述第一字符为汉字,确定所述第一根节点中是否存在第三指针数组,所述第三指针数组指向的第一节点的名称与所述第一字符的拼音首字母相同。
如果第一根节点中不存在所述第三指针数组,则建立以第一字符的各个拼音字母命名的节点,以组建子索引树。
子步骤12,如果存在,则确定所述第一节点的子节点的名称中是否存在与所述第一字符的第二个拼音字母相同的字母。
子步骤13,如果不存在与所述第一字符的第二个拼音字母相同的字母,则基于所述第一字符的拼音首字母之后的各个拼音字母建立至少一个第二节点。
子步骤14,利用所述第一节点以及各个所述第二节点建立第一子索引树,所述第一子索引树中的各个节点组成的路径与所第一字符的拼音字母顺序相同。
例如在建立“雷”字的子索引树时,如果在第一根节点中查找到有指向L节点的指针数组,则无需再建立L节点,但是如果L节点的子节点中不包括E节点,则需要新建E节点和I节点。同理,如果L节点的子节点中包括E节点,则也无需再建立E节点,可以利用已有的L节点和E节点建立“雷”字的子索引树。
步骤203,在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点,如果所述第一字符为汉字,所述第二根节点为以所述第一字符的拼音首字母命名的节点。
本实施例可以在第一根节点中插入指向第一字符对应的第一子索引树的指针数组,也就是说,可以插入指向该第一子索引树中的第二根节点的指针数组。需要说明的是,本实施例可以对数据源中的任一字符建立相应的指针数组,而不是只建立数据源中的首字符对应的指针数组。以用于在搜索联系人时,可以从源数据中的任意一个字符开始搜索,例如如图1所示的索引树,当输入W时,可以搜索出“孙文哲”以及“张文浩”。
当第一字符为汉字时,所述第二根节点为以所述第一字符的拼音首字母命名的节点。当第一字符为非汉字时,所述第二根节点为第一字符对应的子索引树中的唯一节点,即以所述第一字符命名的节点。
第一根节点中的各个指针数组可以根据其指向的节点的名称进行排序,例如可以按照26个英文字母的顺序进行排序,所以在第一根节点中插入指针数组时,可以根据其指向的节点的名称确定插入位置,具体步骤可以包括:确定所述第一子索引树中的第二根节点;基于所述第二根节点的名称确定用于指向所述第二根节点的第一指针数组在第一根节点中的插入位置,所述第一根节点中的指针数组基于其指向的节点的名称进行排列;在所述插入位置中插入所述第一指针数组。
在本发明中,源数据的各个字符对应的指针数组可以包括指向的节点的信息,该字符在该源数据中的位置信息以及该源数据的标识。当该字符为汉字时,指针数组还包括该字符的拼音信息以及该字符的汉字信息。也就是说,所述第一指针数组包括所述第二根节点的信息,所述第一字符在所述源数据中的位置信息以及所述源数据的标识。当所述第一字符为汉字时,所述第一指针数组还包括所述第一字符的拼音信息以及所述第一字符的汉字信息。
其中,指向的节点的信息可以包括该节点的名称以及该节点在索引树中的地址信息,该地址信息可以用于快速确定该节点在索引树中的位置。该位置信息是指该字符是该数据源的第几位字符,可以用1、2、3等进行表示,例如“李雷”中的‘李’的位置信息是1。该源数据的标识用于指代具体的源数据信息,例如“李雷”可以用01或02进行表示。字符的拼音信息可以使用26个英文字母进行标识。字符的汉字信息可以利用汉字编码信息进行表示,例如使用0和1字符表示。
在对指针数组进行排序时,还可以根据字符的拼音信息,字符的汉字信息以及字符在源数据中的位置信息进行排序。指针数组排序的优先级从高到低可以为拼音信息,汉字信息,位置信息。需要说明的是,在建立有序的指针数组时,可以根据不同的业务需求自定义排序的优先级,本实施例不做具体限制。对指针数组进行排序,可以使在搜索联系人时根据二分法快速查找到相应的联系人。二分法为从数列的中间位置开始向前或向后进行查找的方法。
以图1中的根节点为例进行说明,该第一根节点包括的指针数组包括如表1所示的指针数组列表中的指针数组,并按表中所示的指针数组顺序进行排列。
表1:指针数组列表
指向的节点 | 拼音信息 | 汉字信息 | 位置信息 | 源数据 |
H | hao | 浩 | 3 | 张文浩 |
L | lei | 雷 | 2 | 李雷 |
L | li | 李 | 1 | 李雷 |
L | li | 李 | 1 | 李莉 |
L | li | 莉 | 2 | 李莉 |
S | sun | 孙 | 1 | 孙文哲 |
W | wen | 文 | 2 | 孙文哲 |
W | wen | 文 | 2 | 张文浩 |
Z | zhang | 张 | 1 | 张文浩 |
Z | zhe | 哲 | 3 | 孙文哲 |
在具体实现中,指向的节点的信息中的节点名称以及拼音信息可以使用其保存的地址信息进行表示。所有汉字对应的拼音组合数目有限,大约为427个,在建立指针数组时,可以先将其需要的拼音信息进行集中保存,然后在生成指针数组时可以使用该拼音信息的地址信息表示该拼音信息,并且相同的拼音信息可以使用相同的地址信息进行表示,在包含大量源数据的情况下,使用地址信息较使用具体的拼音更加节省空间成本。同理,指针数组中的节点名称也可以由该名称的地址信息进行表示。
步骤204,获取源数据中的第二字符,所述第二字符为所述源数据中所述第一字符的下一个字符。
步骤205,在所述第一子索引树中的叶节点中插入第二指针数组,所述第二指针数组指向所述第二字符对应的第二子索引树的第三根节点,所述第一子索引树中的叶节点为以所述第一字符的末尾拼音字母命名的节点。
所述第二字符可以为汉字或非汉字,建立所述第二子索引树的过程与建立所述第一子索引树的过程相似,在此不再赘述。
在同一个子索引树中,各个节点可以通过在其节点下写入其下的子节点信息,以组成完整的子索引树路径,各个子索引树之间可以通过在子索引树的叶节点中插入指向下一个子索引树的根节点的指针数组,从而建立各个子索引树之间的连接。例如如图1所示,“李”中I节点下可以包括指向“雷”的子索引树的指针数组以及指向“莉”的子索引树的指针数组。该第二指针数组中的信息与第一指针数组中的信息相似,在此不再赘述。
步骤206,在所述第一子索引树中的第二根节点中插入第二指针数组,以用于首字母搜索。
例如如图1所示,“李”中L节点下可以包括指向“雷”的子索引树的指针数组以及指向“莉”的子索引树的指针数组,以用于在搜索联系人时,通过输入中文名的首字母,匹配出相应的联系人。
当第一字符以及第一字符均为字母时,例如分别为“L”和“I”,对本实施例进行举例说明。先建立“J”的第一子索引树,该第一子索引树包括J节点,在第一根节点中建立指向J节点的指针数组,然后先建立“I”的第二子索引树,该第二子索引树包括I节点,再分别在第一根节点和J节点下建立指向I节点的指针数组。
本发明使用索引树构建被搜索的文本数据,在利用该索引树搜索联系人时,能够利用指针数组快速搜索出与关键字匹配源数据,并且搜索过程简单,降低了对终端CPU资源的占用。
实施例二
参考图3,为本发明实施例提供的一种索引树的搜索方法,该方法可以应用于终端上,该方法可以包括以下步骤。
步骤301,获取第一关键字。
所述第一关键字可以包括字母、汉字或非中英文字符。
步骤302,确定与所述第一关键字匹配的第一指针数组,所述第一指针数组为索引树的第一根节点中的指针数组,所述第一根节点中的指针数组指向源数据中各个字符对应的子索引树的第二根节点,当所述第一关键字为汉字时,所述第一指针数组中的汉字信息与所述第一关键字相同。
当所述第一关键字为非汉字时,所述第一指针数组指向的节点的名称与所述第一关键字相同。
在索引树的第一根节点下查找与第一关键字匹配的指针数组时,可以利用二分法进行查找,从而快速查找到与第一关键字匹配的指针数组。利用二分法进行查找的过程可以包括:确定所述第一根节点中排在中间位置的第二指针数组;根据所述第一关键字与所述第二指针数组指向的节点的名称的对比,确定从第二指针数组开始向前查找或向后查找,以查找到与所述第一关键字匹配的第一指针数组,从而无需遍历所有的指针数组,能够快速查找到与第一关键字匹配的指针数组。在具体实施中,还可以根据所述第一关键字与所述第二指针数组中的拼音信息的对比,确定从第二指针数组开始向前查找或向后查找。
步骤303,基于所述第一指针数组指向的节点的信息查找与所述第一关键字匹配的第一路径,并定位到所述第一路径的最后一个节点,当所述第一关键字为汉字时,所述第一路径为所述第一关键字对应的第一子索引树,所述第一子索引树包括以所述第一关键字的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点。
当所述第一关键字为非汉字时,所述第一路径包括所述第一指针数组指向的节点,定位到的节点为所述第一指针数组指向的节点。
步骤304,保存所述第一指针数组。
步骤305,根据所述第一指针数组中的源数据的标识输出相应的源数据。
当搜索完第一关键字后,还可以输入第二关键字,以在匹配出的联系人的基础上进行更加精确地筛选。该方法还可以包括以下步骤。
步骤306,获取第二关键字,所述第二关键字与所述第一关键字同属于相同的关键字字符串,并且为所述第一关键字的下一个关键字。
步骤307,查找所述定位到的节点下的子节点中是否存在与所述第二关键字匹配的第二路径,所述定位到的节点与所述子节点同属于同一个子索引树。
当第二关键字为非汉字时,第二路径包括以所述第二关键字命名的节点。
步骤308,如果存在,根据所述第一指针数组中的拼音信息在所述第一指针数组中确定与所述第二关键字匹配的第三指针数组。
步骤309,保存所述第三指针数组。
保存所述第三指针数组,可以用于进一步地类似于本实施例的筛选。
步骤310,输出所述第三指针数组对应的源数据。
当定位到的节点中保存有指针数组时,还可以在所述定位到的节点的指针数组中确定与所述第二关键字匹配的第四指针数组,所述第四指针数组中的源数据的标识与第五指针数组中的源数据的标识相同,并且所述第四指针数组中的位置信息大于该第五指针数组中的位置信息,所述第五指针数组为所述第一指针数组中的一个;基于所述第四指针数组指向的节点的信息查找与所述第二关键字匹配的第三路径;保存所述第四指针数组;输出所述第四指针数组对应的源数据。当所述第二关键字为非汉字时,可以根据第一指针数组指向的节点的名称确定该第四指针数组,当所述第二关键字为汉字时,可以根据第一指针数组的汉字信息确定该第四指针数组。
当定位到的节点为子索引树的根节点,并且根节点中保存有指向其他子索引树的指针数组时,则可以进行拼音首字母搜索。
本发明使用索引树构建被搜索的文本数据,在利用该索引树搜索联系人时,能够利用指针数组快速搜索出与关键字匹配源数据,并且搜索过程简单,降低了对终端CPU资源的占用。
实施例三
参考图4,为本发明实施例提供的一种建立索引树的装置的结构框图,该装置可以部署在终端上或为终端本身。该装置可以包括获取单元401,建立单元402,插入单元403。
其中,获取单元401,用于获取源数据中的第一字符。
建立单元402,用于基于所述第一字符建立第一子索引树,如果所述第一字符为汉字,则所述第一子索引树包括以所述第一字符的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点。
插入单元403,用于在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点,如果所述第一字符为汉字,则所述第二根节点为以所述第一字符的拼音首字母命名的节点。
优选地,所述第一指针数组包括所述第二根节点的信息,所述第一字符在所述源数据中的位置信息以及所述源数据的标识;当所述第一字符为汉字时,所述第一指针数组还包括所述第一字符的拼音信息以及所述第一字符的汉字信息。
所述获取单元401,还可以用于获取源数据中的第二字符,所述第二字符为所述源数据中所述第一字符的下一个字符。
所述插入单元403,还可以用于在所述第一子索引树中的叶节点中插入第二指针数组,所述第二指针数组指向所述第二字符对应的第二子索引树的第三根节点,所述第一子索引树中的叶节点为以所述第一字符的末尾拼音字母命名的节点。
优选地,所述建立单元402还可以用于:
如果所述第一字符为汉字,确定所述第一根节点中是否存在第三指针数组,所述第三指针数组指向的第一节点的名称与所述第一字符的拼音首字母相同;
如果存在,则确定所述第一节点的子节点的名称中是否存在与所述第一字符的第二个拼音字母相同的字母;
如果不存在与所述第一字符的第二个拼音字母相同的字母,则基于所述第一字符的拼音首字母之后的各个拼音字母建立至少一个第二节点;
利用所述第一节点以及各个所述第二节点建立所述第一子索引树,所述第一子索引树中的各个节点组成的路径与所述第一字符的拼音字母顺序相同。
优选地,所述插入单元403可以具体用于:确定所述第一子索引树中的第二根节点;基于所述第二根节点的名称确定用于指向所述第二根节点的第一指针数组在第一根节点中的插入位置,所述第一根节点中的指针数组基于其指向的节点的名称进行排列;在所述插入位置中插入所述第一指针数组。
优选地,所述插入单元403,还可以用于在所述第一子索引树中的第二根节点中插入第二指针数组,所述第二指针数组指向第二字符对应的第二子索引树的第三根节点,所述第二字符为所述源数据中所述第一字符的下一个字符。
实施例四
参考图5,为本发明实施例提供的一种搜索索引树的装置的结构框图,该装置可以部署在终端上或为终端本身。该装置可以包括获取单元501,确定单元502,查找单元503,保存单元504,输出单元505。
获取单元501,用于获取第一关键字。
确定单元502,用于确定与所述第一关键字匹配的第一指针数组,所述第一指针数组为索引树的第一根节点中的指针数组,所述第一根节点中的指针数组指向源数据中各个字符对应的子索引树的第二根节点,当所述第一关键字为汉字时,所述第一指针数组中的汉字信息与所述第一关键字相同。
优选地,当所述第一关键字为非汉字时,所述第一指针数组指向的节点的名称与所述第一关键字相同;当所述第一关键字为非汉字时,所述第一路径包括所述第一指针数组指向的节点,定位到的节点为所述第一指针数组指向的节点。
查找单元503,用于基于所述第一指针数组指向的节点的信息查找与所述第一关键字匹配的第一路径,并定位到所述第一路径的最后一个节点,当所述第一关键字为汉字时,所述第一路径为所述第一关键字对应的第一子索引树,所述第一子索引树包括以所述第一关键字的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点。
保存单元504,用于保存所述第一指针数组。
输出单元505,用于根据所述第一指针数组中的源数据的标识输出相应的源数据。
所述获取单元501,还可以用于获取第二关键字,所述第二关键字与所述第一关键字同属于相同的关键字字符串,并且为所述第一关键字的下一个关键字。
所述查找单元503,还可以用于查找所述定位到的节点下的子节点中是否存在与所述第二关键字匹配的第二路径,所述定位到的节点与所述子节点同属于同一个子索引树。
所述确定单元502,还可以用于当所述定位到的节点下的子节点中存在与所述第二关键字匹配的第二路径时,根据所述第一指针数组中的拼音信息在所述第一指针数组中确定与所述第二关键字匹配的第三指针数组。
所述保存单元504,还可以用于保存所述第三指针数组。
所述输出单元505,还可以用于输出所述第三指针数组对应的源数据。
优选地,所述确定单元502还可以用于:
确定所述第一根节点中排在中间位置的第二指针数组。
根据所述第一关键字与所述第二指针数组指向的节点的名称的对比,确定从第二指针数组开始向前查找或向后查找,以查找到与所述第一关键字匹配的第一指针数组。
优选地,所述确定单元502,还可以用于在所述定位到的节点的指针数组中确定与所述第二关键字匹配的第四指针数组,所述第四指针数组中的源数据的标识与第五指针数组中的源数据的标识相同,并且所述第四指针数组中的位置信息大于该第五指针数组中的位置信息,所述第五指针数组为所述第一指针数组中的一个。
所述查找单元503,还可以用于基于所述第四指针数组指向的节点的信息查找与所述第二关键字匹配的第三路径。
所述保存单元504,还可以用于保存所述第四指针数组。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种建立索引树的方法,其特征在于,包括:
获取源数据中的第一字符;
基于所述第一字符建立第一子索引树,如果所述第一字符为汉字,则所述第一子索引树包括以所述第一字符的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点;
在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点,如果所述第一字符为汉字,则所述第二根节点为以所述第一字符的拼音首字母命名的节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取源数据中的第二字符,所述第二字符为所述源数据中所述第一字符的下一个字符;
在所述第一子索引树中的叶节点中插入第二指针数组,所述第二指针数组指向所述第二字符对应的第二子索引树的第三根节点,所述第一子索引树中的叶节点为以所述第一字符的末尾拼音字母命名的节点。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述第一字符为非汉字字符,则所述第一子索引树包括一个以所述第一字符命名的节点,所述第一子索引树的第二根节点与叶节点为同一个节点。
4.根据权利要求1所述的方法,其特征在于,基于所述第一字符建立第一子索引树的步骤,包括:
如果所述第一字符为汉字,确定所述第一根节点中是否存在第三指针数组,所述第三指针数组指向的第一节点的名称与所述第一字符的拼音首字母相同;
如果存在,则确定所述第一节点的子节点的名称中是否存在与所述第一字符的第二个拼音字母相同的字母;
如果不存在与所述第一字符的第二个拼音字母相同的字母,则基于所述第一字符的拼音首字母之后的各个拼音字母建立至少一个第二节点;
利用所述第一节点以及各个所述第二节点建立所述第一子索引树,所述第一子索引树中的各个节点组成的路径与所述第一字符的拼音字母顺序相同。
5.根据权利要求1所述的方法,其特征在于,在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点的步骤,包括:
确定所述第一子索引树中的第二根节点;
基于所述第二根节点的名称确定用于指向所述第二根节点的第一指针数组在第一根节点中的插入位置,所述第一根节点中的指针数组基于其指向的节点的名称进行排列;
在所述插入位置中插入所述第一指针数组。
6.根据权利要求1所述的方法,其特征在于,
所述第一指针数组包括所述第二根节点的信息,所述第一字符在所述源数据中的位置信息以及所述源数据的标识;
当所述第一字符为汉字时,所述第一指针数组还包括所述第一字符的拼音信息以及所述第一字符的汉字信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一子索引树中的第二根节点中插入第二指针数组,所述第二指针数组指向第二字符对应的第二子索引树的第三根节点,所述第二字符为所述源数据中所述第一字符的下一个字符。
8.一种搜索索引树的方法,其特征在于,包括:
获取第一关键字;
确定与所述第一关键字匹配的第一指针数组,所述第一指针数组为索引树的第一根节点中的指针数组,所述第一根节点中的指针数组指向源数据中各个字符对应的子索引树的第二根节点,当所述第一关键字为汉字时,所述第一指针数组中的汉字信息与所述第一关键字相同,当所述第一关键字为非汉字时,所述第一指针数组指向的节点的名称与所述第一关键字相同;
基于所述第一指针数组指向的节点的信息查找与所述第一关键字匹配的第一路径,并定位到所述第一路径的最后一个节点,当所述第一关键字为汉字时,所述第一路径为所述第一关键字对应的第一子索引树,所述第一子索引树包括以所述第一关键字的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点,当所述第一关键字为非汉字时,所述第一路径包括所述第一指针数组指向的节点,定位到的节点为所述第一指针数组指向的节点;
保存所述第一指针数组;
根据所述第一指针数组中的源数据的标识输出相应的源数据。
9.一种建立索引树的装置,其特征在于,包括:
获取单元,用于获取源数据中的第一字符;
建立单元,用于基于所述第一字符建立第一子索引树,如果所述第一字符为汉字,则所述第一子索引树包括以所述第一字符的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点;
插入单元,用于在索引树的第一根节点中插入第一指针数组,所述指针数组指向所述第一子索引树的第二根节点,如果所述第一字符为汉字,则所述第二根节点为以所述第一字符的拼音首字母命名的节点。
10.一种搜索索引树的装置,其特征在于,包括:
获取单元,用于获取第一关键字;
确定单元,用于确定与所述第一关键字匹配的第一指针数组,所述第一指针数组为索引树的第一根节点中的指针数组,所述第一根节点中的指针数组指向源数据中各个字符对应的子索引树的第二根节点,当所述第一关键字为汉字时,所述第一指针数组中的汉字信息与所述第一关键字相同,当所述第一关键字为非汉字时,所述第一指针数组指向的节点的名称与所述第一关键字相同;
查找单元,用于基于所述第一指针数组指向的节点的信息查找与所述第一关键字匹配的第一路径,并定位到所述第一路径的最后一个节点,当所述第一关键字为汉字时,所述第一路径为所述第一关键字对应的第一子索引树,所述第一子索引树包括以所述第一关键字的各个拼音字母命名的节点,所述第一子索引树包括至少一个节点,当所述第一关键字为非汉字时,所述第一路径包括所述第一指针数组指向的节点,定位到的节点为所述第一指针数组指向的节点;
保存单元,用于保存所述第一指针数组;
输出单元,用于根据所述第一指针数组中的源数据的标识输出相应的源数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711424349.8A CN110019649A (zh) | 2017-12-25 | 2017-12-25 | 一种建立、搜索索引树的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711424349.8A CN110019649A (zh) | 2017-12-25 | 2017-12-25 | 一种建立、搜索索引树的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019649A true CN110019649A (zh) | 2019-07-16 |
Family
ID=67187144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711424349.8A Pending CN110019649A (zh) | 2017-12-25 | 2017-12-25 | 一种建立、搜索索引树的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019649A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110475028A (zh) * | 2019-08-26 | 2019-11-19 | 广州讯鸿网络技术有限公司 | 一种千万级联系人的t9搜索方法、电子设备及存储介质 |
CN110851658A (zh) * | 2019-10-12 | 2020-02-28 | 天津大学 | 树形索引数据结构、内容存储池、路由器及树形索引方法 |
CN113094470A (zh) * | 2021-04-08 | 2021-07-09 | 蔡堃 | 文本搜索方法和系统 |
CN113961768A (zh) * | 2021-12-22 | 2022-01-21 | 金蝶软件(中国)有限公司 | 敏感词检测方法、装置、计算机设备和存储介质 |
CN116089910A (zh) * | 2023-02-16 | 2023-05-09 | 北京计算机技术及应用研究所 | 一种支持多种格式电子文档的密级检测方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050232264A1 (en) * | 2004-04-20 | 2005-10-20 | Samsung Electronics Co., Ltd. | Apparatus and method for searching trie trees using masks with non-symbol boundaries and flooding default routes in a massively parallel router |
CN101118542A (zh) * | 2006-07-31 | 2008-02-06 | 西门子通信技术(北京)有限公司 | 一种中文字符的转换方法及其系统 |
CN102521418A (zh) * | 2011-12-31 | 2012-06-27 | 青岛海信宽带多媒体技术有限公司 | 用于存储拼音的存储结构及拼音输入方法 |
CN102737105A (zh) * | 2012-03-31 | 2012-10-17 | 北京小米科技有限责任公司 | 一种字典树生成方法及搜索方法 |
CN102867049A (zh) * | 2012-09-10 | 2013-01-09 | 山东康威通信技术股份有限公司 | 一种基于单词查找树实现的汉语拼音快速分词方法 |
CN103294776A (zh) * | 2013-05-13 | 2013-09-11 | 浙江大学 | 一种智能手机通讯录模糊搜索的方法 |
CN103714134A (zh) * | 2013-12-18 | 2014-04-09 | 中国科学院计算技术研究所 | 一种网络流量数据索引方法及系统 |
CN104239565A (zh) * | 2014-09-28 | 2014-12-24 | 陆嘉恒 | 一种基于学术搜索的姓名自动提示方法 |
CN107291858A (zh) * | 2017-06-09 | 2017-10-24 | 成都索贝数码科技股份有限公司 | 一种基于字符串后缀的数据索引方法 |
-
2017
- 2017-12-25 CN CN201711424349.8A patent/CN110019649A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050232264A1 (en) * | 2004-04-20 | 2005-10-20 | Samsung Electronics Co., Ltd. | Apparatus and method for searching trie trees using masks with non-symbol boundaries and flooding default routes in a massively parallel router |
CN101118542A (zh) * | 2006-07-31 | 2008-02-06 | 西门子通信技术(北京)有限公司 | 一种中文字符的转换方法及其系统 |
CN102521418A (zh) * | 2011-12-31 | 2012-06-27 | 青岛海信宽带多媒体技术有限公司 | 用于存储拼音的存储结构及拼音输入方法 |
CN102737105A (zh) * | 2012-03-31 | 2012-10-17 | 北京小米科技有限责任公司 | 一种字典树生成方法及搜索方法 |
CN102867049A (zh) * | 2012-09-10 | 2013-01-09 | 山东康威通信技术股份有限公司 | 一种基于单词查找树实现的汉语拼音快速分词方法 |
CN103294776A (zh) * | 2013-05-13 | 2013-09-11 | 浙江大学 | 一种智能手机通讯录模糊搜索的方法 |
CN103714134A (zh) * | 2013-12-18 | 2014-04-09 | 中国科学院计算技术研究所 | 一种网络流量数据索引方法及系统 |
CN104239565A (zh) * | 2014-09-28 | 2014-12-24 | 陆嘉恒 | 一种基于学术搜索的姓名自动提示方法 |
CN107291858A (zh) * | 2017-06-09 | 2017-10-24 | 成都索贝数码科技股份有限公司 | 一种基于字符串后缀的数据索引方法 |
Non-Patent Citations (1)
Title |
---|
LEASONW: "TrieTree字典树数据结构的原理、实现及应用", 《HTTPS://BLOG.CSDN.NET/LEASONW/ARTICLE/DETAILS/78009402》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110475028A (zh) * | 2019-08-26 | 2019-11-19 | 广州讯鸿网络技术有限公司 | 一种千万级联系人的t9搜索方法、电子设备及存储介质 |
CN110851658A (zh) * | 2019-10-12 | 2020-02-28 | 天津大学 | 树形索引数据结构、内容存储池、路由器及树形索引方法 |
CN113094470A (zh) * | 2021-04-08 | 2021-07-09 | 蔡堃 | 文本搜索方法和系统 |
CN113094470B (zh) * | 2021-04-08 | 2022-05-24 | 蔡堃 | 文本搜索方法和系统 |
CN113961768A (zh) * | 2021-12-22 | 2022-01-21 | 金蝶软件(中国)有限公司 | 敏感词检测方法、装置、计算机设备和存储介质 |
CN113961768B (zh) * | 2021-12-22 | 2022-05-13 | 金蝶软件(中国)有限公司 | 敏感词检测方法、装置、计算机设备和存储介质 |
CN116089910A (zh) * | 2023-02-16 | 2023-05-09 | 北京计算机技术及应用研究所 | 一种支持多种格式电子文档的密级检测方法 |
CN116089910B (zh) * | 2023-02-16 | 2023-10-20 | 北京计算机技术及应用研究所 | 一种支持多种格式电子文档的密级检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019649A (zh) | 一种建立、搜索索引树的方法及装置 | |
CN107463666B (zh) | 一种基于文本内容的敏感词过滤方法 | |
CN110276023B (zh) | Poi变迁事件发现方法、装置、计算设备和介质 | |
CN110647614A (zh) | 智能问答方法、装置、介质及电子设备 | |
CN107025239B (zh) | 敏感词过滤的方法和装置 | |
CN107145485B (zh) | 用于压缩主题模型的方法和装置 | |
CN106033416A (zh) | 一种字符串处理方法及装置 | |
CN102867049B (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
WO2021184640A1 (zh) | 基于稀疏矩阵的产品推送方法、装置、计算机设备及介质 | |
CN111753551A (zh) | 基于词向量生成模型的信息生成方法和装置 | |
CN111325030A (zh) | 文本标签构建方法、装置、计算机设备和存储介质 | |
CN112506864B (zh) | 文件检索的方法、装置、电子设备及可读存储介质 | |
CN113434636A (zh) | 基于语义的近似文本搜索方法、装置、计算机设备及介质 | |
CN107168966A (zh) | 一种搜索引擎索引构建方法及装置 | |
WO2018213783A1 (en) | Computerized methods of data compression and analysis | |
CN112084342A (zh) | 试题生成方法、装置、计算机设备及存储介质 | |
CN112417121A (zh) | 客户意图识别方法、装置、计算机设备及存储介质 | |
CN113076756A (zh) | 一种文本生成方法和装置 | |
CN108038109A (zh) | 从非结构化文本中提取特征词的方法及系统、计算机程序 | |
CN113496123A (zh) | 谣言检测方法、装置、电子设备及存储介质 | |
CN109657060B (zh) | 安全生产事故案例推送方法及系统 | |
CN115203378B (zh) | 基于预训练语言模型的检索增强方法、系统及存储介质 | |
CN113011152B (zh) | 文本处理方法、装置、设备及计算机可读存储介质 | |
CN107305522A (zh) | 用于对应用程序的重复崩溃进行检测的装置和方法 | |
CN112784046B (zh) | 文本聚簇的方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Applicant after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building block A room 602 Applicant before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190716 |
|
RJ01 | Rejection of invention patent application after publication |