CN108197116B - 一种中文文本分词的方法、装置、分词设备及存储介质 - Google Patents

一种中文文本分词的方法、装置、分词设备及存储介质 Download PDF

Info

Publication number
CN108197116B
CN108197116B CN201810094475.XA CN201810094475A CN108197116B CN 108197116 B CN108197116 B CN 108197116B CN 201810094475 A CN201810094475 A CN 201810094475A CN 108197116 B CN108197116 B CN 108197116B
Authority
CN
China
Prior art keywords
word
text
preset
probability
string
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
Application number
CN201810094475.XA
Other languages
English (en)
Other versions
CN108197116A (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.)
Tianwen Digital Media Technology Beijing Co ltd
Original Assignee
Tianwen Digital Media Technology Beijing 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 Tianwen Digital Media Technology Beijing Co ltd filed Critical Tianwen Digital Media Technology Beijing Co ltd
Priority to CN201810094475.XA priority Critical patent/CN108197116B/zh
Publication of CN108197116A publication Critical patent/CN108197116A/zh
Application granted granted Critical
Publication of CN108197116B publication Critical patent/CN108197116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • 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

Landscapes

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

Abstract

本发明实施例公开了一种中文文本分词的方法、装置、分词设备及存储介质,所述方法包括:获取待切分文本;根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径;通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果,实现在保证分词精度的前提下,降低算法的复杂度,提高算法分词的速度和效率。

Description

一种中文文本分词的方法、装置、分词设备及存储介质
技术领域
本发明实施例涉及文本分析技术领域,尤其涉及一种中文文本分词的方法、装置、分词设备及存储介质。
背景技术
中文文本中一般没有明确的词汇界限,而中文文本处理一般都是基于词汇来进行。因此,将输入文本进行分词是许多中文文本的处理中的一个基本操作。与中文有关的智能应用,如中文文语转换、机器翻译、自动语音识别、文本摘要、文本检索以及对话等,都需要对中文进行分词,以便于后期处理。
现有的分词算法可分为三大类:基于理解的分词方法、基于统计的分词方法和基于字符串匹配的分词方法。
基于理解的分词方法,是通过让计算机模拟人对句子的理解,达到识别词的效果。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式。
基于统计的分词方法的原理是,在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组并且对常用词的识别精度差,时空开销大。
基于字符串匹配的分词方法,又叫做机械分词方法,将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。但精度不能满足实际的需要,并且需要极大的词典,不便于部署。实际使用中,都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率。一种提高方法是改进扫描方式,减少匹配的错误率。另一种提高方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,从而提高切分的准确率。但是上述提高方法的利用使得算法过于复杂,难以让初学者快速掌握和利用。
发明内容
本发明实施例提供一种中文文本分词的方法、装置、分词设备及存储介质,实现在保证分词精度的前提下,降低算法的复杂度,提高算法分词的速度和效率。
第一方面,本发明实施例提供了一种中文文本分词的方法,包括:
获取待切分文本;
根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径;
通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果。
第二方面,本发明实施例还提供了一种中文文本分词的装置,包括:
文本获取模块,用于获取待切分文本;
切分路径确定模块,用于根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径;
文本切分模块,用于通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果。
第三方面,本发明实施例还提供了一种分词设备,所述分词设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述所涉及的第一方面所述的中文文本分词的方法。
第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所涉及的第一方面所述的中文文本分词的方法。
本发明实施例通过获取待切分文本,并根据预设字串最大长度、预设模型以及预设词典为待切分文本确定最优切分路径,通过最优切分路径对待切分文本进行切分,解决现有的中文文本分词算法复杂度高、不便于部署、分词速度过慢的问题,实现在保证分词精度的前提下,降低算法的复杂度,提高算法分词的速度和效率。
附图说明
图1是本发明实施例一提供的一种中文文本分词的方法的流程图;
图2是本发明实施例二提供的一种中文文本分词的方法的流程图;
图3是本发明实施例三提供的一种中文文本分词的方法的流程图;
图4是本发明实施例四提供的一种中文文本分词的装置的结构示意图;
图5是本发明实施例五提供的一种分词设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的一种中文文本分词的方法的流程图,本实施例可适用于对中文文本进行快速分词的情况,该方法可以由中文文本分词的装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在分词设备中,该方法包括如下操作:
步骤110、获取待切分文本。
其中,待切分文本在不同领域中意义也不尽相同,可以是用户输入的文本,也可以是获取的存储的文本。举例而言,在使用搜索引擎进行文本关键词搜索时,待切分文本即为所需搜索的文本;在网络内容取证领域,待切分文本为所需存储的网络取证基础数据(例如纯文本选段)或者待取证分析纯文本等。
步骤120、根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径。
其中,预设字串最大长度是预先设置的对待切分文本可切分的最长字串对应的长度。例如,设定预设字串最大长度为6,则对于待切分文本“本文试图提出一种简单但是分词效果能够与流行算法媲美的一种分词算法”来说,可切分的最长字串包括6个字符,如“本文试图提出”、“文试图提出一”等。预设字串最大长度可以是6、8或者是10,具体可以根据实际需求进行设置,本发明实施例对此并不进行限制。预设模型可以包括三个不同的模型,即第一预设模型、第二预设模型以及第三预设模型,分别用于存储训练语料中不同条件下对应字串的成词概率,其中,训练语料指的是各种文本,例如各种网页文本、书刊杂志或小说等等。当然,预设模型也可以根据实际需求进行适应性设计,可以包括更多种类的模型,本发明实施例对此同样不进行限制。预设词典是根据实际需求创建的,用于收录新词的文本存储模块,可以采用现有分词技术中所有适用的词典,如机械词典、多粒度词典等。预设切分方式是针对待切分文本采用的可以得到最优切分路径对应的切分字串的方法。
需要说明的是,为了简化算法的复杂度,降低初学者的学习难度,本发明实施例中的训练语料可以采用现有技术中已经训练好的语料库。在本发明实施例中,考虑到训练语料过于庞大会导致算法速度变慢的问题。因此,当待切分文本切分并识别出的词语没有被训练语料和预设词典收录时,优选将该词语收录到预设词典中,从而提高算法的运行速度。
在本发明实施例中,一个待切分文本会对应存在多种切分路径,一个切分路径就是将一个文本划分成若干字串。每种切分路径切分出来的所有字串的成词概率乘积不尽相同。其中,最优切分路径是对待切分文本进行切分得到所有字串后,所有字串的成词概率乘积数值最高的切分路径。
步骤130、通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果。
在本发明实施例中,当对待切分文本确定最优切分路径后,即可根据最优切分路径对待切分文本进行切分,并获取所有的切分后的字串,得到待切分文本的分词结果。
本发明实施例通过获取待切分文本,并根据预设字串最大长度、预设模型以及预设词典为待切分文本确定最优切分路径,通过最优切分路径对待切分文本进行切分,解决现有的中文文本分词算法复杂度高、不便于部署、分词速度过慢的问题,实现在保证分词精度的前提下,降低算法的复杂度,提高算法分词的速度和效率。
在上述技术方案的基础上,确定所述字串的成词概率包括:当第一预设模型存在与目标字串匹配的预设字串,则获取所述第一模型存储的对应所述目标字串的概率作为所述成词概率;其中,所述目标字串为需要计算所述成词概率的所述字串;当所述第一预设模型不存在与所述目标字串匹配的字串,且所述预设词典不存在与所述目标字串匹配的字串,则获取第二预设模型存储的对应所述目标字串长度的概率作为所述成词概率;当所述第一预设模型不存在与所述目标字串匹配的字串,且所述预设词典存在与所述目标字串匹配的字串,则获取第三预设模型存储的概率作为所述成词概率。
其中,目标字串具体指的是通过所有切分路径切分待切分文本形成的任一字串。在所有的切分路径中的任一字串,如“我”、“是中”、“中国人”等都可以作为目标字串。
相应的,在确定字串的成词概率时,需要以三个预设模型以及预设词典为依据。以目标字串为“中国人”举例说明:当第一预设模型存在与“中国人”匹配的预设字串,即第一预设模型中存在“中国人”的字串,则获取第一模型存储“中国人”的字串的概率作为成词概率。当第一预设模型不存在“中国人”的字串,且预设词典不存在“中国人”的字串,则获取第二预设模型存储的对应“中国人”的字串长度的概率(3对应的概率)作为成词概率;当第一预设模型不存在“中国人”的字串,且预设词典存在“中国人”的字串,则获取第三预设模型存储的概率作为成词概率。通过不同的模型区分所有字串的成词概率,能够更加精准的确定每个字串的成词概率,从而保证本发明实施例所提供的中文文本分词的方法对待切分文本进行分词的准确性。
实施例二
图2是本发明实施例二提供的一种中文文本分词的方法的流程图,如图2所述,本实施例的方法可以包括:
步骤210、将训练语料中成词概率不为零的字串及对应的成词概率存储在所述第一预设模型中。
其中,训练语料包含的各词条都是预先标记好的。对训练语料标注各词条及各词条的词性,实际上就是对连续的文本语料,标注出分词得到的各词条及其词性。以“我爱成都”这样一个文本为例说明,经过标注后可以得到“我<代词>/爱<动词>/成都/<地名.地区>”的文本。在本发明实施例中,词性除了包括常见的动词、名词和代词等,还进一步包括专有名词属性。专有名词指的是特定的人、地方或机构等的名称,专有名词属性,则是专有名词归属的专有名词类别。本发明实施例中的训练语料采用的是现有技术中已经将词语切分过的中文语料。通常,切分结果已经经过人工标注,所以不对训练语料进行更详细的解释。成词概率指的是一个字串作为独立词语出现的次数与该字串出现的次数的比值,成词概率不为零的字串指的是字串可以作为独立词语出现。
在本发明实施例中,将所有成词概率不为零的字串及对应的成词概率形成相应的映射关系,并将其存储在第一预设模型中(例如:我:1,是:1,...,中国:0.5...)。
相应的,步骤210具体包括:
步骤211、以所述预设字串最大长度为上限,对所述训练语料进行不同长度字串的切分,得到切分后的字串。
在本发明实施例中,由于训练语料已经执行过切分和标记操作,所以如果预设字串最大长度与训练语料中最大长度的字串的长度值一致时,则无需再对训练语料进行切分,而可以直接使用训练语料中切分好的字串。当然,如果预设字串最大长度与训练语料中最大长度的字串的长度值不一致时,也可以对训练语料根据个人需求进行自定义切分。由于对训练语料的处理步骤211属于中文文本分词的方法的前期准备工作,所以即使增加步骤211,也不会增加算法的复杂度。当然,步骤211在实际操作过程中也可以省略。
在本发明实施例中,如果确定对训练语料进程不同长度字串的切分,则需按照预设字串最大长度为上限,对训练语料切分出所有可能字串。举例而言,对于“我是中国人”,可以切出的所有可能字串包括:长度为1的字串,“我”,“是”,“中”,“国”,“人”。长度为2的字串,“我是”,“是中”,“中国”,“国人”。依次类推,一直到预设字串最大长度。
步骤212、统计所述切分后的字串中所述成词概率不为零的字串出现的次数,以及所述成词概率不为零的字串作为独立词语出现的次数。
在本发明实施例中,对训练语料切分后的所有字串中成词概率不为零的字串和字串作为独立词语出现的次数分别对应统计,以计算所有字串的成词概率。
步骤213、所述成词概率不为零的字串的成词概率为,所述成词概率不为零的字串作为独立词语出现的次数与所述成词概率不为零的字串出现的次数的比值。
具体的,成词概率不为零的字串对应的成词概率是字串作为独立词语出现的次数与该字串出现的次数的比值。举例而言,假定训练语料中有“我是中国人,我来自中国”,其正确切分方式应该为“我/是/中国人/,/我/来自/中国”,按照不同长度对“我是中国人,我来自中国”进行切分后,在所有切分好的字串中,“中国”作为字串出现的次数为2次,作为独立词语出现的次数为1次。因为“中国”在“我是中国人”中出现时是作为词语“中国人”的子串出现,而不是以独立词语的形式出现。“我”作为字串和独立词语出现的次数都是2。因此,字串“中国”的成词概率为1/2=0.5,“我”的成词概率为2/2=1.0。
步骤220、将所述训练语料中预设长度的未登录字串的成词概率及对应的预设长度存储在所述第二预设模型中。
其中,未登录字串是将训练语料平均划分为3个部分后,对于每个部分,找出所有在另外两个部分中没有出现的字串即为未登录字串。预设长度是以预设字串最大长度为上限包括的不同长度。例如,预设字串最大长度为6,则预设长度为1、2、3、4、5和6。预设长度的未登录字串的设计能够构建一个缩小化的模型,从而减少算法的运算量。
需要说明的是,当该未登录字串的词频高于预设阈值时,可选的,可以将该未登录字串添加到预设词典中,以此扩充分预设词典的关键词。其中,预设阈值可以根据预设词典的可用容量进行适应性设计,本发明实施例对此并不进行限制。
在本发明的一个可选实施例中,所述预设长度的未登录字串的成词概率为,所述预设长度的未登录字串在所述训练语料中作为独立词语出现的次数与所述预设长度的未登录字串在所述训练语料中出现的总次数的比值。
在本发明实施例中,在分别找出每个部分的未登录字串后,可以将所有的未登录字串放到一起构成一个未登录字串的集合。在计算未登录字串的成词概率时,对这个集合中的所有未登录字串按照不同预设长度进行分组,然后针对每个预设长度对应的分组计算该预设长度的未登录字串的成词概率。具体的,预设长度未登录字串的成词概率可以通过下述表达式求解:P(预设长度的未登陆串成词概率)=预设长度的未登陆串在训练语料中作为独立词语出现的次数/预设长度的未登录字串在训练语料中出现的总次数。在求出每个预设长度的未登录字串的成词概率后,可以将预设长度的未登录字串的成词概率及对应的预设长度存储在第二预设模型中。
步骤230、将所述训练语料中所有已知词字串的成词概率存储在所述第三预设模型中。
其中,已知词字串是对训练语料切分后的形成的字串,例如“我”、“中国”、“脑的”、“盖坏”、“电脑”等字串。在本发明实施例中,第三预设模型存储的成词概率只有一个数值。在本发明实施例中,已知词字串的成词概率用于引入预设词典,从而将未登陆字串识别和预设词典引入融合到一个统一的概率模型中。
在本发明的一个可选实施例中,所述所有已知词字串的成词概率为,所述所有已知词字串在所述训练语料中作为独立词语出现的次数与所述所有已知词字串在所述训练语料中出现的总次数的比值。
具体的,在计算所有已知词字串的成词概率时,首先需要统计训练语料中所有的已知词字串作为独立词语出现的次数,所有已知词字串在训练语料中出现的总次数即为训练语料中所有字串的个数。相应的,所有已知词字串的成词概率可以通过下述表达式获取:P(已知词字串的成词概率)=所有已知词字串在训练语料中作为独立词语出现的次数/所有已知词字串在训练语料中出现的总次数。
需要说明的是,本发明实施例并不对步骤210、步骤220以及步骤230的执行顺序进行限定,也即,步骤210、步骤220以及步骤230可以同时进行,也可以按照随机的顺序执行。
步骤240、获取待切分文本。
步骤250、根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径。
步骤260、通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果。
本发明实施例通过针对训练语料切分的字串从不同的角度构建三个预设模型,利用三个预设模型分别存储相应的字串和匹配的成词概率,并将其应用于最优分词方式的判定,实现提供一种简洁有效的中文文本分词的方法。
实施例三
图3是本发明实施例三提供的一种中文文本分词的方法的流程图,如图3所述,本实施例的方法可以包括:
步骤310、获取待切分文本。
步骤320、根据预设字串最大长度对待切分文本进行切分获得所有切分路径,通过维特比算法对所有切分路径进行筛选,获取所述最优切分路径。
其中,维特比算法是一种动态规划算法,用于寻找最有可能产生观测事件序列的-维特比路径-隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中。简单来讲,维特比算法就是动态规划实现最短路径。由于维特比算法是一种比较现有的技术,因此,本发明实施例不再对维特比算法进行详细的解释。
在本发明实施例中,为了提高性能,不必对所有切分路径切分待切分文本得到的所有字串的成词概率乘积数值进行计算,可以采用维特比算法对所有的切分路径进行剪枝。
相应的,步骤320具体可以包括:
步骤321、从所述待切分文本中依次获取单个字符作为当前字符,以及所述当前字符在所述待切分文本中的位置,其中,将所述当前字符在所述待切分文本中的位置记为n。
举例而言,将“假设整个篱笆有向图中每一列节点最多有D个”作为待切分文本,在首次获取单个字符作为当前字符时,当前字符为“假”,当前字符在待切分文本中的位置n为1,若当前字符为“笆”,当前字符在待切分文本中的位置n为6。
步骤322、初始化中间参数的值为0,其中,所述中间参数记为i。
在本发明实施例中,确定待切分文本的最优切分路径时,需要引入中间参数i。
步骤323、获取所述待切分文本在(0,n-i)区间对应字串的第一最优切分路径。
其中,第一最优切分路径是待切分文本在(0,n)区间的一个子路径。举例而言,当n为6,i为3时,第一最优切分路径时待切分文本在(0,3)区间文本的最优切分路径。
步骤324、在所述第一最优切分路径中的最后一个字符后继续添加长度为i的字串,形成新的目标最优切分路径,且所述中间参数i的值加1。
其中,目标最优切分路径是对应当前字符所在待切分文本在(0,n)区间的最优切分路径。相应的,在确定待切分文本在(0,n-i)区间对应字串的第一最优切分路径后,可以在第一最优切分路径中的最后一个字符后,依据待切分文本继续添加长度为i的字串,从而形成一条目标最优切分路径。
举例而言,在待切分文本“假设整个篱笆有向图中每一列节点最多有D个”中,当n为6,i为2时,如果已经确定待切分文本在(0,4)区间第一最优切分路径为“假设/整个”,则在第一最优切分路径“假设/整个”后依据待切分文本继续添加长度为2的字串“篱笆”,形成新的目标最优切分路径“假设/整个篱笆”。
步骤325、判断所述中间参数i的值是否为n,或者所述中间参数i的值是否为所述预设字串最大长度对应的数值,若否,则返回执行步骤323,否则,执行步骤326。
在本发明实施例中。由于长度为i的字串为在第一最优切分路径后最后一个字符添加的字串,所以i的最大值只能取预设字串最大长度对应的数值。当n的值大于预设字串最大长度对应的数值时,待切分文本在(0,n)区间的第一最优切分路径的条数与预设字串最大长度对应的数值相一致。在循环过程中,当中间参数i的值为n(一般出现在预设字串最大长度对应的数值较大且将待切分文本前几个字符作为当前字符的情况),或者当中间参数i的值达到预设字串最大长度对应的数值时,则停止循环。当然,本发明实施例还可以采用递归代替循环的方式确定待切分文本的最优切分路径。由于递归是现有技术中常用的一种手段,递归和循环可以相互替换,本发明实施例不再对采用递归手段获取待切分文本最优切分路径的方案进行详细描述。
举例而言,在待切分文本“假设整个篱笆有向图中每一列节点最多有D个”中,如果n为1,则待切分文本在(0,1)区间的第一最优切分路径就是“假”这个字符单独成词,且该第一最优切分路径也为n为1时的目标最优切分路径。如果n为6,预设字串最大长度为4,i的数值从0开始。当i为0时,待切分文本在(0,6)区间的第一最优切分路径为“假设整个篱笆”;当i为1时,待切分文本在(0,5)区间的第一最优切分路径为“假设整个篱”对应的最优切分路径L5;当i为2时,待切分文本在(0,4)区间的第一最优切分路径为“假设整个”对应的最优切分路径L4;当i为3时,待切分文本在(0,3)区间的第一最优切分路径为“假设整”对应的最优切分路径L3;当i为4时,待切分文本在(0,2)区间的第一最优切分路径为“假设”对应的最优切分路径L2。需要说明的是,当n从待切分文本的第一个字符开始循环时,L2、L3、L4和L5都是已知的目标最优切分路径。因此,在L2、L3、L4和L5的基础上,分别加上对应长度为i的字串,即可得到4条待切分文本在(0,6)区间对应的目标最优切分路径。
步骤326、判断所述当前字符是否取完所述待切分文本中的最后一个字符,若是,则执行步骤327,否则,返回执行步骤321。
相应的,对待切分文本的每个字符依次遍历执行上述操作,直至已经取完待切分文本中的最后一个字符时,即完成对完整的待切分文本对应的所有目标最优切分路径的确定。
步骤327、选择其中一条所述目标最优切分路径作为所述最优切分路径。
在本发明实施例中,当当前字符取完待切分文本中的最后一个字符后,能获取最后一个字符对应产生的所有目标最优切分路径。可选的,可以从所有目标最优切分路径中选择其中一条作为最优切分路径。
步骤330、通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果。
本发明实施例通过采用维特比算法对所有的切分路径进行剪枝,避免计算所有的切分路径,能够有效提高算法的性能,同时提高算法的效率。
实施例四
图4是本发明实施例四提供的一种中文文本分词的装置的结构示意图,可执行本发明任意实施例所提供的中文文本分词的方法,具备执行方法相应的功能模块和有益效果,本实施例可适用于对中文文本进行快速分词的情况。
所述装置包括:
文本获取模块410,用于获取待切分文本;
切分路径确定模块420,用于根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径;
文本切分模块430,用于通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果。
本发明实施例通过获取待切分文本,并根据预设字串最大长度、预设模型以及预设词典为待切分文本确定最优切分路径,通过最优切分路径对待切分文本进行切分,解决现有的中文文本分词算法复杂度高、不便于部署、分词速度过慢的问题,实现在保证分词精度的前提下,降低算法的复杂度,提高算法分词的速度和效率。
可选的,所述切分路径确定模块420,还用于当第一预设模型存在与目标字串匹配的预设字串,则获取所述第一模型存储的对应所述目标字串的概率作为所述成词概率;其中,所述目标字串为需要计算所述成词概率的所述字串;当所述第一预设模型不存在与所述目标字串匹配的字串,且所述预设词典不存在与所述目标字串匹配的字串,则获取第二预设模型存储的对应所述目标字串长度的概率作为所述成词概率;当所述第一预设模型不存在与所述目标字串匹配的字串,且所述预设词典存在与所述目标字串匹配的字串,则获取第三预设模型存储的概率作为所述成词概率。
可选的,所述装置还包括,概率存储模块440,用于将训练语料中成词概率不为零的字串及对应的成词概率存储在所述第一预设模型中;将所述训练语料中预设长度的未登录字串的成词概率及对应的预设长度存储在所述第二预设模型中;将所述训练语料中所有已知词字串的成词概率存储在所述第三预设模型中。
可选的,所述概率存储模块440,还用于以所述预设字串最大长度为上限,对所述训练语料进行不同长度字串的切分,得到切分后的字串;统计所述切分后的字串中所述成词概率不为零的字串出现的次数,以及所述成词概率不为零的字串作为独立词语出现的次数;所述成词概率不为零的字串的成词概率为,所述成词概率不为零的字串作为独立词语出现的次数与所述成词概率不为零的字串出现的次数的比值;相应的,所述预设长度的未登录字串的成词概率为,所述预设长度的未登录字串在所述训练语料中作为独立词语出现的次数与所述预设长度的未登录字串在所述训练语料中出现的总次数的比值;相应的,所述所有已知词字串的成词概率为,所述所有已知词字串在所述训练语料中作为独立词语出现的次数与所述所有已知词字串在所述训练语料中出现的总次数的比值。
可选的,所述切分路径确定模块420,还用于通过维特比算法对所有切分路径进行筛选,获取所述最优切分路径。
可选的,所述切分路径确定模块420,还用于从所述待切分文本中依次获取单个字符作为当前字符,以及所述当前字符在所述待切分文本中的位置,其中,将所述当前字符在所述待切分文本中的位置记为n;初始化中间参数的值为0,其中,所述中间参数记为i;获取所述待切分文本在(0,n-i)区间对应字串的第一最优切分路径;在所述第一最优切分路径中的最后一个字符后继续添加长度为i的字串,形成新的目标最优切分路径,且所述中间参数i的值加1;返回执行获取所述待切分文本在(0,n-i)区间对应字串的第一最优切分路径的步骤,直至所述中间参数i的值为n,或者所述中间参数i的值为所述预设字串最大长度对应的数值;返回执行从所述待切分文本中依次获取单个字符作为当前字符的步骤,直到所述当前字符取完所述待切分文本中的最后一个字符;选择其中一条所述目标最优切分路径作为所述最优切分路径。
上述中文文本分词的装置可执行本发明任意实施例所提供的中文文本分词的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的中文文本分词的方法。
实施例五
图5是本发明实施例五提供的一种分词设备的结构示意图,如图5所示,该分词设备包括处理器510、存储器520、输入装置530和输出装置540;分词设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;分词设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的中文文本分词的方法对应的程序指令/模块(例如,中文文本分词的装置中的文本获取模块410、切分路径确定模块420和文本切分模块430)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的中文文本分词的方法。
存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字或字符信息,以及产生与分词设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种中文文本分词的方法,该方法包括:
获取待切分文本;
根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径;
通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的中文文本分词的方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述中文文本分词的装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种中文文本分词的方法,其特征在于,包括:
获取待切分文本;
根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径;
通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果;
所述根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径,包括:
通过维特比算法对所有切分路径进行筛选,获取所述最优切分路径,包括:
从所述待切分文本中依次获取单个字符作为当前字符,以及所述当前字符在所述待切分文本中的位置,其中,将所述当前字符在所述待切分文本中的位置记为n;
初始化中间参数的值为0,其中,所述中间参数记为i;
获取所述待切分文本在(0,n-i)区间对应字串的第一最优切分路径;
在所述第一最优切分路径中的最后一个字符后继续添加长度为i的字串,形成新的目标最优切分路径,且所述中间参数i的值加1;
返回执行获取所述待切分文本在(0,n-i)区间对应字串的第一最优切分路径的步骤,直至所述中间参数i的值为n,或者所述中间参数i的值为所述预设字串最大长度对应的数值;
返回执行从所述待切分文本中依次获取单个字符作为当前字符的步骤,直到所述当前字符取完所述待切分文本中的最后一个字符;
选择其中一条所述目标最优切分路径作为所述最优切分路径。
2.根据权利要求1所述的方法,其特征在于,确定所述字串的成词概率包括:
当第一预设模型存在与目标字串匹配的预设字串,则获取所述第一预设模型存储的对应所述目标字串的概率作为所述成词概率;其中,所述目标字串为需要计算所述成词概率的所述字串;
当所述第一预设模型不存在与所述目标字串匹配的字串,且所述预设词典不存在与所述目标字串匹配的字串,则获取第二预设模型存储的对应所述目标字串长度的概率作为所述成词概率;
当所述第一预设模型不存在与所述目标字串匹配的字串,且所述预设词典存在与所述目标字串匹配的字串,则获取第三预设模型存储的概率作为所述成词概率。
3.根据权利要求2所述的方法,其特征在于,在所述获取待切分文本之前,还包括:
将训练语料中成词概率不为零的字串及对应的成词概率存储在所述第一预设模型中;
将所述训练语料中预设长度的未登录字串的成词概率及对应的预设长度存储在所述第二预设模型中;
将所述训练语料中所有已知词字串的成词概率存储在所述第三预设模型中。
4.根据权利要求3所述的方法,其特征在于,所述将训练语料中成词概率不为零的字串及对应的成词概率存储在所述第一预设模型中,包括:
以所述预设字串最大长度为上限,对所述训练语料进行不同长度字串的切分,得到切分后的字串;
统计所述切分后的字串中所述成词概率不为零的字串出现的次数,以及所述成词概率不为零的字串作为独立词语出现的次数;
所述成词概率不为零的字串的成词概率为,所述成词概率不为零的字串作为独立词语出现的次数与所述成词概率不为零的字串出现的次数的比值;
相应的,所述预设长度的未登录字串的成词概率为,所述预设长度的未登录字串在所述训练语料中作为独立词语出现的次数与所述预设长度的未登录字串在所述训练语料中出现的总次数的比值;
相应的,所述所有已知词字串的成词概率为,所述所有已知词字串在所述训练语料中作为独立词语出现的次数与所述所有已知词字串在所述训练语料中出现的总次数的比值。
5.一种中文文本分词的装置,其特征在于,包括:
文本获取模块,用于获取待切分文本;
切分路径确定模块,用于根据预设字串最大长度、预设模型以及预设词典为所述待切分文本确定最优切分路径;其中,所述最优切分路径为以预设切分方式切分所述待切分文本,得到的所有字串的成词概率乘积数值最高的切分路径;
文本切分模块,用于通过所述最优切分路径对所述待切分文本进行切分,作为所述待切分文本的分词结果;
所述切分路径确定模块,用于通过维特比算法对所有切分路径进行筛选,获取所述最优切分路径;
所述切分路径确定模块,用于从所述待切分文本中依次获取单个字符作为当前字符,以及所述当前字符在所述待切分文本中的位置,其中,将所述当前字符在所述待切分文本中的位置记为n;初始化中间参数的值为0,其中,所述中间参数记为i;获取所述待切分文本在(0,n-i)区间对应字串的第一最优切分路径;在所述第一最优切分路径中的最后一个字符后继续添加长度为i的字串,形成新的目标最优切分路径,且所述中间参数i的值加1;返回执行获取所述待切分文本在(0,n-i)区间对应字串的第一最优切分路径的步骤,直至所述中间参数i的值为n,或者所述中间参数i的值为所述预设字串最大长度对应的数值;返回执行从所述待切分文本中依次获取单个字符作为当前字符的步骤,直到所述当前字符取完所述待切分文本中的最后一个字符;选择其中一条所述目标最优切分路径作为所述最优切分路径。
6.根据权利要求5所述的装置,其特征在于,
所述切分路径确定模块,还用于当第一预设模型存在与目标字串匹配的预设字串,则获取所述第一预设模型存储的对应所述目标字串的概率作为所述成词概率;其中,所述目标字串为需要计算所述成词概率的所述字串;当所述第一预设模型不存在与所述目标字串匹配的字串,且所述预设词典不存在与所述目标字串匹配的字串,则获取第二预设模型存储的对应所述目标字串长度的概率作为所述成词概率;当所述第一预设模型不存在与所述目标字串匹配的字串,且所述预设词典存在与所述目标字串匹配的字串,则获取第三预设模型存储的概率作为所述成词概率;
所述装置还包括,概率存储模块,用于将训练语料中成词概率不为零的字串及对应的成词概率存储在所述第一预设模型中;将所述训练语料中预设长度的未登录字串的成词概率及对应的预设长度存储在所述第二预设模型中;将所述训练语料中所有已知词字串的成词概率存储在所述第三预设模型中;
所述概率存储模块,还用于以所述预设字串最大长度为上限,对所述训练语料进行不同长度字串的切分,得到切分后的字串;统计所述切分后的字串中所述成词概率不为零的字串出现的次数,以及所述成词概率不为零的字串作为独立词语出现的次数;所述成词概率不为零的字串的成词概率为,所述成词概率不为零的字串作为独立词语出现的次数与所述成词概率不为零的字串出现的次数的比值;相应的,所述预设长度的未登录字串的成词概率为,所述预设长度的未登录字串在所述训练语料中作为独立词语出现的次数与所述预设长度的未登录字串在所述训练语料中出现的总次数的比值;相应的,所述所有已知词字串的成词概率为,所述所有已知词字串在所述训练语料中作为独立词语出现的次数与所述所有已知词字串在所述训练语料中出现的总次数的比值。
7.一种分词设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的中文文本分词的方法。
8.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的中文文本分词的方法。
CN201810094475.XA 2018-01-31 2018-01-31 一种中文文本分词的方法、装置、分词设备及存储介质 Active CN108197116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810094475.XA CN108197116B (zh) 2018-01-31 2018-01-31 一种中文文本分词的方法、装置、分词设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810094475.XA CN108197116B (zh) 2018-01-31 2018-01-31 一种中文文本分词的方法、装置、分词设备及存储介质

