CN114936554A - 分词方法、***及装置 - Google Patents

分词方法、***及装置 Download PDF

Info

Publication number
CN114936554A
CN114936554A CN202210514922.9A CN202210514922A CN114936554A CN 114936554 A CN114936554 A CN 114936554A CN 202210514922 A CN202210514922 A CN 202210514922A CN 114936554 A CN114936554 A CN 114936554A
Authority
CN
China
Prior art keywords
word segmentation
characters
character
preset
data set
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
Application number
CN202210514922.9A
Other languages
English (en)
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.)
Shenzhen Pudu Technology Co Ltd
Original Assignee
Shenzhen Pudu Technology Co Ltd
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 Shenzhen Pudu Technology Co Ltd filed Critical Shenzhen Pudu Technology Co Ltd
Priority to CN202210514922.9A priority Critical patent/CN114936554A/zh
Publication of CN114936554A publication Critical patent/CN114936554A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种分词方法、***及装置,涉及文本处理领域,在获取到包含有多个文本内容的数据集后,利用预设词汇库对数据集中的每个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符;对于分词失败的字符,将各个分词失败的字符的唯一标识编码作为对应的分词失败的字符的分词结果,唯一标识编码是一个能够准确表示该分词失败的字符的元素,算法模型根据该唯一标识编码能够识别出该分词失败的字符,基于此,通过确定各个分词失败的字符的唯一标识编码,能够对数据集中的所有不存在于预设词汇库中的字符进行分词,使得数据集中的每个字符都有其对应的分词结果,使得算法模型能够识别数据集中的每个字符。

Description

