买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于C++语言的混合型中文文本分词方法_山谷网安科技股份有限公司_202110077065.6 

申请/专利权人:山谷网安科技股份有限公司

申请日:2021-01-20

公开(公告)日:2024-04-16

公开(公告)号:CN113033193B

主分类号:G06F40/289

分类号:G06F40/289;G06F40/284;G06F40/126;G06F40/216;G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.04.16#授权;2021.07.13#实质审查的生效;2021.06.25#公开

摘要:本发明提供一种基于C++语言的混合型中文文本分词方法。该方法中,一个给定的文本数据的分词过程包括第一次分词过程和第二次分词过程;第一次分词过程的文本数据读取顺序和第二次分词过程的文本数据读取顺序相反;其中,第一次分词过程或第二次分词过程包括以下步骤:步骤1:加载词语词库和词频词库,并建立双数组tire树;步骤2:按照约定的文本数据读取顺序从给定的文本数据中读取一行数据,然后对当前行数据进行分词;步骤3:判断给定的文本数据是否已经读取完毕,若没有,则返回步骤2;若读取完毕,则执行步骤4;步骤4:判断给定的文本数据的分词过程是否结束,若结束,则比较两次分词过程的分词结果以确定给定的文本数据的最终分词结果。

主权项:1.一种基于C++语言的混合型中文文本分词方法,其特征在于,一个给定的文本数据的分词过程包括第一次分词过程和第二次分词过程;第一次分词过程的文本数据读取顺序和第二次分词过程的文本数据读取顺序相反;内存分配采用jemalloc;其中,第一次分词过程或第二次分词过程包括以下步骤:步骤1:加载词语词库和对应的词频词库,并建立双数组tire树;步骤2:按照约定的文本数据读取顺序从给定的文本数据中读取一行数据,然后对当前行数据进行分词;步骤2中,对当前行数据进行分词,包括:步骤2.1:按照约定的文本数据读取顺序读取当前行数据中的一个字符;步骤2.2:判断读取的当前字符是否为UTF-8字符:若是,则执行步骤2.3;若不是,则执行步骤2.4;步骤2.3:判断当前字符的UTF-8编码范围,确定当前字符的长度;将包括当前字符在内及其前面的所有连续UTF-8字符与预先建立的双数组tire树进行比较,并判断是否已经匹配到叶子节点:若已经匹配到叶子节点,则将当前匹配结果存储至分词结果中,然后执行步骤2.7;若未匹配到叶子节点,则将当前匹配结果存储至临时分词结果变量中,然后执行步骤2.7;步骤2.4:判断读取的当前字符是否为英文字符:若是,则执行步骤2.5;若不是,则执行步骤2.6;步骤2.5:先将当前英文字符之前的匹配结果存储至分词结果中,然后将当前英文字符存储至字符串变量中,并继续读取下一个字符直至读取到非英文字符或者当前行数据的结尾为止,然后将所述字符串变量中存储的所有字符转存至分词结果中,并执行步骤2.7;步骤2.6:若读取的当前字符不属于UTF-8字符且也不属于英文字符,则确定当前字符为ASCII字符,则先将当前ASCII字符之前的匹配结果存储至分词结果中,然后将当前ASCII字符存储至特殊字符串变量中,并继续读取下一个字符直至读取到非ASCII字符或者当前行数据的结尾为止,然后将所述特殊字符串变量中存储的所有字符转存至分词结果中,并执行步骤2.7;步骤2.7:更新读取位置;步骤2.8:判断当前读取位置是否为当前行数据的结尾,若不是结尾,则返回步骤2.1以继续读取下一个字符;若是结尾,则执行步骤3;步骤3:判断给定的文本数据是否已经读取完毕,若没有,则返回步骤2;若读取完毕,则执行步骤4;步骤4:判断给定的文本数据的分词过程是否结束,若结束,则比较两次分词过程的分词结果以确定给定的文本数据的最终分词结果。

全文数据:

权利要求:

百度查询: 山谷网安科技股份有限公司 一种基于C++语言的混合型中文文本分词方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。