Publications (2)

Publication Number Publication Date
CN108197116A CN108197116A (zh) 2018-06-22
CN108197116B true CN108197116B (zh) 2021-05-28

Family

ID=62591469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810094475.XA Active CN108197116B (zh) 2018-01-31 2018-01-31 一种中文文本分词的方法、装置、分词设备及存储介质

Country Status (1)

Country Link
CN (1) CN108197116B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188355A (zh) * 2019-05-29 2019-08-30 北京声智科技有限公司 一种基于wfst技术的分词方法、系统、设备及介质
CN111079411B (zh) * 2019-12-12 2023-10-13 拉扎斯网络科技(上海)有限公司 一种文本处理的方法、装置、可读存储介质和电子设备
CN111178095B (zh) * 2019-12-20 2023-06-27 沈阳雅译网络技术有限公司 一种面向子词切分的BPE-Learn加速方法
CN112069812B (zh) * 2020-08-28 2024-05-03 喜大(上海)网络科技有限公司 一种分词方法、装置、设备及计算机存储介质
CN112307753B (zh) * 2020-12-29 2021-06-22 启业云大数据(南京)有限公司 支持大量词库的分词方法、计算机可读存储介质及系统
CN112765963A (zh) * 2020-12-31 2021-05-07 北京锐安科技有限公司 语句分词方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079027A (zh) * 2007-06-27 2007-11-28 腾讯科技(深圳)有限公司 一种中文分词方法及系统
CN101082908A (zh) * 2007-06-26 2007-12-05 腾讯科技(深圳)有限公司 一种中文分词方法及系统
CN103971677A (zh) * 2013-02-01 2014-08-06 腾讯科技(深圳)有限公司 一种声学语言模型训练方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9396723B2 (en) * 2013-02-01 2016-07-19 Tencent Technology (Shenzhen) Company Limited Method and device for acoustic language model training

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082908A (zh) * 2007-06-26 2007-12-05 腾讯科技(深圳)有限公司 一种中文分词方法及系统
CN101079027A (zh) * 2007-06-27 2007-11-28 腾讯科技(深圳)有限公司 一种中文分词方法及系统
CN103971677A (zh) * 2013-02-01 2014-08-06 腾讯科技(深圳)有限公司 一种声学语言模型训练方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于词典和概率统计的中文分词算法研究;何爱元;《中国优秀硕士学位论文全文数据库》;20120115;I138-667 *