分词方法、***及装置
技术领域
本发明涉及文本处理领域,特别是涉及一种分词方法、***及装置。
背景技术
分词表示将字符与字符连在一起的词语或者语句拆分成多个相互独立和完整的分词结果,对文本进行处理的相关算法模型在进行训练时,通常需要使用大量的文本进行分词后得到的分词结果作为其输入特征进行训练。在对文本进行分词时,现有技术在进行分词时,首先在预设词汇库中存放多个常用字符如常用汉字和英文字母等,当获取到一个包含有多个文本内容的数据集时,现有技术利用预设词汇库来对该数据集中的各个文本内容进行分词。例如,当数据集中的一个文本内容为“现在是白天”时,若这5个汉字以及“现在”这个词均存在于预设词汇库中,则该文本内容的分词结果为│现在│是│白│天│,其能够得到这5个汉字的正确分词结果,但是若“天”字不存在于预设词汇库中,则该文本内容的分词结果可能是│现在│是│白│?│。可见,该分词方法能够对每个存在于预设词汇库中的字符都进行正确分词,但是,随着人们使用到的字符的类型增加,会出现越来越多预设词汇库中不存在的字符,当数据集的文本内容中包含有预设词汇库中不存在的字符时,该方法则无法对该字符进行正确分词,进而导致相关算法模型无法识别该字符。
发明内容
本发明的目的是提供一种分词方法、***及装置,能够对数据集中的所有不存在于预设词汇库中的字符也进行分词,使得数据集中的每个字符都有其对应的分词结果,使得算法模型能够识别出数据集中的每个字符。
为解决上述技术问题,本发明提供了一种分词方法,包括:
获取包含多个文本内容的数据集;
利用预设词汇库对所述数据集中的各个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符,X和Y均为整数且X与Y的数量和为所述数据集的所有文本内容中字符的总数量;
确定各个分词失败的所述字符对应的唯一标识编码;
将所述唯一标识编码作为对应的分词失败的所述字符的分词结果;
其中,所述预设词汇库中存储有N个字符和M个第一字符组合,N和M为不同时为零的整数。
优选的,当所述分词失败的所述字符包括汉字字符和/或非汉字字符时,确定各个分词失败的所述字符对应的唯一标识编码,包括:
确定各个分词失败的所述汉字字符对应的UTF-8编码;
确定各个所述UTF-8编码对应的ASCII码;
确定所述ASCII码作为对应的分词失败的所述汉字字符的唯一标识编码;
和/或,
确定各个分词失败的所述非汉字字符对应的ASCII码作为对应的分词失败的所述非汉字字符的唯一标识编码;
其中,所述预设词汇库中还存储有ASCII码表。
优选的,在获取包含多个文本内容的数据集之后,还包括:
S21:在所有所述文本内容的所有字符中确定由多个所述字符组成的第二字符组合以及各个所述第二字符组合重复的个数;
S22:判断所述预设词汇库中存储的第一字符组合的总数量是否小于预设数量,若小于预设数量,则进入S23;若不小于预设数量,则进入S26;
S23:判断重复个数最多的所述第二字符组合是否存在于所述预设词汇库中,若不存在于所述预设词汇库中,则进入S24;若存在于所述预设词汇库中,则进入S25;
S24:将重复个数最多的所述第二字符组合存储到所述预设词汇库中,并将重复个数仅小于重复个数最多的所述第二字符组合的第二字符组合作为新的重复个数最多的所述第二字符组合,返回S22;
S25:将重复个数仅小于重复个数最多的所述第二字符组合的第二字符组合作为新的重复个数最多的所述第二字符组合,返回S22;
S26:确定对所述预设词汇库的第一字符组合的数量更新完成。
优选的,在所有所述文本内容的所有字符中确定由多个所述字符组成的第二字符组合以及各个所述第二字符组合重复的个数,包括:
确定所有所述文本内容的所有字符中,各个所述字符对应的唯一标识编码;
确定由多个所述唯一标识编码组成的编码组合以及各个所述编码组合重复的个数。
优选的,确定由多个所述唯一标识编码组成的编码组合以及各个所述编码组合重复的个数,包括:
利用BPE算法确定由多个所述唯一标识编码组成的编码组合以及各个所述编码组合重复的个数。
优选的,在获取包含多个文本内容的数据集之后,还包括:
确定所述数据集的所有所述文本内容中的各个字符重复的个数;
将所述字符的重复个数大于预设次数的所有所述字符均存储到所述预设词汇库中。
优选的,所述利用预设词汇库对所述数据集中的各个文本内容进行基于预设级别的分词,包括:
利用预设词汇表基于最大匹配算法对所述数据集中的各个文本内容进行基于预设级别的分词。
优选的,在将所述数据集发送给算法模型之前,还包括:
判断所述数据集的各个所述文本内容的字符长度是否存在大于预设长度的文本内容;
若是,则将大于预设长度的文本内容中的所有分词失败的所述字符的分词结果均替换成同一预设特殊字符。
本申请还提供一种分词***,包括:
获取单元,用于获取包含多个文本内容的数据集;
第一分词单元,用于利用预设词汇库对所述数据集中的各个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符,X和Y均为整数且X与Y的数量和为所述数据集的所有文本内容中字符的总数量;
编码确定单元,用于确定各个分词失败的所述字符对应的唯一标识编码;
第二分词单元,用于将所述唯一标识编码作为对应的分词失败的所述字符的分词结果;
其中,所述预设词汇库中存储有N个字符和M个第一字符组合,N和M为不同时为零的整数。
本申请还提供一种分词装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述的分词方法的步骤。
本发明提供了一种分词方法、***及装置,在获取到包含有多个文本内容的数据集后,利用预设词汇库对数据集中的每个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符,X和Y均为整数且数量和为该数据集的所有文本内容中字符的总数量;对于分词失败的字符,确定各个分词失败的字符的唯一标识编码,将唯一标识编码作为对应的分词失败的字符的分词结果,由于唯一标识编码是一个能够唯一表示该分词失败的字符的元素,能够使后续的算法模型通过该唯一标识编码来识别出该分词失败的字符,基于此,通过确定各个分词失败的字符的唯一标识编码,能够对数据集中的所有不存在于预设词汇库中的字符也进行分词,使得数据集中的每个字符都有其对应的分词结果,使得算法模型能够识别出数据集中的每个字符。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种分词方法的流程图;
图2为汉字字符的UTF-8编码格式的示意图;
图3为本申请提供的一种分词***的结构示意图;
图4为本申请提供的一种分词装置的结构示意图。
具体实施方式
本发明的核心是提供一种分词方法、***及装置,能够对数据集中的所有不存在于预设词汇库中的字符也进行分词,使得数据集中的每个字符都有其对应的分词结果,使得算法模型能够识别出数据集中的每个字符。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1是本申请提供的一种分词方法的流程图,包括:
S11:获取包含多个文本内容的数据集;
S12:利用预设词汇库对数据集中的各个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符,X和Y均为整数且X与Y的数量和为数据集的所有文本内容中字符的总数量;
S13:确定各个分词失败的字符对应的唯一标识编码;
S14:将唯一标识编码作为对应的分词失败的字符的分词结果;
其中,预设词汇库中存储有N个字符和M个第一字符组合,N和M为不同时为零的整数。
机器无法直接理解自然语言的文本和字符,需要对文本和字符进行分词之后才能让机器识别这些内容,由于在对文本内容进行分词时,都是基于预先设置的词汇库来进行分词的,当文本内容中存在一些词汇表中没有的字符,如生僻汉字或者生僻的外文符号等,通常将这类词汇表中没有的字符称为未登录词或称为token。在将数据集发送给算法模型之前,需要对数据集中所有的字符均进行分词,如果没有对字符进行分词,则算法模型是不能区分和识别这些字符的,所以对未登录词也即分词失败的字符再进行分词的步骤很重要。若使用自然语言处理模型来处理文本内容中的字符,由于主流语言如汉语和英语等字符数量和词汇数量总和可能有几十万甚至上百万,若在此基础上再增加各类标点符号以及特殊符号等内容,最后自然语言处理模型需要处理的字符可能有上千万之多,这带来的计算花销和内存花销是非常巨大的,难以实际应用,而使用神经网络模型的效果也不是很好。
为了对未登录词进行分词,本申请中,在获取到数据集后,首先使用预设的分词方法对数据集中的文本内容进行分词,例如,若文本内容为中日韩语系,则用字符级别的分词或者基于预设算法的分词。在对数据集中的所有文本内容进行分词后,能够得到两部分内容,一部分为分词成功的字符的分词结果,另一部分为分词失败的字符也即未登录词,例如,假设数据集中的一条文本内容为“今天天气真好”,预设词汇库中存储了“今天”“天气”“好”这些字符以及字符组合,在对该条文本内容进行分词时,则除了“真”字外,其他字符都可以分词成功,所以最后得到5个分词成功的字符的分词结果以及1个分词失败的字符也即1个未登录词。为了让算法模型能够识别出这些未登录词,需要赋予这些未登录词一个能够唯一表示该未登录词的元素,例如,对于汉字来说,若数据集中的汉字均采用的是UTF-8(Universal Character Set/Unicode Transformation Format,针对Unicode的可变长度字符编码),由于每个汉字对应的UTF-8编码是唯一的,所以当文本内容中存在一些预设词汇库中没有的生僻汉字时,确定这些生僻汉字对应的UTF-8编码,可以直接将UTF-8编码作为对应的生僻汉字的唯一标识编码,在将该UTF-8编码发送给算法模型时,算法模型就能够通过该UTF-8编码来识别出该生僻汉字,基于此,在确定了未登录词的唯一标识编码后,可以将该唯一标识编码作为该未登录词的分词结果,算法模型能够通过唯一标识编码识别出未登录词,减少了无法对字符进行分词的情况。
还需要说明的是,预设词汇表中可以预先存储有常用的字符和常用的字符组合,例如常用的汉字、英文字母、词汇、短语、一些人为指定的特殊字符和特殊字符组合以及常用的标识编码库等内容。数据集中的文本内容可以是多个用户在日常进行文字交流时使用的文本内容,也可以是某个论坛或者网站上的文本内容,本申请对数据集中的文本内容不做限定。
综上所述,在获取到包含有多个文本内容的数据集后,利用预设词汇库对数据集中的每个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符,X和Y均为整数且数量和为该数据集的所有文本内容中字符的总数量;对于分词失败的字符,确定各个分词失败的字符的唯一标识编码,将唯一标识编码作为对应的分词失败的字符的分词结果,由于唯一标识编码是一个能够唯一表示该分词失败的字符的元素,能够使后续的算法模型通过该唯一标识编码来识别出该分词失败的字符,基于此,通过确定各个分词失败的字符的唯一标识编码,能够对数据集中的所有不存在于预设词汇库中的字符也进行分词,使得数据集中的每个字符都有其对应的分词结果,使得算法模型能够识别出数据集中的每个字符。
在上述实施例的基础上:
作为一种优选的实施例,当分词失败的字符包括汉字字符和/或非汉字字符时,确定各个分词失败的字符对应的唯一标识编码,包括:
确定各个分词失败的汉字字符对应的UTF-8编码;
确定各个UTF-8编码对应的ASCII码;
确定ASCII码作为对应的分词失败的汉字字符的唯一标识编码;
和/或,
确定各个分词失败的非汉字字符对应的ASCII码作为对应的分词失败的非汉字字符的唯一标识编码;
其中,预设词汇库中还存储有ASCII码表。
为了确定各种类型的分词失败的字符也即各类未登录词对应的唯一标识编码,本申请中,可以将未登录词看作两类,一类是汉字字符,一类是非汉字字符,非汉字字符中包括英文字母、标点符号、特殊符号以及其他外文字母字符等内容。由于汉字字符通常都采用UTF-8编码,所以汉字字符都有其一一对应的UTF-8编码,其即UTF-8编码可以作为汉字字符的唯一标识编码,但是,请参照图2,图2为汉字字符的UTF-8编码格式的示意图,由于汉字字符的UTF-8编码由1到4个二进制字节组成,其字符串长度可能会较长,由于部分算法模型对文本内容的字符总长度有限制,所以可以将汉字字符的UTF-8编码进一步转换成对应的ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码),对于同一个汉字字符来说,由于UTF-8编码是由1到4个字节组成的编码,每个字节能够对应于1个ASCII码,其对应的ASCII码相比于其对应的UTF-8码要短,所以能够有效地避免字符总长度超出限制的问题。此外,由于UTF-8编码的种类较为多样,而ASCII码仅有256种,通过256种ASCII码就能够表示所有的UTF-8编码,不仅能够准确表示这些分词失败的字符,而且还能够节省存储空间。对于非汉字字符,如对于英文字母和标点符号来说,这类字符通常在ASCII码表中就有其一一对应的ASCII码,例如英文字母“A”对应的是ASCII码表中的第65位ASCII码,由于ASCII码与这些分词失败的非汉字字符之间也是一一对应的,所以也可以确定这些非汉字字符的ASCII码作为这些非汉字字符对应的唯一标识编码,基于此,则能够确定各种类型的分词失败的字符也即各类未登录词对应的唯一标识编码。在获取分词失败的字符对应的UTF-8编码时,UTF-8编码可以以二进制数的形式展现,也可以以十六进制数的形式展现,本申请对此不做限定。
此外,可以在预设词汇库中预先存储ASCII码表,以便于确定这些分词失败的字符对应的ASCII码,以便使得各种类型的分词失败的字符都有其对应的唯一标识编码,便于算法模型识别,若是新建立的预设词汇库,还可以将一些人为指定的特殊字符以及UTF-8编码中各个字节对应的ASCII码等内容存储到预设词汇库中,以便于及时使用。
作为一种优选的实施例,在获取包含多个文本内容的数据集之后,还包括:
S21:在所有文本内容的所有字符中确定由多个字符组成的第二字符组合以及各个第二字符组合重复的个数;
S22:判断预设词汇库中存储的第一字符组合的总数量是否小于预设数量,若小于预设数量,则进入S23;若不小于预设数量,则进入S26;
S23:判断重复个数最多的第二字符组合是否存在于预设词汇库中,若不存在于预设词汇库中,则进入S24;若存在于预设词汇库中,则进入S25;
S24:将重复个数最多的第二字符组合存储到预设词汇库中,并将重复个数仅小于重复个数最多的第二字符组合的第二字符组合作为新的重复个数最多的第二字符组合,返回S22;
S25:将重复个数仅小于重复个数最多的第二字符组合的第二字符组合作为新的重复个数最多的第二字符组合,返回S22;
S26:确定对预设词汇库的第一字符组合的数量更新完成。
为了增加预设词汇库中存储的第一字符组合的数量,本申请中,考虑到随着用户使用的字符类型数量的增多以及新兴网络词汇的增多,会出现越来越多预设词汇库中不存在的字符组合,所以需要增预设词汇库中存储的第一字符组合的数量。具体的,在数据集的所有文本内容中,确定这些文本内容中由多个字符组成的第二字符组合以及这些第二字符组合重复的个数,例如,若总共有3个文本内容,这些文本内容分别为“今天天气真好”、“今天吃什么”以及“天气是什么”,可以确定出字符“今”与字符“天”组成的第二字符组合“今天”重复了3次,以及字符“什”和字符“么”组成的第二字符组合“什么”重复了2次。在确定了第二字符组合以及对应的重复个数后,需要将这些第二字符组合存储到预设词汇库中作为第一字符组合,具体的,需要不断将重复个数最多的第二字符组合存储到预设词汇库中直到预设词汇库存储的第一字符组合总数达到预设数量,在这个过程中,需要判断重复个数最多的第二字符组合是否已经存在于预设词汇库中,也即判断是否有第一字符组合与该第二字符组合一致,不存在时则将该第二字符组合存储到预设词汇库中,按照重复数量的由大到小的顺序对后续的第二字符组合进行判断,直到预设词汇库中存储的第一字符组合的数量达到预设数量,基于此,能够将数据集中的一些常见字符组合增加到预设词汇库中,使得能够对更多的字符进行正常分词。
作为一种优选的实施例,在所有文本内容的所有字符中确定由多个字符组成的第二字符组合以及各个第二字符组合重复的个数,包括:
确定所有文本内容的所有字符中,各个字符对应的唯一标识编码;
确定由多个唯一标识编码组成的编码组合以及各个编码组合重复的个数。
为了准确地确定文本内容中出现的字符组合,本申请中,考虑到文本内容中可能会存在部分分词失败的字符也即未登录词,这些未登录词可能会与其他字符组成一个字符组合,所以在确定文本内容中的字符组合时,不仅需要确定正常的字符组成的字符组合,也需要确定有未登录词参与组成的字符组合。具体的,将所有文本内容中的所有字符都转换成唯一标识编码,然后通过唯一标识编码来确定这些字符组成的编码组合及其重复次数,将这些编码组合作为文本内容中的由多个字符组成的字符组合,能够准确地确定出文本内容中出现的字符组合。
作为一种优选的实施例,确定由多个唯一标识编码组成的编码组合以及各个编码组合重复的个数,包括:
利用BPE算法确定由多个唯一标识编码组成的编码组合以及各个编码组合重复的个数。
BPE(Byte Pair Encoding,字节对编码)算法的核心功能是通过训练语料来构建词表,也即将文本内容中所有的字符看作是训练语料,然后将这些字符构建成一个个字符组合,具体的,BPE算法会统计这些文本内容中的由多个字符组成的连续字节出现的频率,以便于将出现频率最高的连续字节也即重复个数最多的第二字符组合存储到预设词汇表中。BPE算法的特点是基于频率进行统计的,由于数据集中文本内容的规模通常较大,BPE算法能够统计出较为准确的结果。
作为一种优选的实施例,在获取包含多个文本内容的数据集之后,还包括:
确定数据集的所有文本内容中的各个字符重复的个数;
将字符的重复个数大于预设次数的所有字符均存储到预设词汇库中。
为了增加预设词汇库中字符的数量,本申请中,无论是新创建的预设词汇库,还是现有的预设词汇库,考虑到随着用户使用的字符类型数量的增多以及新兴网络词汇的增多,会出现越来越多预设词汇库中不存在的文字、符号以及字符,所以需要增预设词汇库中中字符的数量,特别是对于新创建的预设词汇库而言,为了使该预设词汇库能够尽快地投入使用,需要存储大量的字符。在获取到数据集后,数据集中包含有多个文本内容,组成这些文本内容的字符中通常会有重复出现的字符,重复出现的次数多于一定次数的字符可以看作为常用字符,例如,当这些文本内容均为用户对天气的讨论内容时,可见在这些文本内容中与天气相关的字符可能会经常出现,如“天”、“气”、“雨”和“雪”等字符可能会经常出现,若存在字符的出现次数也即重复个数大于预设次数,可以将这个字符看做常用字符,可以将其存储到预设词汇库中,以便对未来的文本内容中的对应字符进行分词,基于此,能够增加预设词汇库中字符的数量,使得在能够对更多的字符进行正常分词。
作为一种优选的实施例,利用预设词汇库对数据集中的各个文本内容进行基于预设级别的分词,包括:
利用预设词汇表基于最大匹配算法对数据集中的各个文本内容进行基于预设级别的分词。
为了使分词之后的分词结果更贴近文本内容原本表达的意义,本申请中,使用最大匹配算法来对数据集中的文本内容进行分词,最大匹配算法的原理是先判断一定字符长度的字符组合是否在预设词汇库中,若在则直接对该字符组合分词,若不在则缩短字符长度,再次对缩短后的字符组合进行判断,直到字符长度为1时停止,例如,在对文本内容“现在是早上的八点三十分”进行最大匹配算法的分词时,若字符长度为5且从右到左进行分词,首先对字符组合“八点三十分”进行判断其是否在预设词汇库中,若在,则对这5个字符进行分词;然后对字符组合“在是早上的”进行判断,若不在,则缩短字符长度为4,再对字符组合“是早上的”进行判断;若不在,再对字符组合“早上的”进行判断;若仍不在则在对字符组合“上的”进行判断,还是不在时则对字符“的”进行判断,若“的”字存储在预设词汇库中,则对“的”这个字符进行分词;同理,该文本内容最后的分词结果可能是“现在│是│早上│的│八点三十分”。若使用最小匹配算法或者其他算法,其每次都会直接选择字符长度最短的分词结果作为其最终结果,也即每次分词都只能分得一个字符,该种算法得到的分词结果较为不完整。而越完整的分词结果就越贴近文本内容原本表达的意义,所以使用最大匹配算法能够得到较完整的分词结果。
作为一种优选的实施例,在将数据集发送给算法模型之前,还包括:
判断数据集的各个文本内容的字符长度是否存在大于预设长度的文本内容;
若是,则将大于预设长度的文本内容中的所有分词失败的字符的分词结果均替换成同一预设特殊字符。
为了避免有文本内容的字符长度超出预设长度,本申请中,考虑到部分算法模型对文本内容的字符长度有限制,所以需要避免其长度超出限制的长度,当一条文本内容中存在多个分词失败的字符时,由于需要确定这些分词失败的字符对应的唯一标识编码,而这些唯一标识编码的字符长度可能会很长,例如,当分词失败的字符为汉字字符时,该汉字字符对应的唯一标识编码如UTF-8编码可能有4个字节,而每个字节又占据8个字符长度,所以该汉字字符的唯一标识编码会占据32个字符长度,而分词成功的字符通常可能只占据1~4个字符长度,可见,若一条文本内容中存在大量分词失败的字符,可能会导致该文本内容的字符长度超出限制长度。此时需要将超出限制长度的文本内容中所有的分词失败的字符统一替换成一个预设的特殊字符如<token>或<unk>等人为定义的特殊字符,虽然这会使得不同的分词失败的字符之间失去差异,但是这不仅缩短了文本内容的字符长度,而且能够让该文本内容中其他正常的字符能够参与到后续算法模型的应用中,其次还因为超出预设长度的情况较少,所以带来的负面影响较小,能够有效地避免有文本内容的字符长度超出预设长度。
请参照图3,图3为本申请提供的一种分词***的结构示意图,包括:
获取单元,用于获取包含多个文本内容的数据集;
第一分词单元,用于利用预设词汇库对数据集中的各个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符,X和Y均为整数且X与Y的数量和为数据集的所有文本内容中字符的总数量;
编码确定单元,用于确定各个分词失败的字符对应的唯一标识编码;
第二分词单元,用于将唯一标识编码作为对应的分词失败的字符的分词结果;
其中,预设词汇库中存储有N个字符和M个第一字符组合,N和M为不同时为零的整数。
对于本申请提供的一种分词***的详细介绍,请参照上述分词方法的实施例,本申请在此不再赘述。
请参照图4,图4为本申请提供的一种分词装置的结构示意图,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的分词方法的步骤。
对于本申请提供的一种分词装置的详细介绍,请参照上述分词方法的实施例,本申请在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种分词方法,其特征在于,包括:
获取包含多个文本内容的数据集;
利用预设词汇库对所述数据集中的各个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符,X和Y均为整数且X与Y的数量和为所述数据集的所有文本内容中字符的总数量;
确定各个分词失败的所述字符对应的唯一标识编码;
将所述唯一标识编码作为对应的分词失败的所述字符的分词结果;
其中,所述预设词汇库中存储有N个字符和M个第一字符组合,N和M为不同时为零的整数。
2.如权利要求1所述的分词方法,其特征在于,当所述分词失败的所述字符包括汉字字符和/或非汉字字符时,确定各个分词失败的所述字符对应的唯一标识编码,包括:
确定各个分词失败的所述汉字字符对应的UTF-8编码;
确定各个所述UTF-8编码对应的ASCII码;
确定所述ASCII码作为对应的分词失败的所述汉字字符的唯一标识编码;
和/或,
确定各个分词失败的所述非汉字字符对应的ASCII码作为对应的分词失败的所述非汉字字符的唯一标识编码;
其中,所述预设词汇库中还存储有ASCII码表。
3.如权利要求1所述的分词方法,其特征在于,在获取包含多个文本内容的数据集之后,还包括:
S21:在所有所述文本内容的所有字符中确定由多个所述字符组成的第二字符组合以及各个所述第二字符组合重复的个数;
S22:判断所述预设词汇库中存储的第一字符组合的总数量是否小于预设数量,若小于预设数量,则进入S23;若不小于预设数量,则进入S26;
S23:判断重复个数最多的所述第二字符组合是否存在于所述预设词汇库中,若不存在于所述预设词汇库中,则进入S24;若存在于所述预设词汇库中,则进入S25;
S24:将重复个数最多的所述第二字符组合存储到所述预设词汇库中,并将重复个数仅小于重复个数最多的所述第二字符组合的第二字符组合作为新的重复个数最多的所述第二字符组合,返回S22;
S25:将重复个数仅小于重复个数最多的所述第二字符组合的第二字符组合作为新的重复个数最多的所述第二字符组合,返回S22;
S26:确定对所述预设词汇库的第一字符组合的数量更新完成。
4.如权利要求3所述的分词方法,其特征在于,在所有所述文本内容的所有字符中确定由多个所述字符组成的第二字符组合以及各个所述第二字符组合重复的个数,包括:
确定所有所述文本内容的所有字符中,各个所述字符对应的唯一标识编码;
确定由多个所述唯一标识编码组成的编码组合以及各个所述编码组合重复的个数。
5.如权利要求4所述的分词方法,其特征在于,确定由多个所述唯一标识编码组成的编码组合以及各个所述编码组合重复的个数,包括
利用BPE算法确定由多个所述唯一标识编码组成的编码组合以及各个所述编码组合重复的个数。
6.如权利要求1所述的分词方法,其特征在于,在获取包含多个文本内容的数据集之后,还包括:
确定所述数据集的所有所述文本内容中的各个字符重复的个数;
将所述字符的重复个数大于预设次数的所有所述字符均存储到所述预设词汇库中。
7.如权利要求1所述的分词方法,其特征在于,所述利用预设词汇库对所述数据集中的各个文本内容进行基于预设级别的分词,包括:
利用预设词汇表基于最大匹配算法对所述数据集中的各个文本内容进行基于预设级别的分词。
8.如权利要求1至7任一项所述的分词方法,其特征在于,在将所述数据集发送给算法模型之前,还包括:
判断所述数据集的各个所述文本内容的字符长度是否存在大于预设长度的文本内容;
若是,则将大于预设长度的文本内容中的所有分词失败的所述字符的分词结果均替换成同一预设特殊字符。
9.一种分词***,其特征在于,包括:
获取单元,用于获取包含多个文本内容的数据集;
第一分词单元,用于利用预设词汇库对所述数据集中的各个文本内容进行基于预设级别的分词,得到X个分词成功的字符的分词结果和Y个分词失败的字符,X和Y均为整数且X与Y的数量和为所述数据集的所有文本内容中字符的总数量;
编码确定单元,用于确定各个分词失败的所述字符对应的唯一标识编码;
第二分词单元,用于将所述唯一标识编码作为对应的分词失败的所述字符的分词结果;
其中,所述预设词汇库中存储有N个字符和M个第一字符组合,N和M为不同时为零的整数。
10.一种分词装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的分词方法的步骤。
CN202210514922.9A 2022-05-12 2022-05-12 分词方法、***及装置 Pending CN114936554A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210514922.9A CN114936554A (zh) 2022-05-12 2022-05-12 分词方法、***及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210514922.9A CN114936554A (zh) 2022-05-12 2022-05-12 分词方法、***及装置

