一种序列还原方法及设备与流程

文档序号:12464677阅读:227来源:国知局
一种序列还原方法及设备与流程

本发明涉及自然语言处理技术领域,尤其涉及一种序列还原方法及设备。



背景技术:

为了得到一句话的最优分词结果,我们会先使用机械切分器得到它认为最好的切分结果,然后利用工具箱toolkits工具分析该结果与少部分随机切分结果得到最优的分词结果。

目前机械切分器的切分结果只有智能切分以及细粒度切分。比如,切分器将“结婚的和尚未结婚的”这句话,按照智能模式切分为“结婚的|和尚|未|结婚的”,按照细粒度模式切分为“结婚的|结婚|的|和尚|尚未|未结婚|结婚|的”,这是目前切分器给出的方案。但这种方案只给出了切分器认为的最好的结果以及其能够切分出的所有词的集合,并没有给出“结婚的|和|尚未|结婚的”以及“结婚|的|和|尚未|结婚|的”等还原序列,利用toolkits去分析还原序列的最优分词结果。

因此,已有切分方案存在明显的缺点:机械切分器无法对序列进行还原以供toolkits分析,从而toolkits不得不使用切分出的所有词的组合得到的随机结果进行分析,这样严重影响toolkits得到的分词结果的准确率和分析速度。



技术实现要素:

本发明的主要目的在于提出一种序列还原方法及设备,旨在解决分词结果的准确率低下和分析速度慢的问题。

为达到上述目的,本发明的技术方案是这样实现的:

第一方面,本发明实施例提供了一种序列还原方法,所述方法用于一种序列还原设备,所述方法包括:

所述设备将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;

所述设备将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;

所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组;

所述设备获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列。

在上述方案中,所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组,具体包括:

所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行比较;

当所述第一词组中存在与预先获取的细粒度切分词组相同的词组时,所述设备获取第一词组中与预先获取的细粒度切分词组相同的词组;

所述设备将第一词组中与预先获取的细粒度切分词组相同的所有词组称为第二词组。

在上述方案中,所述设备获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列,具体包括:

所述设备获取所述第二词组中各词组的序列长度;

所述设备将所述第二词组中各词组的序列长度进行比较,获取所述第二词组中序列长度最长的词组;

所述设备将所述第二词组中序列长度最长的词组作为待切分序列的分割序列。

在上述方案中,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列后,所述方法还包括:所述设备获取去掉待切分序列的分割序列的序列的分割序列。

进一步地,所述设备获取去掉待切分序列的分割序列的序列的分割序列,具体包括:

所述设备将去掉分割序列的序列作为输入序列;

所述设备检测每一次的输入序列的序列长度,当输入序列的长度不为零时,获取相应输入序列的分割序列;

当所述设备检测到输入序列的序列长度为零时,所述设备将输入序列的分割序列按照获取的先后顺序组成还原序列,发送给toolkits进行分析。

第二方面,本发明实施例提供了一种序列还原设备,所述装置包括:第一获取模块、第二获取模块、第三获取模块及第四获取模块;其中,

所述第一获取模块,用于将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;

所述第二获取模块,用于将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;

所述第三获取模块,用于将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组;

所述第四获取模块,用于获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列。

在上述方案中,所述第三获取模块具体包括:比较子模块、第一获取子模块及第二获取子模块;其中,

所述比较子模块,用于将所述第一词组中各词组与预先获取的细粒度切分词组进行比较;

所述第一获取子模块,用于当所述第一词组中存在与预先获取的细粒度切分词组相同的词组时,获取第一词组中与预先获取的细粒度切分词组相同的词组;

所述第二获取子模块,用于所述设备将第一词组中与预先获取的细粒度切分词组相同的所有词组称为第二词组。

在上述方案中,所述第四获取模块具体包括:第三获取子模块、第四获取子模块及第五获取子模块;其中,

所述第三获取子模块,用于获取所述第二词组中各词组的序列长度;

所述第四获取子模块,用于将所述第二词组中各词组的序列长度进行比较,获取所述第二词组中序列长度最长的词组;

所述第五获取子模块,用于将所述第二词组中序列长度最长的词组作为待切分序列的分割序列。

在上述方案中,所述装置还包括:第五获取模块;其中,所述第五获取模块,用于获取去掉待切分序列的分割序列的序列的分割序列。

进一步地,所述第五获取模块,具体用于

将去掉分割序列的序列作为输入序列;

以及,检测每一次的输入序列的序列长度,当输入序列的长度不为零时,获取相应输入序列的分割序列;

以及,当所述设备检测到输入序列的序列长度为零时,将输入序列的分割序列按照获取的先后顺序组成还原序列,发送给toolkits进行分析。

本发明实施例所提供的一种序列还原方法及设备,所述方法包括:所述设备将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;所述设备将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组;所述设备获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列,从而解决了分词结果的准确率低下和分析速度慢的问题。

附图说明

图1为本发明实施例提供的一种移动终端的硬件结构示意图;

图2为本发明实施例提供的一种序列还原方法的流程图;

图3为本发明实施例提供的一种所述设备获取第二词组的流程图;

图4为本发明实施例提供的一种所述设备获取待切分序列的分割序列的流程图;

图5为本发明实施例提供的一种序列还原方法的详细流程图;

图6为本发明实施例提供的一种序列还原装置的结构框图;

图7为本发明实施例提供的一种所述第三获取模块的结构框图;

图8为本发明实施例提供的一种所述第四获取模块的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

现在将参考附图1来描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。

移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。

图1为实现本发明各个实施例的移动终端的硬件结构示意。

移动终端100可以包括用户输入单元130、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件,可以替代地实施更多或更少的组件,将在下面详细描述移动终端的元件。

用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏。

接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。

另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括显示单元151、音频输出模块152、警报单元153等等。

显示单元151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元151可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。

同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。

音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块152可以包括扬声器、蜂鸣器等等。

警报单元153可以提供输出以将事件的发生通知给移动终端100。典型的事件可以包括呼叫接收、消息接收、键信号输入、触摸输入等等。除了音频或视频输出之外,警报单元153可以以不同的方式提供输出以通知事件的发生。例如,警报单元153可以以振动的形式提供输出,当接收到呼叫、消息或一些其它进入通信(Incoming Communication)时,警报单元153可以提供触觉输出(例如,振动)以将其通知给用户。通过提供这样的触觉输出,即使在用户的移动电话处于用户的口袋中时,用户也能够识别出各种事件的发生。警报单元153也可以经由显示单元151或音频输出模块152提供通知事件的发生的输出。

存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。

存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。

控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。另外,控制器180可以包括用于再现(或回放)多媒体数据的多媒体模块181,多媒体模块181可以构造在控制器180内,或者可以构造为与控制器180分离。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。

电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。

这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。

至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。

如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信系统以及基于卫星的通信系统来操作。

基于上述移动终端硬件结构,提出本发明方法各个实施例。

实施例一

参见图2,其示出了一种序列还原方法流程,所述方法用于一种序列还原设备,所述方法包括:

S201:所述设备将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;

S202:所述设备将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;

S203:所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组;

S204:所述设备获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列。

对于步骤S201,所述设备获取待切分序列的序列长度,就是获取待切分序列中包含的序列字。

对于步骤S202,具体地,所述设备将待切分序列的序列首字与其后的零个字组成词,与其后的第一个字组成词,与其后的两个字组成词,与其后的三个字组成词…与其后的m-1个字组成词,获取与待切分序列的序列首字组成的m个词组,将这m个词组称为第一词组。

对于步骤S203,参见图3,所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组,具体包括:

S2031:所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行比较;

S2032:当所述第一词组中存在与预先获取的细粒度切分词组相同的词组时,所述设备获取第一词组中与预先获取的细粒度切分词组相同的词组;

S2033:所述设备将第一词组中与预先获取的细粒度切分词组相同的所有词组称为第二词组。

对于步骤S2031,具体地,所述设备将第一词组中每个词组与预先获取的细粒度切分词组进行一一比较。

对于步骤S2032,需要说明的是,所述细粒度切分作为一种现有技术,分发明在此不再赘述;

进一步地,所述预先获取的细粒度切分词组是对所述待切分序列进行细粒度切分获取的细粒度切分词组。

对于步骤S2033,具体地,由于第一词组中的词组与预先获取的细粒度切分词组都是通过同一个待切分序列获取的,所述第二词组中词组的数目必定不会为零。

对于步骤S204,参见图4,所述设备获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列,具体包括:

S2041:所述设备获取所述第二词组中各词组的序列长度;

S2042:所述设备将所述第二词组中各词组的序列长度进行比较,获取所述第二词组中序列长度最长的词组;

S2043:所述设备将所述第二词组中序列长度最长的词组作为待切分序列的分割序列。