Also Published As

Publication number Publication date
CN108197116A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108197116B (zh) 一种中文文本分词的方法、装置、分词设备及存储介质
CN108304375B (zh) 一种信息识别方法及其设备、存储介质、终端
CN105095204B (zh) 同义词的获取方法及装置
US10025819B2 (en) Generating a query statement based on unstructured input
KR20220025026A (ko) 자연어 이해(nlu) 프레임워크를 이용하여 의미 검색을 수행하기 위한 시스템 및 방법
WO2018157789A1 (zh) 一种语音识别的方法、计算机、存储介质以及电子装置
CN109726274B (zh) 问题生成方法、装置及存储介质
CN108681574B (zh) 一种基于文本摘要的非事实类问答答案选择方法及系统
CN110427463A (zh) 搜索语句响应方法、装置及服务器和存储介质
CN111460787A (zh) 一种话题提取方法、装置、终端设备及存储介质
CN112287670A (zh) 文本纠错方法、系统、计算机设备及可读存储介质
CN111444330A (zh) 提取短文本关键词的方法、装置、设备及存储介质
CN110532354B (zh) 内容的检索方法及装置
CN106570180A (zh) 基于人工智能的语音搜索方法及装置
Chien et al. Topic-based hierarchical segmentation
CN111832299A (zh) 一种中文分词系统
CN108874778A (zh) 语义实体关系抽取方法、装置及电子设备
CN111460170B (zh) 一种词语识别方法、装置、终端设备及存储介质
CN109829045A (zh) 一种问答方法和装置
CN113177412A (zh) 基于bert的命名实体识别方法、系统、电子设备及存储介质
JP2011118689A (ja) 検索方法及びシステム
CN113505209A (zh) 一种面向汽车领域的智能问答系统
CN104572619A (zh) 智能机器人交互系统在投融资领域的应用
CN110705285B (zh) 一种政务文本主题词库构建方法、装置、服务器及可读存储介质
RU2013132622A (ru) Система и метод семантического поиска

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
GR01 Patent grant
GR01 Patent grant