Publications (1)

Publication Number Publication Date
CN114936554A true CN114936554A (zh) 2022-08-23

Family

ID=82865287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210514922.9A Pending CN114936554A (zh) 2022-05-12 2022-05-12 分词方法、***及装置

Country Status (1)

Country Link
CN (1) CN114936554A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017162134A1 (zh) * 2016-03-22 2017-09-28 索尼公司 用于文本处理的电子设备和方法
CN107273356A (zh) * 2017-06-14 2017-10-20 北京百度网讯科技有限公司 基于人工智能的分词方法、装置、服务器和存储介质
CN110134949A (zh) * 2019-04-26 2019-08-16 网宿科技股份有限公司 一种基于教师监督的文本标注方法和设备
CN113033193A (zh) * 2021-01-20 2021-06-25 山谷网安科技股份有限公司 一种基于c++语言的混合型中文文本分词方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017162134A1 (zh) * 2016-03-22 2017-09-28 索尼公司 用于文本处理的电子设备和方法
CN107273356A (zh) * 2017-06-14 2017-10-20 北京百度网讯科技有限公司 基于人工智能的分词方法、装置、服务器和存储介质
CN110134949A (zh) * 2019-04-26 2019-08-16 网宿科技股份有限公司 一种基于教师监督的文本标注方法和设备
CN113033193A (zh) * 2021-01-20 2021-06-25 山谷网安科技股份有限公司 一种基于c++语言的混合型中文文本分词方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄超;: "基于统计方法从文本中抽取分词词典", 电脑知识与技术, no. 04, 5 February 2020 (2020-02-05) *