对于步骤S2041,所述设备获取各词组的序列长度,也是获取各词组中序列字的个数。

对于步骤S2042,所述设备获取第二词组中序列长度最长的词组,也就是获取第二词组中序列字最多的词组。

对于图2所示的技术方案,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列后,所述方法还包括:所述设备获取去掉待切分序列的分割序列的序列的分割序列;

所述设备获取去掉待切分序列的分割序列的序列的分割序列,具体包括:

所述设备将去掉分割序列的序列作为输入序列;

所述设备检测每一次的输入序列的序列长度,当输入序列的长度不为零时,获取相应输入序列的分割序列;

当所述设备检测到输入序列的序列长度为零时,所述设备将输入序列的分割序列按照获取的先后顺序组成还原序列,发送给toolkits进行分析。

本实施例提供了一种序列还原方法,所述设备将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;所述设备将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组;所述设备获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列,从而解决了分词结果的准确率低下和分析速度慢的问题。

实施例二

参见图5,其示出了一种序列还原方法的详细流程,所述详细方法包括:

S501:所述设备将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;

S502:所述设备将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;

S503:所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行比较;

S504:当所述第一词组中存在与预先获取的细粒度切分词组相同的词组时,所述设备获取第一词组中与预先获取的细粒度切分词组相同的词组;

S505:所述设备将第一词组中与预先获取的细粒度切分词组相同的所有词组称为第二词组;

S506:所述设备获取所述第二词组中各词组的序列长度;

S507:所述设备将所述第二词组中各词组的序列长度进行比较,获取所述第二词组中序列长度最长的词组;

S508:所述设备将所述第二词组中序列长度最长的词组作为待切分序列的分割序列;

S509:所述设备将去掉分割序列的序列作为输入序列;

S510:所述设备检测每一次的输入序列的序列长度,当输入序列的长度不为零时,获取相应输入序列的分割序列;

S511:当所述设备检测到输入序列的序列长度为零时,所述设备将输入序列的分割序列按照获取的先后顺序组成还原序列,发送给toolkits进行分析。

对于步骤S501,所述设备获取待切分序列的序列长度,就是获取待切分序列中包含的序列字。

对于步骤S502,具体地,所述设备将待切分序列的序列首字与其后的零个字组成词,与其后的第一个字组成词,与其后的两个字组成词,与其后的三个字组成词…与其后的m-1个字组成词,获取与待切分序列的序列首字组成的m个词组,将这m个词组称为第一词组。

对于步骤S502,示例性地,假设待切分序列为“结婚的和尚未结婚的”,序列首字为“结”,将序列首字与其后的连续的0至8个字组成词,获取的第一词组为{结,结婚,结婚的,结婚的和,结婚的和尚,结婚的和尚未,结婚的和尚未结,结婚的和尚未结婚,结婚的和尚未结婚的}。

对于步骤S503,具体地,所述设备将第一词组中每个词组与预先获取的细粒度切分词组进行一一比较。

对于步骤S504,需要说明的是,所述细粒度切分作为一种现有技术,分发明在此不再赘述;

进一步地,所述预先获取的细粒度切分词组是对所述待切分序列进行细粒度切分获取的细粒度切分词组。

对于步骤S505,具体地,由于第一词组中的词组与预先获取的细粒度切分词组都是通过同一个待切分序列获取的,所述第二词组中词组的数目必定不会为零。

对于步骤S506,所述设备获取各词组的序列长度,也是获取各词组中序列字的个数。

对于步骤S507,所述设备获取第二词组中序列长度最长的词组,也就是获取第二词组中序列字最多的词组。

对于步骤S503至步骤S508,示例性地,结合步骤S502的示例,第一词组为{结,结婚,结婚的,结婚的和,结婚的和尚,结婚的和尚未,结婚的和尚未结,结婚的和尚未结婚,结婚的和尚未结婚的},细粒度切分词组为{结婚的,结婚,的,和尚,尚未,未结婚},将第一词组中各词组与细粒度切分词组中各词组进行比较,获取的第二词组为{结婚的,结婚},所述设备获取第二词组中各词组的序列长度分别为“结婚的”序列的序列长度为3,“结婚”序列的序列长度为2,因此第二词组中序列长度最长的词组为“结婚的”,将“结婚的”作为待切分序列“结婚的和尚未结婚的”的分割序列。

