具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明的一个实施例的对文本序列进行分词的方法的流程图。如图1所示,该方法包括:
步骤110,确定与文本序列对应的概率矩阵,概率矩阵记录有文本序列中的每个字符与预设的每个标注字符相匹配的概率值,标注字符用于对文本序列进行分词。
优选的,本实施例可以通过双向LSTM生成概率矩阵。
步骤120,确定与概率矩阵对应的转移矩阵,转移矩阵记录了每个标注字符之间的转移概率。
本实施例中,可以将概率矩阵输入至条件随机场模型CRF生成对应的转移矩阵。
步骤130,根据概率矩阵和转移矩阵,对文本序列进行分词。
在本发明实施例中,通过概率矩阵,并进一步确定转移矩阵,由概率矩阵和转移矩阵对文本序列进行分词划分,整个过程无须了解相关的领域知识,即可实现对文本序列的分词,避免了分词划分过程中存在领域适应性较差的问题;且通过概率矩阵和转移矩阵,也可以避免分词划分中存在分词特征抽取受限的问题,并提高了分词的准确性和效率。
其中,步骤110可以具体实现为:
获取文本序列中的每个字符的字符向量;
将字符向量代替对应的每个字符生成字符矩阵;
获取字符矩阵的特征向量;
根据特征向量,生成概率矩阵。
本实施例中,文本序列可以是文本中的一句话,或者一段文字等。可以知道的是,文本序列不局限于文本内容的多少。文本序列的来源可以是不同方面的,如网络,书本,专业资料等。
文本序列中的每个字符均可以通过一个对应的字符向量进行表示,依此可以生成对应的字符矩阵。
本实施例的一实现方式中,获取文本序列中的每个字符的字符向量时,可以获取字符向量的映射字典,映射字典记录了字符与对应字符向量的映射关系,从字符向量的映射字典中可以查找到每个字符的字符向量。
具体而言,可以首先采集相关的均衡语料,并对采集的均衡语料进行预处理生成训练数据,通过预设的模型可以对训练数据进行训练生成对应的字符向量模型;根据字符向量模型可以生成字符向量的映射字典。
本实施例的一实现方式中,可以采用Skip-gram模型作为预设的模型对训练数据进行训练生成对应的字向量模型。在这里,Skip-gram模型是Word2vec下的一种模型。Word2vec(词向量)算法是一种无监督方法,不需要人工标注语料就可以训练模型,能够将每个词语变成一个低维空间中的向量,通常几百维。
word2vec包含有两种训练模型:CBOW和Skip-gram,在大数据量时,本实施例优选采用Skip-gram训练模型。其中,由Skip-gram模型训练得到词向量模型时,由于是无监督学习,因此,需要采集庞大的数据量,同时,采集的语料要针对相应的应用场景,并且尽量涵盖该场景的大部分数据类型。之后,需要对收集的均衡语料做预处理,包括过滤掉垃圾数据、过滤低频字和无意义符号,将均衡语料整理成训练数据的格式。之后,将训练数据送给Skip-gram模型,可以训练得到需要的字符向量模型。
将训练得到的字符向量进行组合,可以得到字符向量的映射字典。可以知道的是,该映射字典记载的是字符与对应字符向量之间的对应关系。
对于输入的文本序列,可以查找文本序列中每个字符的字符向量,由此可以生成对应的字符矩阵。
本实施例中,每个字符向量可以携带相应字符的id值,便于确定字符与字符向量之间的映射关系。
优选的,本实施例可以通过CNN得到字符矩阵的特征向量。
CNN是一种前馈神经网络,其人工神经元可以响应一部分覆盖范围内的周围单元,可以被应用于自然语言处理领域中,实现局部链接,权值共享等,能够有效的提取特征。CNN包括卷积层(convolutional layer)和池化层(pooling layer)。卷基层为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部的特征被提取后,所提取的特征与其它特征间的位置关系也随之被确定。池化层是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。
因此,将字符矩阵输入CNN后,可以得到特征向量。
本实施例的一实现方式中,根据特征向量,生成概率矩阵时,可以将两个时序方向相反的LSTM连接至同一输出层,将特征向量分别输入至两个LSTM,获取两个LSTM在预设时间段内的每一个时间节点生成的输出向量,对每一个时间节点形成的输出向量进行拼接生成拼接向量,将拼接向量传输至输出层生成输出向量,将输出向量合成为概率矩阵。
本实施例中,LSTM是循环神经网络(Recurrent neural networks,RNNs)的扩展,LSTM网络的基本单元(cell),能够实现对信息的记忆功能,并且可以通过具有输入门(input gates),遗忘门(forget gates)和输出门(output gates)三种结构来控制对历史信息的记忆、忘记和输出,具有长效的记忆功能,能够完美的解决长距离的依赖问题。
图2是本发明由双向LSTM生成概率矩阵的示意图。如图2所示,可以将两个时序方向相反的LSTM连接至同一输出层,之后,可以将特征向量分别输入至两个LSTM,之后,可以获取两个LSTM在预设时间段内的每一个时间节点生成的输出向量,对每一个时间节点形成的输出向量进行拼接生成拼接向量;将拼接向量传输至输出层生成输出向量;将输出向量合成为概率矩阵。
如图2所示,可以向输入层(input layer)输入特征向量。特征向量会被传递至正向的LSTM(forward layer),正向的LSTM能够记录上文的语义信息。同时,特征向量也会被传递至反向的LSTM(backward layer),反向的LSTM能够记录下文的语义信息。输出层(output layer)可以输出每个字符与每个标注字符相匹配的概率矩阵。
在这里,本实施例可以优选采用B、E、M、S作为标注字符。可以理解的是,本实施例所述标注字符的选择只为更好的理解本实施例,而非本实施例的唯一方案。应当理解,本实施例不限于对标注字符的数量以及代表意义的选择。以上述标注字符为例,其中,B可以表示一个分词的开始,M可以表示一个分词的中间部分,E可以表示一个分词的结束,S可以表示一个单字。例如,对于以下文本:百分点是大数据践行者。假设标注结果如下:百/B分/M点/E是/S大/B数/M据/E践/B行/M者/E。则对该文本的分词结果为:“百分点是大数据践行者”。其中,词与词之间以空格区分。
因此,结合上述例子而言,概率矩阵可以具体为每个字符与标注字符B、E、M、S之间相匹配的概率。
本实施例的一实现方式中,步骤120可以具体实现为:将概率矩阵输入至条件随机场模型CRF生成对应的转移矩阵。
条件随机场模型(conditional random field,CRF)是John Lafferty于2001年,在最大熵模型和隐马尔科夫模型的基础上,提出的一种判别式概率无向图学习模型,是一种用于标注和切分有序数据的条件概率模型。条件随机场模型既具有判别式模型的优点,又具有产生式模型考虑到上下文标记间的转移概率,以序列化形式进行全局参数优化和解码的特点,解决了其他判别式模型(如最大熵马尔科夫模型)难以避免标记偏置的问题。
条件随机场理论(CRFs)最早是针对序列数据分析提出的,可以用于序列标注、数据分割、组块分析等自然语言处理任务中。现已成功应用于自然语言处理(NLP)、生物信息学、机器视觉及网络智能等领域。在中文分词、命名实体识别、歧义消解等汉语自然语言处理任务中都有应用,表现很好。
条件随机场模型是一种无向图模型,它是在给定需要标记的观察序列(词,句子、数值等)的条件下,计算整个标记序列(BEMS)的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。
本实施例中,假设(X,Y)为一个线性链条件随机场,则线性链条件随机场P(Y|X)的参数化表示为:
其中,z(x)表示规范化因子,tk表示转移特征函数,Sι表示状态特征函数,λk和μι分别为上述特征函数对应的权值。一个线性链条件随机场可由上述转移特征函数和状态特征函数以及它们的权值唯一确定。通常情况,λk和μι的取值可以为1或0,当满足特征条件时取1,反之取0。
本实施例中,条件随机场的学习算法可以采用改进的迭代尺度法(IIS)。条件随机场的预测算法可以采用维特比算法(Viterbi algorithm),维特比算法为一种动态规划算法。
本实施例中,将概率矩阵输入CRF后,会通过最大似然概率算法得到转移矩阵。转移矩阵表示标注字符之间的转移概率。例如,对于转移矩阵A,其中,转移矩阵A是一个方阵,设i为方阵的第i行,j为方阵的第j列,则Aij表示从第i个标注字符转移到第j个标注字符的概率。转移矩阵A可以通过训练过程最大化似然概率不断更新,经多次迭代后得到最优的转移矩阵A。
本实施例中,根据概率矩阵和转移矩阵,对文本序列进行分词时,可以根据概率矩阵和转移矩阵,确定与文本序列对应的标注序列;之后,根据标注序列中的标注字符可以对文本序列进行分词。
其中,标注字符可以包括表示一个分词的开始字符、中间字符、结束字符和单字字符。在根据标注序列中的标注字符对文本序列进行分词划分时,首先可以确定分词原则,分词原则包括:将开始字符、中间字符和结束字符之间确定的字符作为一个分词,将单字字符确定的字符作为一个分词;根据分词原则,可以对标注序列包括的开始字符、中间字符、结束字符和单字字符进行解析;根据解析结果可以对文本序列进行划分。
需要指出的是,根据概率矩阵和转移矩阵确定标注序列时,可以看作是求解标注序列的最优组合。可以转换为最大概率路径的求解问题,并采用维特比算法来求解。
本实施例的一实现方式中,优选的,标注字符可以包括B、M、E和S,B表示一个分词的开始,M表示一个分词的中间部分,E表示一个分词的结束,S表示一个单字。根据标注序列中的标注字符对文本序列进行分词划分时,可以将B、M和E之间包含的字符作为一个分词,将S单独表示的字符作为一个分词,并对标注序列中包括的B、M、E、S进行解析,之后,根据解析结果对文本序列进行划分。
结合本实施例的以上内容可知,对于输入的文本序列(x1,x2,…,xn),可以最终得到相应的标注序列(y1,y2,…,yn)。对此标注序列(y1,y2,…,yn)进行解析后,可以得到最终后中文分词结果。
以标注字符包括B、M、E和S为例。假设输入的文本序列为:百分点是大数据践行者。可以得到相应的如下标注序列(B,M,E,S,B,M,E,B,M,E)。将标注序列与文本序列对应,可以形成如下的标注结果:百(B)分(M)点(E)是(S)大(B)数(M)据(E)践(B)行(M)者(E)。根据分词原则,即B表示一个分词的开始,M表示一个分词的中间部分,E表示一个分词的结束,S表示一个单字,则分词结果为:百分点/是/大数据/践行者。
通过以上可知,本实施例避免了分词划分过程中存在领域适应性较差的问题,且可以避免分词划分中存在分词特征抽取受限的问题,并提高了分词的准确性和效率。
图3是本发明的一个实施例的对文本序列进行分词的装置的结构图。如图3所示,该装置300包括:
概率矩阵确定模块310,用于确定与文本序列对应的概率矩阵,概率矩阵记录有文本序列中的每个字符与预设的每个标注字符相匹配的概率值,标注字符用于对文本序列进行分词;
转移矩阵确定模块320,用于确定与概率矩阵对应的转移矩阵,转移矩阵记录了每个标注字符之间的转移概率;
分词模块330,用于根据概率矩阵和转移矩阵,对文本序列进行分词。
在本发明实施例中,通过概率矩阵,并进一步确定转移矩阵,由概率矩阵和转移矩阵对文本序列进行分词划分,整个过程无须了解相关的领域知识,即可实现对文本序列的分词,避免了分词划分过程中存在领域适应性较差的问题;且通过概率矩阵和转移矩阵,也可以避免分词划分中存在分词特征抽取受限的问题,并提高了分词的准确性和效率。
可选的,作为一个实施例,概率矩阵确定模块310具体用于:
获取文本序列中的每个字符的字符向量;
将字符向量代替对应的每个字符生成字符矩阵;
获取字符矩阵的特征向量;
根据特征向量,生成概率矩阵。
可选的,作为一个实施例,分词模块330具体用于:
根据概率矩阵和转移矩阵,确定与文本序列对应的标注序列;
根据标注序列中的标注字符对文本序列进行分词。
可选的,作为一个实施例,概率矩阵确定模块310还用于:
将两个时间递归神经网络LSTM连接至同一输出层,两个LSTM的时序方向相反;
将特征向量分别输入至两个LSTM;
获取两个LSTM在预设时间段内的每一个时间节点生成的输出向量;
对每一个时间节点形成的输出向量进行拼接生成拼接向量;
将拼接向量传输至输出层生成输出向量;
将输出向量合成为概率矩阵。
可选的,作为一个实施例,标注字符包括表示一个分词的开始字符、中间字符、结束字符和单字字符;
分词模块330还用于:
确定分词原则,分词原则包括:将开始字符、中间字符和结束字符之间确定的字符作为一个分词,将单字字符确定的字符作为一个分词;
根据分词原则,对标注序列包括的开始字符、中间字符、结束字符和单字字符进行解析;
根据解析结果对文本序列进行划分。
本发明实施例的对文本序列进行分词的装置可以参照对应本发明实施例的以上方法的流程,并且,该装置中的各个单元/模块和上述其他操作和/或功能分别为了实现以上方法中的相应流程,为了简洁,在此不再赘述。
图4是根据一示例性实施例示出的一种适用于信息显示的电子设备的框图。例如,电子设备800可以是手机、电脑、PDA、PAD等。
参照图4所示,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,该处理组件802可被配置为:
确定与文本序列对应的概率矩阵,概率矩阵记录有文本序列中的每个字符与预设的每个标注字符相匹配的概率值,标注字符用于对文本序列进行分词;
确定与概率矩阵对应的转移矩阵,转移矩阵记录了每个标注字符之间的转移概率;
根据概率矩阵和转移矩阵,对文本序列进行分词。
在本发明实施例中,通过概率矩阵,并进一步确定转移矩阵,由概率矩阵和转移矩阵对文本序列进行分词划分,整个过程无须了解相关的领域知识,即可实现对文本序列的分词,避免了分词划分过程中存在领域适应性较差的问题;且通过概率矩阵和转移矩阵,也可以避免分词划分中存在分词特征抽取受限的问题,并提高了分词的准确性和效率。
此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,消息,图片等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,距离感应器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WIFI,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。