Similar Documents

Publication Publication Date Title
US11113234B2 (en) Semantic extraction method and apparatus for natural language, and computer storage medium
CN111177184A (zh) 基于自然语言的结构化查询语言转换方法、及其相关设备
CN107341143B (zh) 一种句子连贯性判断方法及装置和电子设备
US7536296B2 (en) Automatic segmentation of texts comprising chunks without separators
CN111144391B (zh) 一种ocr识别结果纠错方法及装置
US9720976B2 (en) Extracting method, computer product, extracting system, information generating method, and information contents
CN113268576B (zh) 一种基于深度学习的部门语义信息抽取的方法及装置
CN113255331B (zh) 文本纠错方法、装置及存储介质
CN115438650B (zh) 融合多源特征的合同文本纠错方法、***、设备及介质
CN113449514A (zh) 一种适用于特定垂直领域的文本纠错方法及其纠错装置
CN113673228A (zh) 文本纠错方法、装置、计算机存储介质及计算机程序产品
CN110516125B (zh) 识别异常字符串的方法、装置、设备及可读存储介质
JPH0211934B2 (zh)
JP7040155B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN112527967A (zh) 文本匹配方法、装置、终端和存储介质
CN114936554A (zh) 分词方法、***及装置
CN112632526B (zh) 一种基于综合分段的用户口令建模与强度评估方法
CN115688748A (zh) 问句纠错方法、装置、电子设备及存储介质
CN112765937A (zh) 文本正则方法、装置、电子设备及存储介质
CN113626587A (zh) 一种文本类别识别方法、装置、电子设备及介质
CN116522966B (zh) 基于多语言词条的文本翻译方法及***
CN115455179B (zh) 敏感词汇检测方法、装置、设备及存储介质
CN116306593A (zh) 一种文本拼写错误纠正方法及***
CN114881005A (zh) 一种机器翻译的语料分词预处理方法
JP6145027B2 (ja) モデル学習装置、形態素解析装置、及びプログラム

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