对于步骤S509,所述去掉分割序列的序列为所述待切分序列中的组成部分。

对于步骤S510,当所述设备对每一次的输入序列的序列长度都要进行检测,只有当输入序列的序列长度部位零时,所述设备通过步骤S501至步骤S508,获取相应输入序列的分割序列。

对于步骤S511,当所述设备检测到输入序列的序列长度为零时,表明待切分序列已经分割完成,此时所述设备将所有输入序列的分割序列按照获取的前后顺序组成还原序列,发送给toolkits进行分析,最终获取待切分序列的最优全序列。

对于步骤S509至步骤S511,示例性地,结合步骤S503至步骤S508的示例,将待切分序列的分割序列“结婚的”从待切分序列“结婚的和尚未结婚的”中掉,获取的第一更新序列为“和尚未结婚的”,将第一更新序列作为输入序列,第一更新序列的序列长度不为零;

第一更新序列地序列首字为“和”,将序列首字与其后的连续的0至5个字组成词,获取第一更新序列的第一词组为{和,和尚,和尚未,和尚未结,和尚未结婚,和尚未结婚的},将第一更新序列的第一词组中各词组与细粒度切分词组中各词组进行比较,获取第一更新序列的第二词组为{和尚},所述设备获取第一更新序列的第二词组中词组的序列长度为“和尚”序列的序列长度为2,因为第一更新序列的第一词组中只有一个词组,因此第一更新序列的第二词组中序列长度最长的词组为“和尚”,将“和尚”作为第一更新分序列“和尚未结婚的”的分割序列;

将第一更新序列的分割序列“和尚”从第一更新分序列“和尚未结婚的”中掉,获取的第二更新序列为“未结婚的”,将第二更新序列作为输入序列,第二更新序列的序列长度不为零;

第二更新序列地序列首字为“未”,将序列首字与其后的连续的0至3个字组成词,获取第二更新序列的第一词组为{未,未结,未结婚,未结婚的},将第二更新序列的第一词组中各词组与细粒度切分词组中各词组进行比较,获取的第二更新序列的第二词组为{未结婚},所述设备获取第二更新序列的第二词组中词组的序列长度为“未结婚”序列的序列长度为3,因为第二更新序列的第一词组中只有一个词组,因此第二更新序列的第二词组中序列长度最长的词组为“未结婚”,将“未结婚”作为第二更新分序列“未结婚的”的分割序列;

将第二更新序列的分割序列“未结婚”从第二更新分序列“未结婚的”中掉,获取的第三更新序列为“的”,将第三更新序列作为输入序列,第三更新序列的序列长度不为零;

第三更新序列地序列首字为“的”,将序列首字与其后的连续的0个字组成词,获取第三更新序列的第一词组为{的},将第三更新序列的第一词组中各词组与细粒度切分词组中各词组进行比较,获取的第三更新序列的第二词组为{的},所述设备获取第三更新序列的第二词组中词组的序列长度为“的”序列的序列长度为1,因为第三更新序列的第一词组中只有一个词组,因此第三更新序列的第二词组中序列长度最长的词组为“的”,将“的”作为第三更新分序列“的”的分割序列;

将第三更新序列的分割序列“的”从第三更新分序列“的”中掉,获取的第四更新序列为“”,将第四更新序列作为输入序列,第四更新序列的序列长度为零,因此所述设备停止计算第四更新序列的分割序列,将待切分序列的分割序列“结婚的”、第一更新序列的分割序列“和尚”、第二更新序列的分割序列“未结婚”及第四更新序列的分割序列“的”按照获取的先后顺序组成还原序列“结婚的|和尚|未结婚|的”,发送给toolkits进行分析,最终获取待切分序列“结婚的和尚未结婚的”的最优还原序列。

本实施例提供了一种序列还原的详细方法,所述设备将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;所述设备将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;所述设备将所述第一词组中各词组与预先获取的细粒度切分词组进行比较;当所述第一词组中存在与预先获取的细粒度切分词组相同的词组时,所述设备获取第一词组中与预先获取的细粒度切分词组相同的词组;所述设备将第一词组中与预先获取的细粒度切分词组相同的所有词组称为第二词组;所述设备获取所述第二词组中各词组的序列长度;所述设备将所述第二词组中各词组的序列长度进行比较,获取所述第二词组中序列长度最长的词组;所述设备将所述第二词组中序列长度最长的词组作为待切分序列的分割序列;所述设备将去掉分割序列的序列作为输入序列;所述设备检测每一次的输入序列的序列长度,当输入序列的长度不为零时,获取相应输入序列的分割序列;当所述设备检测到输入序列的序列长度为零时,所述设备将输入序列的分割序列按照获取的先后顺序组成还原序列,发送给toolkits进行分析,从而解决了分词结果的准确率低下和分析速度慢的问题。

实施例三

基于上述实施例相同的技术构思,参见图6,其示出了一种序列还原装置60的结构框图,所述装置60包括:第一获取模块601、第二获取模块602、第三获取模块603及第四获取模块604;其中,

所述第一获取模块601,用于将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;

所述第二获取模块602,用于将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;

所述第三获取模块603,用于将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组;

所述第四获取模块604,用于获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列。

对于所述第一获取模块601,获取待切分序列的序列长度,就是获取待切分序列中包含的序列字。

对于所述第二获取模块602,具体地,所述第二获取模块602,用于将待切分序列的序列首字与其后的零个字组成词,与其后的第一个字组成词,与其后的两个字组成词,与其后的三个字组成词…与其后的m-1个字组成词,获取与待切分序列的序列首字组成的m个词组,将这m个词组称为第一词组。

对于所述第三获取模块603,参见图7,所述第三获取模块603具体包括:比较子模块6031、第一获取子模块6032及第二获取子模块6033;其中,

所述比较子模块6031,用于将所述第一词组中各词组与预先获取的细粒度切分词组进行比较;

所述第一获取子模块6032,用于当所述第一词组中存在与预先获取的细粒度切分词组相同的词组时,获取第一词组中与预先获取的细粒度切分词组相同的词组;

所述第二获取子模块6033,用于所述设备将第一词组中与预先获取的细粒度切分词组相同的所有词组称为第二词组。

对于所述比较子模块6031,具体地,所述比较子模块6031将第一词组中每个词组与预先获取的细粒度切分词组进行一一比较。

对于所述第一获取子模块6032,需要说明的是,所述细粒度切分作为一种现有技术,分发明在此不再赘述;

进一步地,所述预先获取的细粒度切分词组是对所述待切分序列进行细粒度切分获取的细粒度切分词组。

对于所述第二获取子模块6033,具体地,由于第一词组中的词组与预先获取的细粒度切分词组都是通过同一个待切分序列获取的,所述第二词组中词组的数目必定不会为零。

对于所述第四获取模块604,参见图8,所述第四获取模块604具体包括:第三获取子模块6041、第四获取子模块6042及第五获取子模块6043;其中,

所述第三获取子模块6041,用于获取所述第二词组中各词组的序列长度;

所述第四获取子模块6042,用于将所述第二词组中各词组的序列长度进行比较,获取所述第二词组中序列长度最长的词组;

所述第五获取子模块6043,用于将所述第二词组中序列长度最长的词组作为待切分序列的分割序列。

对于所述第三获取子模块6041,用于获取各词组的序列长度,也是获取各词组中序列字的个数。

对于所述第四获取子模块6042,用于获取第二词组中序列长度最长的词组,也就是获取第二词组中序列字最多的词组。

对于图6所示的结构框图,所述装置还包括:第五获取模块605;其中,所述第五获取模块605,用于获取去掉待切分序列的分割序列的序列的分割序列;

所述第五获取模块605,具体用于

将去掉分割序列的序列作为输入序列;

以及,检测每一次的输入序列的序列长度,当输入序列的长度不为零时,获取相应输入序列的分割序列;

以及,当所述设备检测到输入序列的序列长度为零时,将输入序列的分割序列按照获取的先后顺序组成还原序列,发送给toolkits进行分析。

本实施例提供了一种序列还原设备,所述第一获取模块601,用于将待切分序列作为输入序列,获取待切分序列的序列长度m;其中,m为正整数;所述第二获取模块602,用于将待切分序列的序列首字与其后连续的n个字组成词,获取m个词组,将所述m个词组称为第一词组;其中,n为0到m-1的整数;所述第三获取模块603,用于将所述第一词组中各词组与预先获取的细粒度切分词组进行匹配,获取匹配成功的词组,将匹配成功的词组称为第二词组;所述第四获取模块604,用于获取所述第二词组中各词组序列长度,将所述第二词组中词组序列长度最长的词组作为待切分序列的分割序列,从而解决了分词结果的准确率低下和分析速度慢的问题。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所描述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1