CN113836917B - 文本分词处理方法及其装置、设备与介质 - Google Patents
文本分词处理方法及其装置、设备与介质 Download PDFInfo
- Publication number
- CN113836917B CN113836917B CN202111140912.5A CN202111140912A CN113836917B CN 113836917 B CN113836917 B CN 113836917B CN 202111140912 A CN202111140912 A CN 202111140912A CN 113836917 B CN113836917 B CN 113836917B
- Authority
- CN
- China
- Prior art keywords
- word
- character
- text
- segmented
- node
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本申请公开一种文本分词处理方法及其装置、设备与介质,所述方法包括:获取待分词文本,所述待分词文本包括相串接的多个疑似词,所述疑似词由表音字符构成;顺序遍历所述待分词文本中的所有字符,在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,所述词典树状图包括自其根节点出发并分别到达不同末端节点的多条路径,每条路径所经过的节点按序储存单个所述的单词的各个字符;按序输出所述结果列表中的单词作为分词结果。本申请的切词器依照树状图进行分词处理,可在分词过程中处理非正常的重复字符,以忽略待分词文本中冗余的字符,具有较高地准确性,精确地提取出文本蕴含的单词。
Description
技术领域
本申请涉及计算机分词器技术领域,尤其涉及一种文本分词处理方法,此外还涉及该方法相应的装置、设备以及非易失性存储介质。
背景技术
切词,即将文本段落或句子,拆分成若干个单词,在文本有关的“自然语言处理”(NLP)中,是最基础的部分之一,同时也扮演着非常重要的角色。准确快速的获得切词后的结果,有助于保证后续进行NLP的准确率,提高工作效率。
在基于文本本身的格式(如单词间空格)以及标点符号的切分得到若干token后,往往多个单词粘结(如He-Who-Must-Not-Be-Named)和正常单词中间引入了重复的字母(如g-o-o-o-o-o-d)等情况均不会被合理切分或还原成正常单词。由此,在文本正字化处理中,单词没被完全有效切分,会影响其正字化准确性,最终无法获得原始文本该部分单词的准确读音。
为此常用分词方法中一般使用词典列表直接搜索(枚举单词的可能组合处理重复字母情况),先将token所有字母一起作为待搜索单词,若待搜索单词中含重复字母,枚举出所有可能的单词组合,按照单词长度由长到短依次在词典列表中搜索,若所有单词组合均不在列表,则去除最后一个字母后重复上述步骤直至贪心匹配搜索到token蕴含的第一个最长单词,之后提取第一个单词后,将token剩余部分重复上述步骤搜索提取出token里蕴含的所有单词。
该方法存在如下问题:
第一,在元素数量较大的词典列表中直接匹配搜索某个单词,同时,枚举所有可能的单词组合再依次搜索,均效率不高。
第二,从后往前依次遍历,时间复杂度也至少O(n2)量级,随着token的长度不断增加,提取切分单词的时间大幅增长,进而大幅影响整体工作效率。
鉴于各种现有技术均无法满足上述的各种问题,本申请人出于满足该些需求的考虑做出相应的探索。
发明内容
本申请的目的在于满足现有技术的需求或克服现有技术的至少部分不足而提供一种文本分词处理方法及其相应的装置、电子设备、非易失性存储介质。
为实现本申请的目的,采用如下技术方案:
适应本申请的目的之一而提出的一种文本分词处理方法,包括如下步骤:
获取待分词文本,所述待分词文本包括相串接的多个疑似词,所述疑似词由表音字符构成;
顺序遍历所述待分词文本中的所有字符,在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,所述词典树状图包括自其根节点出发并分别到达不同末端节点的多条路径,每条路径所经过的节点按序储存单个所述的单词的各个字符;
按序输出所述结果列表中的单词作为分词结果。
进一步的实施例中,顺序遍历所述待分词文本中的所有字符的步骤中,根据所述待分词文本所包含的表音字符所对应的语种,确定该待分词文本所对应的词典树状图以进行遍历。
进一步的实施例中,顺序遍历所述待分词文本中的所有字符的过程中,包括如下步骤:
从待分词文本的首个字符开始启动所述的遍历,以执行所述的遍历过程;
当在所述遍历过程中待分词文本中的首个疑似词被对应转换为所述词典树状图中相应的单词后,将该疑似词从待分词文本中删除;
以最新的待分词文本继续循环执行所述的遍历过程,直至遍历结束。
进一步的实施例中,在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,包括如下步骤:
对于待分词文本的首字符,在其遍历过程中,从词典树状图的根节点开始搜索匹配该首字符首次出现时所在的当前节点,将当前节点添加至空白的路径导航列表;
对于非首字符,在其遍历过程中,判断所遍历的当前字符与路径导航列表中的最新节点所指向的词典树状图中的上一节点所存储的字符是否相同,若相同,则将当前字符视为所述因连续重复形成的冗余字符而予以忽略,继续待分词文本中下一字符的遍历,若不同,执行后续步骤;
对于非首字符,在其遍历过程中,判断路径导航列表中的最新节点的各个下一节点的字符是否与当前字符相同,若相同,将该下一节点作为最新节点添加到所述导航路径列表中;
在任意遍历过程中,当路径导航列表中的最新节点的下一节点为末端节点,界定待分词文本中自所述首字符至当前字符所构成的字符串为疑似词,获取该末端节点相对应的单词作为该疑似词的候选单词;
根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表。
较佳的实施例中,根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表的步骤,包括如下步骤:
依照所述候选单词中各单词所包含的字符的数量,计算该些单词各自对应的字符得分;
将该些单词中所述字符得分最高的单词作为所述最佳单词,并将其添加至所述结果列表中,以将该单词所对应的疑似词从所述待分词文本中删除。
较佳的实施例中,根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表的步骤,包括如下步骤:
依照所述候选单词中某一单词所包含的字符的数量,初步计算该单词的预测得分;
对比该单词中所有字符与其所对应的疑似词中所有字符的大小写格式;
当双方的首字符的大小写格式不相同时,根据双方首字符的大小写格式的区别情况,扣除该单词的预测得分中相应的分数;
当双方中除了首字符外的字符的存在大小写格式不相同时,扣除该单词的预测得分中的分数;
以此类推,计算出所有候选单词的所述预测得分,将所述预测得分最高的单词作为所述最佳单词,并将其添加至所述结果列表中。
较佳的实施例中,在任意遍历过程中,当路径导航列表中的最新节点的下一节点为末端节点,界定待分词文本中自所述首字符至当前字符所构成的字符串为疑似词,获取该末端节点相对应的单词作为该疑似词的候选单词,包括如下步骤:
当所述下一节点为末端节点,判断待分词文本的当前遍历字符是否与下一字符相同,若相同,则暂停当前遍历,以所述下一字符为首字符进行新的遍历;
当新的遍历过程中可界定出疑似词时,结束原始的待分词文本的遍历,确定出其最佳单词,并将该最佳单词相对应的疑似词从所述原始的待分词文本中删除;
当新的遍历过程中无法界定出疑似词时,回溯原始的待分词文本的遍历,将所述下一字符作为原始的待分词文本的遍历过程中所述冗余字符而予以忽略,继续所述原始的待分词文本中再下一字符的遍历。
适应本申请的目的而提出的一种文本分词处理装置,其包括:
文本获取模块,用于获取待分词文本,所述待分词文本包括相串接的多个疑似词,所述疑似词由表音字符构成;
字符遍历模块,用于顺序遍历所述待分词文本中的所有字符,在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,所述词典树状图包括自其根节点出发并分别到达不同末端节点的多条路径,每条路径所经过的节点按序储存单个所述的单词的各个字符;
结果输出模块,用于按序输出所述结果列表中的单词作为分词结果。
进一步的实施例中,所述的字符遍历模块包括:
遍历启动子模块,用于从待分词文本的首个字符开始启动所述的遍历,以执行所述的遍历过程;
疑似词删除子模块,用于当在所述遍历过程中待分词文本中的首个疑似词被对应转换为所述词典树状图中相应的单词后,将该疑似词从待分词文本中删除;
遍历循环子模块,用于以最新的待分词文本继续循环执行所述的遍历过程,直至遍历结束。
较佳的实施例中,所述的字符遍历模块还包括:
节点添加子模块,用于对于待分词文本的首字符,在其遍历过程中,从词典树状图的根节点开始搜索匹配该首字符首次出现时所在的当前节点,将当前节点添加至空白的路径导航列表;
字符忽略子模块,用于对于非首字符,在其遍历过程中,判断所遍历的当前字符与路径导航列表中的最新节点所指向的词典树状图中的上一节点所存储的字符是否相同,若相同,则将当前字符视为所述因连续重复形成的冗余字符而予以忽略,继续待分词文本中下一字符的遍历,若不同,执行后续步骤;
节点判断子模块,用于对于非首字符,在其遍历过程中,判断路径导航列表中的最新节点的各个下一节点的字符是否与当前字符相同,若相同,将该下一节点作为最新节点添加到所述导航路径列表中;
末端节点处理子模块,用于在任意遍历过程中,当路径导航列表中的最新节点的下一节点为末端节点,界定待分词文本中自所述首字符至当前字符所构成的字符串为疑似词,获取该末端节点相对应的单词作为该疑似词的候选单词;
最佳单词选定子模块,用于根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表。
适应本申请的目的而提出的一种电子设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行所述文本分词处理方法的步骤。
适应本申请的目的而提出的一种非易失性存储介质,其存储有依据所述文本分词处理方法所实现的计算机程序,所述计算机程序被计算机调用运行时,执行其相应的方法所包括的步骤。
相对于现有技术,本申请的优势如下:
本申请提供了一种新型的分词器,该分词器根据词典树状图对待分词文本所包含的所有字符进行遍历分词处理,词典树状图的结构由从跟节点出发的多个路径所构造,该些路径通过路径中各字符节点储存词典中相应的单词,使分词器能够实现以最短路径快速地为待分词文本搜索相应的单词,相比较传统的词典列表储存结构,词典树状图的储存结构不需要枚举所有可能的单词组合依次搜索,仅需要根据图结构,从根节点出发依次遍历待分词文本中所有的字符,即可为文本搜索相对应的单词进行分词处理,提取单词的时间大幅减少,有效地提升了分词器的分词效率。
其次,本申请在根据词典树状图遍历待分词文本的的过程中,将持续判断当前遍历的字符与路径中当前节点的上一节点所指向的字符是否相同,以确定该字符是否为需忽略的待分词文本中因连续重复形成的冗余字符,仅需通过简单的回溯判断处理,即可确定出待分词文本中需忽略的冗余字符继续进行遍历,以将含有冗余字符的单词还原为正常单词,相比传统的枚举组合方式,不需要花费较长地时间,即可高效地确认出冗余字符,有效地提升分词器的整体的分词效率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为实施本申请的技术方案相关的一种典型的网络部署架构示意图;
图2为本申请的文本分词处理方法的典型实施例的流程示意图;
图3为本申请的词典树状图中各路径的局部示意图;
图4为图2中步骤S12的实施例的具体步骤所形成的流程示意图;
图5为图2中步骤S12的另一实施例的具体步骤所形成的流程示意图;
图6为本申请的词典树状图中局部路径的示意图;
图7为图5中步骤S124’的实施例的具体步骤所形成的流程示意图;
图8为图5中步骤S125’的实施例的具体步骤所形成的流程示意图;
图9为图5中步骤S125’的另一实施例的具体步骤所形成的流程示意图;
图10为本申请的文本分词处理装置的典型实施例的原理框图;
图11为本申请一个实施例的计算机设备的基本结构框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
请参阅图1,本申请相关技术方案实施时所需的硬件基础可按图中所示的架构进行部署。本申请所称服务器80部署在云端,作为一个业务服务器,其可以负责进一步连接起相关数据服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备例如图中所示的智能手机81和个人计算机82或者第三方服务器(未图示)提供服务。所述的智能手机和个人计算机均可通过公知的网络接入方式接入互联网,与云端的服务器80建立数据通信链路,以便运行所述服务器所提供的服务相关的终端应用程序。
对于服务器而言,所述的应用程序通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序(分词器)进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
所述的应用程序(分词器),是指运行于服务器或终端设备上的应用程序,这一应用程序采用编程的方式实现了本申请的相关技术方案,其程序代码可被以计算机可执行指令的形式保存于计算机能识别的非易失性存储介质中,并被中央处理器调入内存中运行,通过该应用程序在计算机的运行而构造出本申请的相关装置。
对于服务器而言,所述的应用程序(分词器)通常会被构建为服务进程,开放相应的程序接口,供各种终端设备上运行的应用程序(分词器)进行远程调用,本申请中适于运行于服务器的相关技术方案,便可以此种方式实现于服务器中。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
请参阅图2,本申请的一种文本分词处理方法,在其典型实施例中,其包括如下步骤:
步骤S11,获取待分词文本,所述待分词文本包括相串接的多个疑似词,所述疑似词由表音字符构成:
分词器获取搜索待分词文本,该待分词文本包括相互串接的多个所述疑似词,该些疑似词由表音字符构成。
所述疑似词一般由多个阿拉伯语系等表音字符构成,例如,英文语系字符、日语假名语系字符或法语语系字符等,所述待分词文本中包括相互串接的多个所述疑似词构成,其一般为使用所述分词器的用户推送,以便分词器为其所推送的所述待分词文本进行分词处理。
分词器接收所述待分词文本后,将拆分该待分词文本,以对该待分词文本进行预处理,获取该待分词文本中各疑似词包含的所有表音字符,且该些表音字符符合其所属的待分词文本中原文本中各表音字符的排序,以便分词器逐音符且按序地遍历所述待分词文本中所有表音字符,精确地识别该待分词文本中各所述疑似词所对应所的单词进行输出,完成该待分词文本的分词处理。
进一步的,分词器在拆分待分词文本时,通过去除该待分词文本中空格及非英文等的特殊字符以获取其所包含的各疑似词中包含的所有表音字符,防止因待分词文本中空格及非英文等的特殊字符未去除,而导致分词器因对空格及非英文等的特殊字符进行遍历,造成分词器出现错误而无法有效地遍历其遍历目标(表音字符),无法识别出所述待分词文本中各疑似词所对应的单词。
所述的疑似词一般是指所述待分词文本中具有因连续重复形成的冗余字符的文本,一般由于输入方的失误而造成待分词文本中包含所述冗余字符,所述分词器通过识别待分词文本中的疑似词所包含表音字符,判断该些表音字符中是否存在所述冗余字符,在存在的情况下,分词器将忽略冗余字符进行字符遍历,确定该疑似词所对应的单词;关于分词器如何识别并忽略待分词文本中所包含的所述冗余字符的具体实施方式,请参考后续步骤S12中相关的实施例,本步骤恕不赘述。
具体的,当所述待分词文本为[inn the broad daylight]是,该待分词文本中的疑似词分别为[inn、the、broad、daylight],分词器对该待分词文本进行预处理,所获取的表音字符分别为[i、n、n、t、h、e、b、r、o、a、d、d、a、y、l、i、g、h、t]。
步骤S12,顺序遍历所述待分词文本中的所有字符,在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,所述词典树状图包括自其根节点出发并分别到达不同末端节点的多条路径,每条路径所经过的节点按序储存单个所述的单词的各个字符:
分词器获取所述待分词文本中所包含的所有字符后,将按照该些字符在所述待分词文本中的排序,按序遍历各个所述字符,在其遍历过程中,忽略该些字符中因连续重复形成的所述冗余字符,将由一个或多个冗余字符所组成的疑似词转换为所述词典树状图中的单词,并将该单词添加至所述结果列表中,以便后续输出。
分词器在对所述待分词文本中所包含的所有字符进行遍历前,将识别该些字符所对应的语种,例如,如上所述,该语种一般是指阿拉伯语系的语种,如英文、日文或法文等,以确定该些字符所对应的所述词典树状图进行遍历。
所述的词典树状图由多条路径构成,该些路径自树状图的顶点出发并分别到达各自所对应的末端节点,且各条路径所经过的节点按序储存单个树状图所包含的单词的各个字符,以便各路径储存各自对应的单词,用于实施所述待分词文本中所有的字符进行遍历。
分词器中一般具有多个不同阿拉伯语系的语种类型的所述词典树状图,例如,英语的词典树状图、日语的词典树状图或法语的词典树状图,各所述词典树状图具有表征其语种的标识,以便分词器为所述待分词文本匹配相应的的所述词典树状图进行字符遍历,识别该待分词文本中各疑似词所对应的语系的单词。
具体的,请参考图3,图3为所述词典树状图的示意图,所述词典树状图从根节点301出发至并分别到达各自所对应的末端节点组成用于储存各单词的路径,如图所示,该词典树状图用于储存英文语系词典(牛津词典)的单词,根节点301下的节点一般为单词的首字符,如图所示的a、b、c、d至z节点的英文语系中的所有字符,该些节点作为树状图的储存的所有单词的首字符,并组成相应的路径,用于储存首字符与其对应的所有单词,如c节点302,其储存所有首字符为c的单词,图中仅展示两个首字符为c的单词以做示例,如末端节点304所对应的路径,其从根节点301出发,经过c节点302、a节点303直至末端节点304,其最终形成的路径用于储存的单词为can。
c节点302所包含的路径中,a节点303具有分叉路径,其可如上所述对应末端节点304组成储存单词为can的路径,或对应末端节点305组成储存单词为cave的路径,当然,实际应用场景中,其将包含多条分叉路径,且其下一层级中的节点,如e节点306一般也具有多条分词路径,以储存与其相对应的单词。
具体的,所述词典树状图中的各节点具有各自所属的节点数据信息,所属节点数据信息中一般包含表征自身唯一性序号的序号信息、表征节点字符的字符信息、表征自身所拥有的下一节点的下一节点信息、表征自身上一节点的上一节点信息以及表征自身累计字母排序的字母排序信息,如图9中的a节点303所示,其所述节点数据信息中的字符信息一般为303或等唯一性序号,字符信息为a、其下一节点信息中包含v节点、b节点,其上一节点信息为c节点,其字符排序信息为ca,当然,在实际应用场景中其所述下一节点信息中包含的节点不仅如上所述的b节点及n节点,还可包含t节点等其他可组成储存相对应单词所组成的路径的节点,以便所述词典树状图储存相对应语系中所有单词。
关于分词器遍历所述待分词文本的实施过程,分词器根据先确定其遍历的该待分词文本中首字符,确定其所对应的首字符节点(即如图9的树状图中根节点的下一节点),在该首字符节点的下一节点对该首字符的下一字符开始对所述首字符的下一节点进行遍历。
在所述待分词文本的遍历过程中,当分词器从其根据该待分词文本中首字符所确定的首字符节点作为下的路径开始遍历,通过确定该节点的所述节点数据中的下一节点信息,确定该节点在所述词典树状图中的所对应的所有下一节点,判断该些下一节点所指向的字符中与所述首字符的下一字符匹配的节点,若匹配,则将相匹配的节点进行缓存,继续进行遍历,若不匹配,则先暂停以所述首字符开始的遍历,将从该下一字符作开始遍历,判断该遍历过程中是否在所述词典树状图中可查询相应的单词,若是,则忽略所述首字符,继续按序遍历所述待分词文本中其他字符,若否,则忽略所述下一字符,继续所述首字符的遍历。
具体的,分词器当前在所述待分词文本中遍历的字符为c时,以图9所示的词典树状图为根据,其确定根节点的下一节点为c节点302,当c字符的一下字符为a时,分词器当前确定的节点为a节点303,以此类推,若所述c字符所对应的疑似词中的字符包含c、a、n时,分词器在所述词典树状图中为该疑似词所确定的单词为末端节点304所对应的路径中所有存在的所有节点所对应的字符,即c节点、a节点、n节点所对应的字符,组成can的单词,将该单词储存至所述结果列表中,并该疑似词从所述待分词文本中删除,继续完成删除处理的待分词文本中首个字符的遍历,以此类推,直至将该待分词文本中所有疑似词转换为所述词典树状图中的单词,并将该些单词储存至所述结果列表中,以便后续的输出。
关于分词器在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符的实施方式,对于非首字符,在其遍历过程中,分词器判断所遍历的当前字符与当前节点的所述节点数据信息中的上一节点信息所指向上一节点所存储的字符是否相同,若相同,则将当前字符视为所述因连续重复形成的冗余字符而予以忽略,继续待分词文本中下一字符的遍历,若不同,则判断当前节点的所述节点数据信息中的下一节点信息中所指向的所有下一节点的字符是否与当前字符相同,若相同,将该下一节点作为最新节点继续进行遍历。
在分词器的遍历过程,在所述词典树状图中的当前节点的下一节点信息所指向的节点为所述末端节点时,获取该末端节点的节点数据信息中的字符排序信息中包含的字符,并将该些字符按其排序组成为当前遍历过程中所对应的疑似词的所述单词添加至所述结果列表中,并将该疑似词从所述待分词文本中删除,分词器以该待分词文本最新的所包含的字符按序执行遍历,以此类推,直至该待分词文本的遍历结束,确定出原始待分词文本中包含的所有疑似词相对应的单词添加至所述结果列表中。
请参考图4,关于分词器根据所述词典树状图,按序遍历所述待分词文本中各字符的遍历的实施方式,其具体步骤如下:
步骤S121,从待分词文本的首个字符开始启动所述的遍历,以执行所述的遍历过程:
分词器从所述待分词文本的首个字符开始启动所述的遍历,确定该首个字符在所述词典树状图中的根节点的多个下一节点中相对应的节点,从该节点开始,判断该节点的所有下一节点中是否存在与所述首个字符的下一字符相对应的节点,若存在,则继续执行如上的遍历,若不存在,则暂停所述首个字符的遍历,并以该下一字符进行新的遍历,判断新的遍历过程该下一字符所对应的疑似词是否可转换为所述词典树状图中相应的单词,若是,则忽略所述首个字符,并将所述疑似词从待分词文本中删除,且以进行删除处理后的待分词文本中首个字符进行新的遍历,若否,则继续上一首个字符的遍历过程,并将该下一字符忽略,以此类推,执行该待分词文本中各节点的分词遍历。
关于分词器确定并忽略所述待分词文本的所述疑似词中所述冗余字符的实施方式,请参考上述叙述中的相关实施例,或者参考步骤S122’中的相关实施例,本步骤恕不赘述。
步骤S122,当在所述遍历过程中待分词文本中的首个疑似词被对应转换为所述词典树状图中相应的单词后,将该疑似词从待分词文本中删除:
分词器在所述待分词文本中的首个字符的遍历过程中,当其在所述词典树状图中所确定的前最新的节点的下一节点为末端节点时,确定该末端节点所对应的路径中所有节点,将按照该些节点在路径中的排序,将该些节点各所对应的字符组成该首个字符所对应的疑似词的单词,并将该单词添加至所述结果列表中,且将该疑似词从待分词文本中删除。
一种实施例中,在分词器进行所述遍历过程中当前节点的下一节点为末端节点时,将该末端节点添加至候选单词中,并判断当前节点的多个下一节点是否存在与该遍历过程中下一字符相匹配的节点,若存在,则继续该遍历过程,确定一个或多个单词,并使用贪婪算法,将该些单词中字符数最多的单词储存至所述结果列表中,将该单词所对应的疑似词从所述待分词文本中删除。
步骤S123,以最新的待分词文本继续循环执行所述的遍历过程,直至遍历结束:
分词器以完成所述疑似词删除处理的所述待分词文本最新的所包含的字符继续执行遍历,以此类推,直至该待分词文本的遍历结束,确定出原始待分词文本中包含的所有疑似词相对应的单词添加至所述结果列表中。
请参考图5及6,关于分词器依照所述词典树状图,对所述待分词文本中各字符进行遍历的过程,及在该遍历过程中缓存所述待分词文本中冗余字符的实施方式,其具体实施步骤如下:
步骤S121’,对于待分词文本的首字符,在其遍历过程中,从词典树状图的根节点开始搜索匹配该首字符首次出现时所在的当前节点,将当前节点添加至空白的路径导航列表:
分词器从所述待分词文本的首字符开始启动所述的遍历,确定该首字符在所述词典树状图中搜索匹配根节点的多个下一节点中与该首字符相对应的节点,并将该节添加至空白的搜索路径导航列表中。
所述的路径导航列表用于储存分词器遍历过程中所在词典树状图中所确定的节点,分词器在遍历过程中,需要将所述词典树状图中与当前字符想匹配的节点进行缓存,以便其为后续字符匹配所述词典树状图中相对应的节点时,从该节点所包含的所有下一节点中进行搜索,分词器通过将其所匹配节点储存至所述路径导航列表中,在遍历过程中,从该路径导航列表中最新储存的最新节点开始,从该节点所包含的所有下一节点中为当前需要进行节点匹配的字符匹配相对应的节点。
当分词器为当前遍历的疑似词确定所述词典树状图中的某一单词作为其最佳单词时,将清空所述路径导航列表中储存的所有节点,以便其开始遍历完成所述疑似词删除处理的待分词文本中首字符,保证所述路径导航列表为空白状态,防止其储存的节点影响此次遍历,例如将该列表中储存的最新节点作为根节点进行遍历等情况出现,且在新的遍历过程中清空所述路径导航列表可释放设备的存储空间,有利于提升当前遍历的效率。
步骤S122’,对于非首字符,在其遍历过程中,判断所遍历的当前字符与路径导航列表中的最新节点所指向的词典树状图中的上一节点所存储的字符是否相同,若相同,则将当前字符视为所述因连续重复形成的冗余字符而予以忽略,继续待分词文本中下一字符的遍历,若不同,执行后续步骤:
分词器在遍历过程中,当遍历字符不为首字符时,将先判断该字符是否为所述冗余字符,分词器确定所述路径导航列表中最新节点在所述词典树状图中其上一节点所储存的字符,即确定该最新节点的所述节点数据信息中上一节点信息所指向的节点的字符,判断该字符是否与当前字符相同,若相同,则分词器将当前字符视为所述因连续重复形成的冗余字符,以忽略当前字符继续当前待分词文本中当前字符的下一字符遍历,若不同,则执行步骤S123’,判断所述最新节点的各个下一节点的字符是否与当前字符相同。
请参考图6,图6为所述词典树状图的局部的示意图,当分词器当前遍历的字符为o时,且所述路径导航列表中储存的最新节点为图6中的o节点602时,分词器确定该o节点602的上一节点为o节点601,o节点601所储存的字符为o,其与当前字符o相同,分词器将当前字符o作为所述冗余字符进行忽略,并以最新节点(o节点602)继续待分词文本中当前字符(当前字符o)的下一字符进行遍历。可以理解,当待分词文本中的疑似词为goood时,分词器在进行分词时需要将多余的o字符忽略,以将该疑似词转换为good单词,通过上述的实施方式,即可完成将o字符忽略继续进行该疑似词的遍历,分词器根据上述执行逻辑进行冗余字符忽略的实施方式,可精确地将疑似词转换为符合词典规范的单词,提升分词器分词处理的准确性。
步骤S123’,对于非首字符,在其遍历过程中,判断路径导航列表中的最新节点的各个下一节点的字符是否与当前字符相同,若相同,将该下一节点作为最新节点添加到所述导航路径列表中:
分词器根据上述的步骤确定当前字符不为所述冗余字符后,将确定所述最新节点所包含的各个下一节点,判断该些节点各自所对应的字符是否与当前字符相同,若相同,将与当前字符相对应的字符所对应的节点添加至所述导航路径列表中,若不相同,则暂停当前遍历,并以当前字符作为首字符进行新的遍历,判断该遍历中是否可从所述词典树状图中确定相应的单词,若是,则取消当前遍历(即上一遍历),并将当前遍历中的所涉及的字符从待分词文本中删除,并开始以当前字符作为首字符进行新的遍历的下一遍历,若否,则忽略当前字符,继续当前遍历。
步骤S124’,在任意遍历过程中,当路径导航列表中的最新节点的下一节点为末端节点,界定待分词文本中自所述首字符至当前字符所构成的字符串为疑似词,获取该末端节点相对应的单词作为该疑似词的候选单词:
分词器在任意遍历过程中,当所述路径导航列表中的最新节点的下一节点为末端节点时,将界定当前遍历中首字符(即开始遍历的字符)至当前字符所构成的字符串为当前待分词文本中的疑似词,并获取将该末端节点的路径中所有的节点各自所对应的字符组成该疑似词的所述候选单词,且判断最新节点是否存在其他下一节点,若不存在,则停止当前遍历,若存在,则判断该些下一节点中是否存在与当前字符的下一字符相对应的节点,若存在,则继续遍历,若不存在,则停止当前遍历。
请参考图7,分词器在当前遍历过程中,在确定下一节点为末端节点后,确定相对应的疑似词的单词后,当当前字符的下一字符与所述路径导航列表中最新节点所对应的字符相同时,将执行如下步骤,防止仅将所述下一字符作为所述冗余字符进行忽略,影响后续的下一疑似词的单词转换:
步骤S1241’,当所述下一节点为末端节点,判断待分词文本的当前遍历字符是否与下一字符相同,若相同,则暂停当前遍历,以所述下一字符为首字符进行新的遍历:
分词器在任意遍历过程中,当所述路径导航列表中最新节点的下一节点为末端节点时,判断待分词文本中当前遍历字符是否与下一字符相同,若相同,则以下一字符为首字符继续新的遍历,具体的,分词器通过通过判断所述下一字符是否与所述路径导航列表中最新节点所对应的字符相同,若相同,则进行所述新的遍历,若不相同,则继续进行当前遍历。
步骤S1242’,当新的遍历过程中可界定出疑似词时,结束原始的待分词文本的遍历,确定出其最佳单词,并将该最佳单词相对应的疑似词从所述原始的待分词文本中删除:
判断以所述下一字符开始的新的遍历过程中是否可界定出所述待分词文本中的疑似词,即分词器在新的遍历过程中是否可在所述词典树状图中确定出相对应的单词,若可确定出对应的单词,则结束原始的待分词文本的遍历(步骤S1241’中所述的当前遍历),并使用预设算法确定出该遍历中出最佳单词,且将该最佳单词所对应疑似词从所述待分词文本中删除。
步骤S1243’,当新的遍历过程中无法界定出疑似词时,回溯原始的待分词文本的遍历,将所述下一字符作为原始的待分词文本的遍历过程中所述冗余字符而予以忽略,继续所述原始的待分词文本中再下一字符的遍历:
如上所述,若分词器在新的遍历过程中无法在所述词典树状图中确定出相对应的单词,则回溯原始的待分词文本的遍历(步骤S1241’中所述的当前遍历),将所述下一字符作为该遍历过程中的所述任意字符而予以忽略,并继续执行该遍历。
步骤S125’,根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表:
当分词器在任意遍历过程中,所述路径导航列表中最新节点的所有下一节点各自所对应的字符中不存在与当前字符相对应的字符时,则结束该遍历,并根据预设算法,确定该遍历过程中所确定的多个候选单词中的最佳单词,并将该最佳单词添加至所述结果列表中。
所述的预设算法一般是指贪婪算法,即将多个所述候选单词中含字符数最多的单词作为所述最佳单词。
请参考图8,关于根据所述贪婪算法从所述候选单词中确定所述最佳单词的实施方式,其具体实施步骤如下:
步骤S1251’,依照所述候选单词中各单词所包含的字符的数量,计算该些单词各自对应的字符得分:
分词器确定当前遍历中所确定的各所述候选单词各自所包含的字符的数量,计算该些候选单词各自对应的所述字符得分。例如,当所述候选单词为[inter、internet]时,候选单词inter的所述字符得分一般为5、相应的候选单词internet的所述字符得分为8,当然,本领域技术人员可灵活设计所述字符得分的计算方式,仅需遵循字符数量更多的候选单词的所述字符得分更高即可。
步骤S1252’,将该些单词中所述字符得分最高的单词作为所述最佳单词,并将其添加至所述结果列表中,以将该单词所对应的疑似词从所述待分词文本中删除:
分词器将其确定当前遍历中所确定的各所述候选单词各自所对应的所述字符得分,将该些候选单词中字符得分最高的候选单词确定为所述最佳单词,并将该最佳单词填充至所述结果列表中,且将该最佳单词所对应的疑似词从所述待分词文本中删除,以进行下一疑似词的遍历。
请参考图9,在根据贪婪算法确定所述最佳单词的基础上,还可结合其他算法,根据候选单词与疑似词之间各字符的大小写格式确定所述最佳单词,以识别输入方输入待分词文本时其根据大小写格式分隔其输入的疑似词,提升分词的精确性,该实施例的具体实施步骤如下:
步骤S1251”,依照所述候选单词中某一单词所包含的字符的数量,初步计算该单词的预测得分:
分词器确定当前遍历中所确定的各所述候选单词各自所包含的字符的数量,初步计算该些候选单词各自对应的所述预测得分,该步骤如前文的贪婪算法,但仅作为初步计算方式,即在贪婪算法的基础上结合后续步骤的算法,确定该些候选单词中的所述最佳单词。
步骤S1252”,对比该单词中所有字符与其所对应的疑似词中所有字符的大小写格式:
以一个候选单词为例,分词器对比该候选单词与其在待分词文本中相对应的疑似词中所有字符的大小写格式,因疑似词可能存在所述冗余字符,分词器在进行对比时,将忽略所述疑似词中的所述冗余字符,以便所述候选单词可与该疑似词进行对位对比,对比各字符对应的大小写格式。
例如,当所述候选单词为‘about’,所述疑似词为‘Aboout’时,因分词器在前已确定该疑似词中的冗余字符,该冗余字符即为疑似词中的o字符,分词器先将该冗余字符从所述疑似词中删除,再对位对比所述候选单词与该疑似单词中的所包含的所有字符的大小写格式。
步骤S1253”,当双方的首字符的大小写格式不相同时,根据双方首字符的大小写格式的区别情况,扣除该单词的预测得分中相应的分数:
当所述候选单词与所述疑似词中的首字符的大小写格式不相同时,分词器根据双方首字符的大小写格式的区别情况,扣除该候选单词的所述候选得分中相应的分词。
具体的,双方首字符的大小写格式的区别情况包括候选单词的首字符为大写格式,而疑似词的首字符为小写格式,以及候选单词的首字符为小写格式,而疑似词的首字符为大写格式,相对应,若为第一种区别情况,所述候选单词的预测分数中扣除的分数将大于第二种区别情况所扣除的分数,因输入方输入一般会将首字符输入为大写格式,以分割待分词文本中的各疑似词,因此,第二种区别情况所扣除的分数将小于第一种情况。
步骤S1254”,当双方中除了首字符外的字符的存在大小写格式不相同时,扣除该单词的预测得分中的分数:
当所述候选单词与所述疑似词中存在除了首字符外的字符的大小写格式不相同时,将扣除该单词的因此得分中的分数,所扣除的分数一般大于上述步骤S1253”中的首字符大小写格式存在区别的所扣除的分数,因输入方以大写格式分割待分词文本中的各疑似词,若为非首字符外的字符存在大小写格式的区别,则表征分词器所确定的疑似词一般不符合输入方的分词意愿,例如,当输入方输入的待分词文本为[He Who],相对应的候选单词为hew时,双方的w字符的大小写格式不相同,若不做此步骤的计算,且该步骤的计算所扣除的分数大于首字符大小写格式存在区别的所扣除的分数,易将该待分词文本分词为[hewho]。
步骤S1255”,以此类推,计算出所有候选单词的所述预测得分,将所述预测得分最高的单词作为所述最佳单词,并将其添加至所述结果列表中:
依照上述的步骤,以此类推,依次计算出任意遍历中所选取的所有候选单词中的所述预测分数,以将该些候选单词中预测分词最高的候选单词确定为所述最佳单词,并将该最佳单词填充至所述结果列表中,且将该最佳单词所对应的疑似词从所述待分词文本中删除,以进行下一疑似词的遍历。
步骤S13,按序输出所述结果列表中的单词作为分词结果:
分词器完成所述待分词文本中所有字符在所述词典树状图中的遍历后,即界定该待分词文本中的所有疑似词及相对应的单词后,将根据该些单词在所述结果列表储存位置,按序输出该些单词,作为分词器对所述待分词文本的分词处理的所述分词结果。
一种实施例中,若所述待分词文本为输入方所递交的,分词器完成该待分词文本的分词处理后,将按序输出该待分词文本相对应的所述结果列表中的单词至输入方的图形用户界面中进行显示。
进一步,可以通过将上述各实施例所揭示的方法中的各个步骤进行功能化,构造出本申请的一种文本分词处理装置,按照这一思路,请参阅图10,其中的一个典型实施例中,该装置包括:文本获取模块11、字符遍历模块12以及结果输出模块13,其中,文本获取模块11,用于获取待分词文本,所述待分词文本包括相串接的多个疑似词,所述疑似词由表音字符构成;字符遍历模块12,用于顺序遍历所述待分词文本中的所有字符,在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,所述词典树状图包括自其根节点出发并分别到达不同末端节点的多条路径,每条路径所经过的节点按序储存单个所述的单词的各个字符;结果输出模块13,用于按序输出所述结果列表中的单词作为分词结果。
一种实施例中,所述的字符遍历模块12包括:遍历启动子模块,用于从待分词文本的首个字符开始启动所述的遍历,以执行所述的遍历过程;疑似词删除子模块,用于当在所述遍历过程中待分词文本中的首个疑似词被对应转换为所述词典树状图中相应的单词后,将该疑似词从待分词文本中删除;遍历循环子模块,用于以最新的待分词文本继续循环执行所述的遍历过程,直至遍历结束。
另一种实施例中,所述的字符遍历模块12还包括:节点添加子模块,用于对于待分词文本的首字符,在其遍历过程中,从词典树状图的根节点开始搜索匹配该首字符首次出现时所在的当前节点,将当前节点添加至空白的路径导航列表;字符忽略子模块,用于对于非首字符,在其遍历过程中,判断所遍历的当前字符与路径导航列表中的最新节点所指向的词典树状图中的上一节点所存储的字符是否相同,若相同,则将当前字符视为所述因连续重复形成的冗余字符而予以忽略,继续待分词文本中下一字符的遍历,若不同,执行后续步骤;节点判断子模块,用于对于非首字符,在其遍历过程中,判断路径导航列表中的最新节点的各个下一节点的字符是否与当前字符相同,若相同,将该下一节点作为最新节点添加到所述导航路径列表中;末端节点处理子模块,用于在任意遍历过程中,当路径导航列表中的最新节点的下一节点为末端节点,界定待分词文本中自所述首字符至当前字符所构成的字符串为疑似词,获取该末端节点相对应的单词作为该疑似词的候选单词;最佳单词选定子模块,用于根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表。
为解决上述技术问题,本申请实施例还提供一种计算机设备,用于运行根据所述文本分词处理方法所实现的计算机程序。具体请参阅图11,图11为本实施例计算机设备基本结构框图。
如图11所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种文本分词处理方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种文本分词处理方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行本发明的文本分词处理装置中的各个模块/子模块的具体功能,存储器存储有执行上述模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有文本分词处理装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种非易失性存储介质,所述的文本分词处理方法被编写成计算机程序,以计算机可读指令的形式存储于该存储介质中,计算机可读指令被一个或多个处理器执行时,意味着该程序在计算机中的运行,由此使得一个或多个处理器执行上述任一实施例文本分词处理方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请提供了一种新型的分词器,该分词器根据词典树状图对待分词文本所包含的所有字符进行遍历分词处理,词典树状图的结构由从跟节点出发的多个路径所构造,该些路径通过路径中各字符节点储存词典中相应的单词,使分词器能够实现以最短路径快速地为待分词文本搜索相应的单词,相比较传统的词典列表储存结构,词典树状图的储存结构不需要枚举所有可能的单词组合依次搜索,仅需要根据图结构,从根节点出发依次遍历待分词文本中所有的字符,即可为文本搜索相对应的单词进行分词处理,提取单词的时间大幅减少,有效地提升了分词器的分词效率。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种文本分词处理方法,其特征在于,包括如下步骤:
获取待分词文本,所述待分词文本包括相串接的多个疑似词,所述疑似词由表音字符构成;
顺序遍历所述待分词文本中的所有字符,在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,所述词典树状图包括自其根节点出发并分别到达不同末端节点的多条路径,每条路径所经过的节点按序储存单个所述的单词的各个字符;
按序输出所述结果列表中的单词作为分词结果;
所述在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,包括如下步骤:
对于待分词文本的首字符,在其遍历过程中,从词典树状图的根节点开始搜索匹配该首字符首次出现时所在的当前节点,将当前节点添加至空白的路径导航列表;
对于非首字符,在其遍历过程中,判断所遍历的当前字符与路径导航列表中的最新节点所指向的词典树状图中的上一节点所存储的字符是否相同,若相同,则将当前字符视为所述因连续重复形成的冗余字符而予以忽略,继续待分词文本中下一字符的遍历,若不同,执行后续步骤;
对于非首字符,在其遍历过程中,判断路径导航列表中的最新节点的各个下一节点的字符是否与当前字符相同,若相同,将该下一节点作为最新节点添加到所述路径导航列表中;
在任意遍历过程中,当路径导航列表中的最新节点的下一节点为末端节点,界定待分词文本中自所述首字符至当前字符所构成的字符串为疑似词,获取该末端节点相对应的单词作为该疑似词的候选单词;
根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表。
2.根据权利要求1所述的方法,其特征在于,顺序遍历所述待分词文本中的所有字符的步骤中,根据所述待分词文本所包含的表音字符所对应的语种,确定该待分词文本所对应的词典树状图以进行遍历。
3.根据权利要求1所述的方法,其特征在于,顺序遍历所述待分词文本中的所有字符的过程中,包括如下步骤:
从待分词文本的首个字符开始启动所述的遍历,以执行所述的遍历过程;
当在所述遍历过程中待分词文本中的首个疑似词被对应转换为所述词典树状图中相应的单词后,将该疑似词从待分词文本中删除;
以最新的待分词文本继续循环执行所述的遍历过程,直至遍历结束。
4.根据权利要求1所述的方法,其特征在于,在任意遍历过程中,当路径导航列表中的最新节点的下一节点为末端节点,界定待分词文本中自所述首字符至当前字符所构成的字符串为疑似词,获取该末端节点相对应的单词作为该疑似词的候选单词,包括如下步骤:
当所述下一节点为末端节点,判断待分词文本的当前遍历字符是否与下一字符相同,若相同,则暂停当前遍历,以所述下一字符为首字符进行新的遍历;
当新的遍历过程中可界定出疑似词时,结束原始的待分词文本的遍历,确定出其最佳单词,并将该最佳单词相对应的疑似词从所述原始的待分词文本中删除;
当新的遍历过程中无法界定出疑似词时,回溯原始的待分词文本的遍历,将所述下一字符作为原始的待分词文本的遍历过程中所述冗余字符而予以忽略,继续所述原始的待分词文本中再下一字符的遍历。
5.根据权利要求1所述的方法,其特征在于,根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表的步骤,包括如下步骤:
依照所述候选单词中各单词所包含的字符的数量,计算各单词各自对应的字符得分;
将各单词中所述字符得分最高的单词作为所述最佳单词,并将其添加至所述结果列表中,以将该单词所对应的疑似词从所述待分词文本中删除。
6.根据权利要求1所述的方法,其特征在于,根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表的步骤,包括如下步骤:
依照所述候选单词中某一单词所包含的字符的数量,初步计算该单词的预测得分;
对比该单词中所有字符与其所对应的疑似词中所有字符的大小写格式;
当双方的首字符的大小写格式不相同时,根据双方首字符的大小写格式的区别情况,扣除该单词的预测得分中相应的分数;
当双方中除了首字符外的字符的存在大小写格式不相同时,扣除该单词的预测得分中的分数;
以此类推,计算出所有候选单词的所述预测得分,将所述预测得分最高的单词作为所述最佳单词,并将其添加至所述结果列表中。
7.一种文本分词处理装置,其特征在于,其包括:
文本获取模块,用于获取待分词文本,所述待分词文本包括相串接的多个疑似词,所述疑似词由表音字符构成;
字符遍历模块,用于顺序遍历所述待分词文本中的所有字符,在遍历过程中,忽略所述疑似词中因连续重复形成的冗余字符,将其转换为词典树状图中的单词顺序添加至结果列表中,所述词典树状图包括自其根节点出发并分别到达不同末端节点的多条路径,每条路径所经过的节点按序储存单个所述的单词的各个字符;
结果输出模块,用于按序输出所述结果列表中的单词作为分词结果;
所述字符遍历模块,包括:
节点添加子模块,用于对于待分词文本的首字符,在其遍历过程中,从词典树状图的根节点开始搜索匹配该首字符首次出现时所在的当前节点,将当前节点添加至空白的路径导航列表;
字符忽略子模块,用于对于非首字符,在其遍历过程中,判断所遍历的当前字符与路径导航列表中的最新节点所指向的词典树状图中的上一节点所存储的字符是否相同,若相同,则将当前字符视为所述因连续重复形成的冗余字符而予以忽略,继续待分词文本中下一字符的遍历,若不同,运行后续子模块;
节点判断子模块,用于对于非首字符,在其遍历过程中,判断路径导航列表中的最新节点的各个下一节点的字符是否与当前字符相同,若相同,将该下一节点作为最新节点添加到所述路径导航列表中;
末端节点处理子模块,用于在任意遍历过程中,当路径导航列表中的最新节点的下一节点为末端节点,界定待分词文本中自所述首字符至当前字符所构成的字符串为疑似词,获取该末端节点相对应的单词作为该疑似词的候选单词;
最佳单词选定子模块,用于根据预设算法从所述候选单词中确定最佳单词,将最佳单词添加至结果列表。
8.一种电子设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至6中任一项所述的方法的步骤。
9.一种非易失性存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至6中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111140912.5A CN113836917B (zh) | 2021-09-28 | 2021-09-28 | 文本分词处理方法及其装置、设备与介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111140912.5A CN113836917B (zh) | 2021-09-28 | 2021-09-28 | 文本分词处理方法及其装置、设备与介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113836917A CN113836917A (zh) | 2021-12-24 |
CN113836917B true CN113836917B (zh) | 2023-07-18 |
Family
ID=78970828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111140912.5A Active CN113836917B (zh) | 2021-09-28 | 2021-09-28 | 文本分词处理方法及其装置、设备与介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836917B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117422061B (zh) * | 2023-12-19 | 2024-03-08 | 中南大学 | 一种文本词项多重分割结果合并标注方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147433A (zh) * | 2019-05-21 | 2019-08-20 | 北京鸿联九五信息产业有限公司 | 一种基于字典树的文本模板提取方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100476800C (zh) * | 2007-06-22 | 2009-04-08 | 腾讯科技(深圳)有限公司 | 一种切分索引分词的方法及系统 |
US8131758B2 (en) * | 2007-12-26 | 2012-03-06 | Novell, Inc. | Techniques for recognizing multiple patterns within a string |
CN104915327B (zh) * | 2014-03-14 | 2019-01-29 | 腾讯科技(深圳)有限公司 | 一种文本信息的处理方法及装置 |
CN109918665B (zh) * | 2019-03-05 | 2021-11-02 | 湖北亿咖通科技有限公司 | 文本的分词方法、装置和电子设备 |
-
2021
- 2021-09-28 CN CN202111140912.5A patent/CN113836917B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147433A (zh) * | 2019-05-21 | 2019-08-20 | 北京鸿联九五信息产业有限公司 | 一种基于字典树的文本模板提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113836917A (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10629193B2 (en) | Advancing word-based speech recognition processing | |
US10229111B1 (en) | Sentence compression using recurrent neural networks | |
US11907671B2 (en) | Role labeling method, electronic device and storage medium | |
CN112036162B (zh) | 文本纠错的适配方法、装置、电子设备及存储介质 | |
US20210193121A1 (en) | Speech recognition method, apparatus, and device, and storage medium | |
JPWO2008016102A1 (ja) | 類似度計算装置及び情報検索装置 | |
US20110320464A1 (en) | Retrieval device | |
WO2022121251A1 (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
JP2020087353A (ja) | 要約文生成方法、要約文生成プログラム及び要約文生成装置 | |
CN112347767B (zh) | 一种文本处理方法、装置及设备 | |
US20140025616A1 (en) | String predictions from buffer | |
KR102521586B1 (ko) | 텍스트 핵심정보 추출방법, 장치, 전자기기 및 기록매체 | |
CN111831785A (zh) | 敏感词检测方法、装置、计算机设备及存储介质 | |
CN105161095A (zh) | 语音识别语法树的构图方法及装置 | |
CN113836917B (zh) | 文本分词处理方法及其装置、设备与介质 | |
US10796090B2 (en) | Quick language detection with language neutral functionality | |
JP2000298667A (ja) | 構文情報による漢字変換装置 | |
US20230252235A1 (en) | Training a language detection model for language autodetection from non-character sub-token signals | |
US20210149900A1 (en) | Method, system and computer program for semantic triple-based knowledge extension | |
CN116049370A (zh) | 信息查询方法和信息生成模型的训练方法、装置 | |
CN115035890A (zh) | 语音识别模型的训练方法、装置、电子设备及存储介质 | |
CN111626059B (zh) | 一种信息处理方法及装置 | |
CN115309994A (zh) | 地点检索方法、电子设备以及存储介质 | |
CN114595696A (zh) | 实体消歧方法、实体消歧装置、存储介质与电子设备 | |
CN113051896A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |