CN103646018B - 一种基于hash散列表词典结构的中文分词方法 - Google Patents
一种基于hash散列表词典结构的中文分词方法 Download PDFInfo
- Publication number
- CN103646018B CN103646018B CN201310720277.7A CN201310720277A CN103646018B CN 103646018 B CN103646018 B CN 103646018B CN 201310720277 A CN201310720277 A CN 201310720277A CN 103646018 B CN103646018 B CN 103646018B
- Authority
- CN
- China
- Prior art keywords
- word
- dictionary
- cutting
- result
- entry
- 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.)
- Active
Links
Abstract
本发明公开了一种基于hash散列表词典结构的中文分词方法,包括以下步骤:A、对待处理文档进行预处理;B、对每一个处理块分别进行正向最大匹配扫描切分和逆向最大匹配扫描切分;C、对每一个处理块的两次扫描结果进行比较,如果两次扫描后的分词结果相同,则输出正向分词结果,如果结果不同,则分别计算正向最大扫描和逆向最大扫描结果的分词个数S、单字字典词数D、非词典词数N和最大词长L;D、结合以下方法对C中产生的数据进行比较分析后输出正确结果。本发明的有益效果为:提高了分词过程中的匹配效率提高正反向扫描后的比较速度,从根本上提高了双向最大匹配算法的效率。
Description
技术领域
本发明涉及中文信息处理技术领域,具体涉及一种基于hash散列表词典结构的中文分词方法。
背景技术
中文分词是中文信息处理中最为基础、最为重要的问题,是汉语文本自动标注、搜索引擎、机器翻译、语音识别等工作中的关键步骤,分词的质量直接影响了结果的精确度。中文和英文分词不一样,中文的词与词之间没有一个形式上的分界符,只能将连续的中文汉字序列按照一定的汉语规范重新组合,但汉语句子构成的复杂性和多变性,使得中文分词一直是中文信息处理的难点。而未登录词的发现和歧义的消解是中文分词要解决的两大难题。现有的比较流行的分词算法有三大类:1)基于机械匹配的分词方法;2)基于理解的分词方法;3)基于统计的分词方法。
目前,占主导地位的是基于机械匹配的分词方法也叫基于字符串匹配的分词方法,它包括正向最大匹配法,逆向最大匹配法,逐词遍历法,设立切分标志法,最佳匹配法。其中正向最大匹配法和逆向最大匹配法因为其切分速度快、简洁、易实现等特点而得到了广泛应用。基于机械匹配的分词方法存在匹配速度慢、交集型和组合型歧义切分问题和缺乏字学习的智能性。基于理解的分词方法又称基于人工智能的分词方法,由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。基于统计的分词方法在实际应用中一般是将其与基于词典的分词方法结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义。
发明内容
本发明的目的在于针对现有技术的缺陷和不足,提供一种具有更高准确率和效率的分词词典结构以及分词方法。
为实现上述目的,本发明采用的技术方案是:
本发明所述的一种基于hash散列表词典结构的中文分词方法,其特征在于:包括以下步骤:
A、对待处理文档进行预处理,将文本以每一句话为单位分为多个处理块,去掉文档中的标点、英文字母等非汉字信息,用分隔符“/”将其替代;
B、对每一个处理块分别进行正向最大匹配扫描切分和逆向最大匹配扫描切分;
C、对每一个处理块的两次扫描结果进行比较,如果两次扫描后的分词结果相同,则输出正向分词结果,如果结果不同,则分别计算正向最大扫描和逆向最大扫描结果的分词个数S、单字字典词数D、非词典词数N和最大词长L;
D、结合以下方法对C中产生的数据进行比较分析后输出正确结果;
D1、四组值完全相等时,选择逆向分词结果;
D2、S、L相等,其他不等时,选择N小的一方为正确结果;
D3、S相等,L不等时,选择D=N=0的一方为正确,如果没有则选择L大的一方;
D4、S、L都不等时,选择S小且L大的一方正确。
作为优选的,所述的正向最大匹配扫描切分流程为:假设分词词典中最长词长度是n,每次从待切分串的开始处截取一个长度为n的字串s,让s同词典中的词条依次相匹配,如果某个词条与其完全匹配,则把s作为一个词从待切分串中切分出去,重复与词典中词条相匹配的过程,直到待切分字符串切分完为止,如果在词典中找不到与s匹配的词条,就从s的尾部减去一个字,用n-1长度的字符串继续与词典中词条匹配,如果匹配成功则切分出一个词,否则再从s尾部减去一个字,重复匹配过程,直到匹配成功。
作为优选的,所述的逆向最大匹配扫描切分的流程为假设分词词典中最长词长度是n,每次从待切分串的末尾处截取一个长度为n的字串s,让s同词典中的词条依次相匹配,如果某个词条与其完全匹配,则把s作为一个词从待切分串中切分出去,重复与词典中词条相匹配的过程,直到待切分字符串切分完为止,如果在词典中找不到与s匹配的词条,就从s的头部减去一个字,用n-1长度的字符串继续与词典中词条匹配,如果匹配成功则切分出一个词,否则再从s头部减去一个字,重复匹配过程,直到匹配成功。
采用上述结构后,本发明有益效果为:通过提出一种更适合双向最大匹配算法的词典结构,提高了分词过程中的匹配效率,又提出匹配后的判断规则,提高正反向扫描后的比较速度,从根本上提高了双向最大匹配算法的效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法流程图;
图2为本发明具体实施例图。
具体实施方式
下面结合附图对本发明作进一步的说明。
如图1所示,首先我们需要建立词典结构,将本发明中的hash散列表以链表的方式存放于内存中,同时,我们还需要建立索引表,便于后续程序中的查询。
在预处理阶段,我们要做的是将待处理文本中的每一句话以句号为结束符进行分割,以便降低后面双向扫描的复杂度。
接下来系统需要进行的是对每一个待处理的文本块进行正向和逆向最大匹配。正向最大匹配法的基本流程是:假设分词词典中最长词长度是n,每次从待切分串的开始处截取一个长度为n的字串s,让s同词典中的词条依次相匹配,如果某个词条与其完全匹配,则把s作为一个词从待切分串中切分出去,重复与词典中词条相匹配的过程,直到待切分字符串切分完为止。如果在词典中找不到与s匹配的词条,就从s的尾部减去一个字,用n-1长度的字符串继续与词典中词条匹配,如果匹配成功则切分出一个词,否则再从s尾部减去一个字,重复匹配过程,直到匹配成功。正向最大匹配算法的错误切分率是1/169。逆向最大匹配法与正向法的不同之处在于,每次从带切分串的末尾处开始匹配,匹配不成功则从s的头部减去一个字再进行匹配,直至匹配结束。逆向最大匹配算法的错误切分率是1/245。双向最大匹配算法则是在这两种分词结果中选择更准确的作为最终结果。
当待处理文本块的正向和逆向最大匹配分词结果相同时,将输出正向(逆向)分词结果作为最终的结果。当待处理文本块的正向和逆向最大匹配分词结果不同时,就需要分别计算每一个文本块的正向和逆向分词结果中的S、D、N和L,其中D和N的值完全取决于字典内容本身,然后利用
D1、四组值完全相等时,选择逆向分词结果;
D2、S、L相等,其他不等时,选择N小的一方为正确结果;
D3、S相等,L不等时,选择D=N=0的一方为正确,如果没有则选择L大的一方;
D4、S、L都不等时,选择S小且L大的一方正确。
这4条判断规则进行深入判断,来决定哪一种方法是正确的并输出最终结果。为了验证本发明提出的上述四条规则的可靠性与正确性,我们用几个有代表性的实施例来证明,如图2所示。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (3)
1.一种基于hash散列表词典结构的中文分词方法,其特征在于:包括以下步骤:
A、对待处理文档进行预处理,将文本以每一句话为单位分为多个处理块,去掉文档中的标点、英文字母等非汉字信息,用分隔符“/”将其替代;
B、对每一个处理块分别进行正向最大匹配扫描切分和逆向最大匹配扫描切分;
C、对每一个处理块的两次扫描结果进行比较,如果两次扫描后的分词结果相同,则输出正向分词结果,如果结果不同,则分别计算正向最大扫描和逆向最大扫描结果的分词个数S、单字字典词数D、非词典词数N和最大词长L;
D、结合以下方法对C中产生的数据进行比较分析后输出正确结果,具体分析步骤如下:
D1、四组值完全相等时,选择逆向分词结果;
D2、S、L相等,其他不等时,选择N小的一方为正确结果;
D3、S相等,L不等时,选择D=N=0的一方为正确,如果没有则选择L大的一方;
D4、S、L都不等时,选择S小且L大的一方正确。
2.根据权利要求1所述的一种基于hash散列表词典结构的中文分词方法,其特征在于:所述的正向最大匹配扫描切分流程为:假设分词词典中最长词长度是n,每次从待切分串的开始处截取一个长度为n的字串s,让s同词典中的词条依次相匹配,如果某个词条与其完全匹配,则把s作为一个词从待切分串中切分出去,重复与词典中词条相匹配的过程,直到待切分字符串切分完为止,如果在词典中找不到与s匹配的词条,就从s的尾部减去一个字,用n-1长度的字符串继续与词典中词条匹配,如果匹配成功则切分出一个词,否则再从s尾部减去一个字,重复匹配过程,直到匹配成功。
3.根据权利要求1所述的一种基于hash散列表词典结构的中文分词方法,其特征在于:所述的逆向最大匹配扫描切分的流程为假设分词词典中最长词长度是n,每次从待切分串的末尾处截取一个长度为n的字串s,让s同词典中的词条依次相匹配,如果某个词条与其完全匹配,则把s作为一个词从待切分串中切分出去,重复与词典中词条相匹配的过程,直到待切分字符串切分完为止,如果在词典中找不到与s匹配的词条,就从s的头部减去一个字,用n-1长度的字符串继续与词典中词条匹配,如果匹配成功则切分出一个词,否则再从s头部减去一个字,重复匹配过程,直到匹配成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310720277.7A CN103646018B (zh) | 2013-12-20 | 2013-12-20 | 一种基于hash散列表词典结构的中文分词方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310720277.7A CN103646018B (zh) | 2013-12-20 | 2013-12-20 | 一种基于hash散列表词典结构的中文分词方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103646018A CN103646018A (zh) | 2014-03-19 |
CN103646018B true CN103646018B (zh) | 2016-06-29 |
Family
ID=50251237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310720277.7A Active CN103646018B (zh) | 2013-12-20 | 2013-12-20 | 一种基于hash散列表词典结构的中文分词方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103646018B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077275A (zh) * | 2014-06-27 | 2014-10-01 | 北京奇虎科技有限公司 | 一种基于语境进行分词的方法和装置 |
CN105184053B (zh) * | 2015-08-13 | 2018-09-07 | 易保互联医疗信息科技(北京)有限公司 | 一种中文医疗服务项目信息的自动编码方法及系统 |
CN105335488A (zh) * | 2015-10-16 | 2016-02-17 | 中国南方电网有限责任公司电网技术研究中心 | 一种知识库构建方法 |
CN105893353B (zh) * | 2016-04-20 | 2018-10-26 | 广东万丈金数信息技术股份有限公司 | 分词方法和分词系统 |
CN106202040A (zh) * | 2016-06-28 | 2016-12-07 | 邓力 | 一种pda翻译系统的中文分词方法 |
CN107622044A (zh) * | 2016-07-13 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 字符串的分词方法、装置及设备 |
CN108228710B (zh) * | 2017-11-30 | 2021-09-28 | 中国科学院信息工程研究所 | 一种针对url的分词方法及装置 |
CN108197315A (zh) * | 2018-02-01 | 2018-06-22 | 中控技术(西安)有限公司 | 一种建立分词索引库的方法和装置 |
CN108536724A (zh) * | 2018-02-13 | 2018-09-14 | 西安理工大学 | 一种基于双层哈希索引的地铁设计规范中主体识别方法 |
CN108829696B (zh) * | 2018-04-18 | 2019-10-25 | 西安理工大学 | 面向地铁设计规范中知识图谱节点自动构建方法 |
CN109558589A (zh) * | 2018-11-12 | 2019-04-02 | 速度时空信息科技股份有限公司 | 一种基于中文分词技术的畅想文书的方法及系统 |
CN110046348B (zh) * | 2019-03-19 | 2021-05-25 | 西安理工大学 | 一种基于规则和词典的地铁设计规范中主体识别方法 |
CN110222335A (zh) * | 2019-05-20 | 2019-09-10 | 平安科技(深圳)有限公司 | 一种文本分词方法及装置 |
CN110852099B (zh) * | 2019-10-25 | 2021-10-29 | 北京中献电子技术开发有限公司 | 一种适用于神经网络机器翻译的汉语分词方法及装置 |
CN112395865B (zh) * | 2020-11-17 | 2024-01-02 | 中国外运股份有限公司 | 报关单校验方法及装置 |
CN113111651A (zh) * | 2021-04-22 | 2021-07-13 | 深圳华南城网科技有限公司 | 一种中文分词方法、装置以及搜索词库读取方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063424A (zh) * | 2010-12-24 | 2011-05-18 | 上海电机学院 | 一种中文分词方法 |
CN102999534A (zh) * | 2011-09-19 | 2013-03-27 | 北京金和软件股份有限公司 | 一种基于逆向最大匹配的中文分词算法 |
-
2013
- 2013-12-20 CN CN201310720277.7A patent/CN103646018B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063424A (zh) * | 2010-12-24 | 2011-05-18 | 上海电机学院 | 一种中文分词方法 |
CN102999534A (zh) * | 2011-09-19 | 2013-03-27 | 北京金和软件股份有限公司 | 一种基于逆向最大匹配的中文分词算法 |
Non-Patent Citations (3)
Title |
---|
《一种改进的中文分词正向最大匹配算法》;王瑞雷等;《计算机应用与软件》;20110331;第28卷(第3期);第195页-196页第1部分正向最大匹配法,第197页左栏第4部分:算法实现及图1 * |
《一种消除中文分词中交集型歧义的方法》;魏博诚等;《计算机技术与发展》;20110531;第21卷(第5期);第61-62页第2.3节及摘要 * |
《基于Hash结构的逆向最大匹配分词算法的改进》;丁振国等;《计算机工程与设计》;20080630;第29卷(第12期);第3208页-3209页第1节分词算法简介 * |
Also Published As
Publication number | Publication date |
---|---|
CN103646018A (zh) | 2014-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103646018B (zh) | 一种基于hash散列表词典结构的中文分词方法 | |
WO2019085779A1 (zh) | 机器处理及文本纠错方法和装置、计算设备以及存储介质 | |
WO2021114745A1 (zh) | 一种基于词缀感知的社交媒体命名实体识别方法 | |
CN105138514B (zh) | 一种基于词典的正向逐次加一字最大匹配中文分词方法 | |
CN108959242B (zh) | 一种基于中文字符词性特征的目标实体识别方法及装置 | |
CN109033307A (zh) | 基于crp聚类的词语多原型向量表示及词义消歧方法 | |
CN105654130A (zh) | 一种基于递归神经网络的复杂图像文字序列识别系统 | |
JP2016522524A (ja) | 同義表現の探知及び関連コンテンツを検索する方法及び装置 | |
CN105068997B (zh) | 平行语料的构建方法及装置 | |
CN105095196B (zh) | 文本中新词发现的方法和装置 | |
CN113032541B (zh) | 一种基于bert并融合句群检索的答案抽取方法 | |
CN103324632B (zh) | 一种基于协同学习的概念识别方法及装置 | |
CN109408628B (zh) | 一种解析句子语义结构的方法及相关设备 | |
CN105912522A (zh) | 基于成分分析的英语语料自动提取方法和提取器 | |
CN103559181A (zh) | 一种双语语义关系分类模型的建立方法和系统 | |
CN113312922B (zh) | 一种改进的篇章级三元组信息抽取方法 | |
CN109684928A (zh) | 基于互联网检索的中文文档识别方法 | |
CN106383814A (zh) | 一种英文社交媒体短文本分词方法 | |
CN104252542A (zh) | 一种基于词库的动态规划中文分词方法 | |
CN104572619A (zh) | 智能机器人交互系统在投融资领域的应用 | |
CN107622047B (zh) | 一种设计决策知识的提取和表达方法 | |
CN112307756A (zh) | 基于Bi-LSTM和字词融合的汉语分词方法 | |
CN117151217A (zh) | 一种基于语言模型与图表征融合的实体链指方法 | |
CN110210033B (zh) | 基于主述位理论的汉语基本篇章单元识别方法 | |
CN107480128A (zh) | 中文文本的分词方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |