CN111274816B - 一种基于神经网络的命名实体识别方法和车机 - Google Patents

一种基于神经网络的命名实体识别方法和车机 Download PDF

Info

Publication number
CN111274816B
CN111274816B CN202010043418.6A CN202010043418A CN111274816B CN 111274816 B CN111274816 B CN 111274816B CN 202010043418 A CN202010043418 A CN 202010043418A CN 111274816 B CN111274816 B CN 111274816B
Authority
CN
China
Prior art keywords
character vector
character
original
recognized
value
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
CN202010043418.6A
Other languages
English (en)
Other versions
CN111274816A (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.)
Ecarx Hubei Tech Co Ltd
Original Assignee
Hubei Ecarx 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 Hubei Ecarx Technology Co Ltd filed Critical Hubei Ecarx Technology Co Ltd
Priority to CN202010043418.6A priority Critical patent/CN111274816B/zh
Publication of CN111274816A publication Critical patent/CN111274816A/zh
Application granted granted Critical
Publication of CN111274816B publication Critical patent/CN111274816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种基于神经网络的命名实体识别方法、计算机可读存储介质、电子设备和车机。该方法在得到待识别字符串中每一字符对应的索引值后,根据该索引值、以及预先部署的编码后字符向量表和字符向量压缩编码表,反向查找得到待识别字符串的原始字符向量矩阵,进而根据待识别字符串的原始字符向量矩阵,通过神经网络进行推理,识别出待识别字符串中的命名实体和命名实体对应的标签。由于只需要在神经网络内预先部署编码后字符向量表和字符向量压缩编码表,而无需保存字符的原始字符向量,且压缩编码后的字符向量值的编码位数小于原始字符向量值的编码位数,节省存储空间,减少芯片的内存空间尺寸。

Description

一种基于神经网络的命名实体识别方法和车机
技术领域
本发明涉及人工智能算法技术领域,特别是一种基于神经网络的命名实体识别方法、计算机可读存储介质、电子设备以及车机。
背景技术
在汽车车机NLP(Natural Language Processing,自然语言处理)领域,命名实体识别(Named Entity Recognition,NER)是一项很基础的任务。NER的神经网络模型通常采用LSTM(Long Short-Term Memory,长短记忆网络)加CRF(Conditional Random Field,条件随机场)的结构,主要包括输入层、字嵌入层、LSTM层、全连接层、维特比解码层和输出层,其中在字嵌入层中会将输入的字符串中的每个字/词表示成一个多维数组。
在现有技术中,常采用one-hot(独热编码)来对字/词进行数字化表示来得到该多维数组,但这种方式存在编码所需位数非常庞大,进而导致存储空间占用过大的问题。例如,假设存在10000个常用汉字,则采用one-hot来表示时,每个字需要10000维(即,10000个位)来表示,位数非常庞大。
为了解决此问题,出现了采用字/词向量来表示的方法。通过使用向量,每个字仅需要几百位就可以表达one-hot编码下需要10000位才能表达的内容,显著降低了存储空间占用。但是,由于在字/词向量中采用的是浮点数据(如32位单精度浮点数),其占用的存储空间仍然是比较大的。即使将32位浮点数量化为整型(如16位整型),所有汉字所占用的存储空间仍然无法有效缩减以满足芯片内存尺寸小型化的需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于神经网络的命名实体识别方法、计算机可读存储介质、电子设备以及车机。
本发明的一个目的在于提供一种能够节省存储空间从而减少芯片的内存空间尺寸的基于神经网络的命名实体识别方法。
本发明的一个进一步的目的在于通过采用恰当的压缩编码方式提高字符向量的存储效率。
根据本发明实施例的一方面,提供了一种基于神经网络的命名实体识别方法,其特征在于,包括:
接收输入的待识别字符串,并根据预置的字符与索引值的对应关系,得到所述待识别字符串中每一字符对应的索引值;
根据所述待识别字符串中每一字符对应的索引值,在预先部署的编码后字符向量表中查找与所述待识别字符串中每一字符对应的索引值相对应的压缩编码后的字符向量,得到所述待识别字符串的压缩编码后向量矩阵,其中,所述压缩编码后的字符向量为由压缩编码后的字符向量值组成的预设维数的数组;
根据预先部署的字符向量压缩编码表中压缩编码后的字符向量值与原始字符向量值的映射关系,将所得到的所述待识别字符串的压缩编码后向量矩阵中的每一个压缩编码后的字符向量值用所述字符向量压缩编码表中的原始字符向量值代替,得到所述待识别字符串的原始字符向量矩阵,其中,所述压缩编码后的字符向量值的编码位数小于所述原始字符向量值的编码位数;
根据所述待识别字符串的原始字符向量矩阵,通过所述神经网络进行推理,识别出所述待识别字符串中的命名实体和所述命名实体对应的标签。
可选地,所述编码后字符向量表和所述字符向量压缩编码表通过以下方式得到:
在进行所述神经网络模型的训练时,接收包含多个字符的待识别训练样本,通过所述神经网络模型对所述待识别训练样本进行识别,得到所述待识别训练样本中的每个字符对应的索引值和预设维数的原始字符向量,所述原始字符向量由与所述字符对应的原始字符向量值组成;
统计在所述待识别训练样本中的所有字符对应的原始字符向量中每一原始字符向量值的出现次数;
根据所统计的每一原始字符向量值的出现次数对每一原始字符向量值进行编码,得到与每一原始字符向量值对应的压缩编码后的字符向量值,并根据与每一原始字符向量值对应的压缩编码后的字符向量值生成所述字符向量压缩编码表;
根据所述待识别训练样本中的每个字符对应的索引值和预设维数的原始字符向量以及与每一原始字符向量值对应的压缩编码后的字符向量值,生成所述编码后字符向量表。
可选地,所述根据所统计的每一原始字符向量值的出现次数对每一原始字符向量值进行编码包括:
统计出现次数大于或等于预设次数的原始字符向量值的数量;
根据所述出现次数大于或等于预设次数的原始字符向量值的数量,确定对所述出现次数大于或等于预设次数的原始字符向量值进行指定进制编码所需的最少位数;
根据所确定的最少位数对所述出现次数大于或等于预设次数的原始字符向量值进行指定进制编码,并将出现次数小于所述预设次数的原始字符向量值编码为0。
可选地,所述压缩编码后的字符向量值和所述原始字符向量值均为量化整型值。
可选地,所述原始字符向量值为16位量化整型值。
可选地,所述指定进制编码为二进制编码。
可选地,所述字符包括中文字和/或中文词。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码在电子设备上运行时,导致所述电子设备执行根据上述任一项所述的基于神经网络的命名实体识别方法。
根据本发明实施例的再一方面,还提供了一种电子设备,包括:
处理器;以及
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述电子设备执行根据上述任一项所述的基于神经网络的命名实体识别方法。
根据本发明实施例的又一方面,还提供了一种车机,包括上述电子设备。
本发明实施例提供的基于神经网络的命名实体识别方法,在得到待识别字符串中每一字符对应的索引值后,根据该索引值、以及预先部署的编码后字符向量表和字符向量压缩编码表,反向查找得到待识别字符串的原始字符向量矩阵,进而根据待识别字符串的原始字符向量矩阵,通过神经网络进行推理,识别出待识别字符串中的命名实体和命名实体对应的标签。在本方法中,只需要在神经网络内预先部署编码后字符向量表和字符向量压缩编码表,而无需保存字符的原始字符向量。由于压缩编码后的字符向量值的编码位数小于原始字符向量值的编码位数,因此,压缩编码后的字符向量所占用的存储空间显著少于原始字符向量所占用的存储空间,从而实现节省存储空间,进而减少芯片的内存空间尺寸的效果。
进一步地,编码后字符向量表和字符向量压缩编码表是通过在进行神经网络的训练时,根据每一原始字符向量值在待识别训练样本中的所有字符对应的原始字符向量中的出现次数,采用指定编码方式对每一原始字符向量值进行压缩编码后得到的。通过采用恰当的压缩编码方式(如哈夫曼编码或等长编码),提高字符向量的存储效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了一种NER神经网络模型的结构示意图;
图2示出了图1所示的NER神经网络模型的全连接层的结构示意图;
图3示出了根据本发明一实施例的基于神经网络的命名实体识别方法的流程图;
图4示出了根据本发明一实施例的得到编码后字符向量表和字符向量压缩编码表的步骤流程图;
图5示出了根据本发明一实施例的以等长编码方式生成编码后字符向量表和字符向量压缩编码表的流程示意图;
图6示出了根据本发明一实施例的电子设备的结构示意图;
图7示出了根据本发明一实施例的车机的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在汽车车机NLP领域,命名实体识别NER是一项很基础的任务,指从文本中识别出命名实体,为关系抽取等任务做铺垫。命名实体的类别可包括人名、地名、组织机构名、歌手、歌名等。
NER的神经网络模型通常采用LSTM+CRF的结构。图1中示出了一种NER神经网络模型的结构示意图。如图1所示,NER神经网络模型包括输入层、字嵌入层、LSTM层、全连接层、维特比解码层以及输出层。
在运行时,待识别的语句字符串被输入输入层,经过输入层后,语句字符串中的字被转换成对应的索引号,从而,一个语句就变成一个索引号的数组。考虑到用户一次讲话通常是少于70个字的,可以约定输入的语句最长为70个字。如此,则输入层的输出就是一个最长为70个元素的数组,数组中每个元素的值是整型数值,代表对应字的索引。
字嵌入指用一个多维的浮点数据表示每个字,例如采用128维,则每个字就用包含128个元素的一维数组表示。字嵌入是在神经网络模型训练时获得的,在神经网络模型推理的时候可以直接使用。如此,输入层输出的字索引数组经过字嵌入层后转换成一个多维字向量,换句话说,前述70个字的索引组成的数组转变成一个[70,128]的矩阵。由于汽车车载环境自然语言处理的命名实体识别可以说是一种边缘计算领域,而边缘计算一般都采用整数计算单元,而不是浮点计算,比如整数的神经网络计算单元,因此,可将这里的浮点数量化成整型值(如16位或8位整型值)。例如,将浮点数量化为8位整型值(即,量化方式为8位量化),其中7位表示小数位,则对于一个量化前的浮点数0.5,通过计算0.5×27,得到量化后的8位整型值64。
LSTM层是一种广泛应用的神经网络模型,它在处理一句话时,会考虑整句话中的每一个字,而不是只考虑最近的一个字或者几个字,这样结合了上下文,使得识别准确度更高。LSTM层的输入是字嵌入层的输出,LSTM层的输出也是一个矩阵,比如,当字嵌入层的输出是一个[70,128]的矩阵时,LSTM层的输出是一个[70,HIDDENUNIT]大小的矩阵,其中70是指70个字,HIDDENUNIT是预设的长度,比如128。LSTM层输出的矩阵的每个元素同样是一个量化后的整型值。
LSTM层输出的矩阵[70,HIDDENUNIT]经过全连接层后转变成一个新的矩阵[70,OUTPUTDIM],其中70代表最多70个字,OUTPUTDIM代表NER标签数量,比如歌名、歌手等都属于NER标签。对于每个字产生OUTPUTDIM个可能的标签,每个标签用一个量化后的整数表示,数值越大表示可能性越大。
全连接层的结构如图2所示,假设全连接层包括N个输入节点(即图2中的x1、x2、…、xn-1、xn,其中n=N)和M个输出节点(即图2中的y1、y2、…、yn-1、yn,其中n=M),则对于全连接层中的某个输出节点yk(1≤k≤M)来说,其输出的计算公式为:
yk=wk1×x1+wk2×x2+…+wk(n-1)×xn-1+wkn×xn+bk
在上面计算公式中,wk1、wk2、…、wk(n-1)、wkn分别是在计算输出节点yk时输入节点x1、x2、…、xn-1、xn的权重系数,bk是偏置值。
全连接层以矩阵格式[70,OUTPUTDIM]输出了每个字的标签值,但是最终每个字只能有一个标签,70个字就是70个标签,70个标签的输出格式是70个元素的一维数组。维特比解码(Viterbi Decode)层的功能就是执行从全连接层输出的矩阵到标签的一维数组的转换。维特比解码层会把每一条链路的值相加,再加上转移矩阵,最终得到整条链路的值,选择值最大的那一条链路,就是最有可能的标签路径。转移矩阵是在神经网络模型训练时产生的,运行时被放在内存中以供维特比解码层获取并使用。维特比解码层输出的结果即是NER的最终结果,其是一个包含70个整型值元素的一维数组,数组中每个整型值都是一个标签的号码。号码与标签字符串的对应关系,可以在神经网络模型训练前固定好,比如号码1代表标签“歌手”,号码2代表标签“歌名”,从而很容易就可以根据标签的号码与标签字符串的对应关系得到具体的标签。维特比解码层的输出结果最后经输出层输出。
举例来说,在通过神经网络进行NER识别时,如果接收到输入的语句“我要听黄某某的忘情水”,则神经网络可识别出其中的命名实体“黄某某”为歌手,“忘情水”为歌名。
前面提及,汽车车载环境自然语言处理的命名实体识别属于边缘计算领域,而边缘计算通常使用低功耗、小尺寸、少资源的芯片,因此,存储空间的占用变得非常关键。在NER的神经网络模型中,采用字/词向量来表示的方法,能够显著降低存储空间占用。但是,由于在字/词向量中采用的是浮点数据(如32位单精度浮点数),其占用的存储空间仍然是比较大的。例如,如果存在10000个汉字,每个汉字采用300位(即300个维度)进行表达,在字/词向量中采用的是32位浮点数的情况下,所有汉字占用的存储空间为10000×300×4=11.4MB。即使将32位浮点数量化为整型(如16位整型),所有汉字所占用的存储空间仍然会达到约5.7MB。
发明人发现,通常来说,某一应用领域的语音交互话题都会比较局限于该领域内。例如,对于车机的语音交互话题,大部分是关于导航、音乐、新闻、天气、车辆控制等,语料维度是有限的。用户输入的每个语句的维度则更少,语句的大部分维度的值为0,物理意义指该语句只和某几个领域相关,和其他大部分领域不相关。假设语句的维度有300个,则该语句中每个字的300个维度里很多值都是0或者接近0。
另外,发明人还发现,字向量的量化整型数据的范围和数量通常都较大,例如,对于16位量化整型数据,其范围在-32768到32767,共65535个整型值。然后,在量化后的字嵌入表中,各个整型值出现的频率并不均衡,有的出现很频繁,而有的则可能一次也没有出现或仅出现一两次。因此,在子嵌入表中实际出现的不同的整型值的数量远远少于理论数量(如16位量化整型数据的理论数量为65535个),很多整型值是重复出现的,还有很大的压缩空间。
基于发明人的上述发现,本申请通过创新地对字符向量进行压缩编码,以降低神经网络模型的内存空间占用。
本发明实施例提出一种基于神经网络的命名实体识别方法。图3示出了根据本发明一实施例的基于神经网络的命名实体识别方法的流程图。参见图3,该方法至少可以包括以下步骤S302至步骤S308。
步骤S302,接收输入的待识别字符串,并根据预置的字符与索引值的对应关系,得到待识别字符串中每一字符对应的索引值。
步骤S304,根据待识别字符串中每一字符对应的索引值,在预先部署的编码后字符向量表中查找与待识别字符串中每一字符对应的索引值相对应的压缩编码后的字符向量,得到待识别字符串的压缩编码后向量矩阵,其中,编码后字符向量表中包括字符的索引值与压缩编码后的字符向量的映射关系,压缩编码后的字符向量为由压缩编码后的字符向量值组成的预设维数的数组。
步骤S306,根据预先部署的字符向量压缩编码表中压缩编码后的字符向量值与原始字符向量值的映射关系,将所得到的待识别字符串的压缩编码后向量矩阵中的每一个压缩编码后的字符向量值用字符向量压缩编码表中的原始字符向量值代替,得到待识别字符串的原始字符向量矩阵,其中,字符向量压缩编码表中包括压缩编码后的字符向量值与原始字符向量值的映射关系,压缩编码后的字符向量值的编码位数小于原始字符向量值的编码位数。
步骤S308,根据待识别字符串的原始字符向量矩阵,通过神经网络进行推理,识别出待识别字符串中的命名实体和命名实体对应的标签。
本发明实施例提供的基于神经网络的命名实体识别方法,在得到待识别字符串中每一字符对应的索引值后,根据该索引值、以及预先部署的编码后字符向量表和字符向量压缩编码表,反向查找得到待识别字符串的原始字符向量矩阵,进而根据待识别字符串的原始字符向量矩阵,通过神经网络进行推理,识别出待识别字符串中的命名实体和命名实体对应的标签。在本方法中,只需要在神经网络内预先部署编码后字符向量表和字符向量压缩编码表,而无需保存字符的原始字符向量。由于压缩编码后的字符向量值的编码位数小于原始字符向量值的编码位数,因此,压缩编码后的字符向量所占用的存储空间显著少于原始字符向量所占用的存储空间,从而实现节省存储空间,进而减少芯片的内存空间尺寸的效果。
在本发明的实施例中,输入的待识别字符串中的字符可包括单独的中文字符和/或中文词语。
上文步骤S302中,待识别字符串可以是经过语音识别、图像识别等得到的语句,也可以是通过触摸屏等输入设备直接输入的语句,或者其他方式生成的语句。预置的字符与索引值的对应关系可以是在神经网络模型训练过程中生成的,也可以是在外部生成后导入的。预置的字符与索引值的对应关系可以是以字符与索引值一一对应的字索引表的形式保存,其中索引值为整型数值。下表1中示出了字索引表的一个示例,表1中X1至Xk表示k个不同的字符。
表1字索引表
Figure BDA0002368532200000081
Figure BDA0002368532200000091
如此,本步骤中可通过查表的方式,在字索引表中查找到待识别字符串中每一字符对应的索引值。下面举一个例子进行说明。比如,输入的待识别字符串为“放一首黄某人的歌”,该待识别字符串中包含8个字符(中文字),通过表1可查找到与该8个字符分别对应的8个索引值,具体如下表2所示。需要说明的是,表2中的索引值仅是示例性的,并不构成对本发明的限制。
表2待识别字符串的字符索引值
字符
索引值 104 33 78 980 77 335 567 777
上文步骤S304中,通过查找预先部署的编码后字符向量表,得到待识别字符串的压缩编码后向量矩阵。
具体地,根据步骤S302中得到的待识别字符串中每一字符对应的索引值,在编码后字符向量表中查找到与待识别字符串中每一字符对应的索引值相对应的压缩编码后的字符向量,再将待识别字符串的所有字符的压缩编码后的字符向量按照字符顺序组合,得到待识别字符串的压缩编码后向量矩阵,该压缩编码后向量矩阵尺寸为[待识别字符串中的字符数量×字符向量维度]。仍以上面的待识别字符串“放一首黄某人的歌”为例,该待识别字符串包括8个字符,假设每个字符向量的维度为300,则该待识别字符串的压缩编码后向量矩阵就是一个8×300的向量矩阵。
上文步骤S306中,通过查找预先部署的字符向量压缩编码表,得到待识别字符串的原始字符向量矩阵。
具体地,根据字符向量压缩编码表中压缩编码后的字符向量值与原始字符向量值的映射关系,将上面得到的待识别字符串的压缩编码后向量矩阵中的每一个压缩编码后的字符向量值用字符向量压缩编码表中的原始字符向量值代替,得到与该压缩编码后向量矩阵的尺寸相同的原始字符向量矩阵,从而实现了向量解码的过程。仍以上面的待识别字符串“放一首黄某人的歌”为例,把上面得到的8×300的压缩编码后向量矩阵中的每一个字符向量值用字符向量压缩编码表中的原始字符向量值代替,得到一个8×300的原始字符向量矩阵。
上文步骤S308中,通过训练后的神经网络模型进行推理,识别出待识别字符串中的命名实体和命名实体对应的标签。
具体地,通过神经网络模型的LSTM层、全连接层和维特比解码层,识别出待识别字符串中的命名实体及其对应的标签,最终完成整个神经网络的推理工作。命名实体可以包括人名、地名、组织机构名、歌手、歌名等。仍以上面的待识别字符串“放一首黄某人的歌”为例,在得到8×300的原始字符向量矩阵后,通过神经网络模型的LSTM层、全连接层和维特比解码层的推理计算,识别出“黄某人”为歌手。
在一些实施例中,压缩编码后的字符向量值和原始字符向量值均为量化整型值。例如,原始字符向量值可以是16位或8位量化整型值,其与浮点数相比,内存占用更少,节省了存储和计算资源。
在一个实施例中,上述编码后字符向量表和字符向量压缩编码表可以通过以下步骤得到:
步骤S402,在进行神经网络模型的训练时,接收包含多个字符的待识别训练样本,通过神经网络模型对待识别训练样本进行识别,得到待识别训练样本中的每个字符对应的索引值和预设维数的原始字符向量,原始字符向量由与字符对应的原始字符向量值组成。
步骤S404,统计在待识别训练样本中的所有字符对应的原始字符向量中每一原始字符向量值的出现次数。
本步骤中的每一原始字符向量值指对字符进行向量数字化表示时可能出现的所有数值中的任一数值。例如,对字符采用16位整型值进行向量数字化表示时,每一原始字符向量值指-32768到32767范围内的任一数值。
步骤S406,根据所统计的每一原始字符向量值的出现次数对每一原始字符向量值进行编码,得到与每一原始字符向量值对应的压缩编码后的字符向量值,并根据与每一原始字符向量值对应的压缩编码后的字符向量值生成字符向量压缩编码表。
步骤S408,根据待识别训练样本中的每个字符对应的索引值和预设维数的原始字符向量以及与每一原始字符向量值对应的压缩编码后的字符向量值,生成编码后字符向量表。
通过根据每一原始字符向量值的出现次数的统计结果对每一原始字符向量值进行压缩编码,使得压缩编码后的字符向量值的编码位数小于原始字符向量值的编码位数,由此,压缩编码后的字符向量所占用的存储空间可显著少于原始字符向量所占用的存储空间。
在一些实施例中,可以采用哈夫曼编码或等长编码方式,根据所统计的每一原始字符向量值的出现次数对每一原始字符向量值进行编码。
哈夫曼编码是可变字长编码的一种,完全依据字符出现概率来构造异字头的平均长度最短的码字。哈夫曼编码的编码长度最低,并且,哈夫曼编码是一种异前置码,也就是说,任一码字不会是另一码字的前面部份,这样使得各个码字可以连续的放在一起而可以被解码,因此,哈夫曼编码的存储效率很高,但需要解编码的计算开销。在原始字符向量值的出现次数(出现频率)极不均衡的情况下,优选采用哈夫曼编码。
等长编码是指对于一个无记忆离散信源中每一个符号,都采用相同长度的不同码字代表相应的符号。等长编码的任意一串有限长的码符号序列(码字)只能被唯一地翻译成所对应的信源符号序列。因此,这种编码具有译码简单且具有唯一性的特点,但其编码长度并不是最短的,因而存储效率相比哈夫曼编码要低。在各原始字符向量值的出现次数(出现频率)差不多的情况下,优选采用等长编码,其编码简单快速、译码简单,提高了计算效率。
下面以等长编码为例,对编码后字符向量表和字符向量压缩编码表的生成过程进行介绍。
图5示出了根据本发明一实施例的以等长编码方式生成编码后字符向量表和字符向量压缩编码表的流程示意图。在本实施例中,假设原始字符向量为300维,每一维的字符向量值是16位(即所需编码位数为16位)的整型值。参见图5所示,该流程包括以下步骤:
步骤S502,在进行神经网络模型的训练时,接收包含多个字符的待识别训练样本,通过神经网络模型对待识别训练样本进行识别,得到待识别训练样本中的每个字符对应的索引值和预设维数的原始字符向量,原始字符向量由与字符对应的原始字符向量值组成。
本步骤中,向神经网络模型(例如,NER模型)输入作为训练样本的待识别文本,对神经网络模型(NER模型)进行训练。神经网络模型对待识别文本进行识别后,输出所有权重参数以及该待识别文本中每个字符的索引值和字符向量,构成一个原始字符向量表。例如,假设待识别文本中共有k个不同的字符,则有k个对应的索引值(从1到k),且每个字符对应一个300维的字符向量,即300维的16位整型数组,在此情况下,原始字符向量表如下表3所示。
表3原始字符向量表
字符 索引值 300维字符向量
X<sub>1</sub> 1 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>2</sub> 2 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>3</sub> 3 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>4</sub> 4 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>5</sub> 5 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>6</sub> 6 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>7</sub> 7 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>k-2</sub> k-2 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>k-1</sub> k-1 V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
X<sub>k</sub> k V<sub>1</sub>,V<sub>2</sub>,…,V<sub>300</sub>
表3中,V1、V2、…、V300等表示字符向量中的16位整型值,范围在-32768到32767内,最多可有65535个不同的值。需要说明的是,每个字符对应的300维字符向量实质上是各不相同的,表3中仅是出于简化表达的目的,采用了相同的符号进行表示。
步骤S504,统计在待识别训练样本中的所有字符对应的原始字符向量中每一原始字符向量值的出现次数。
仍以上面例子为例,原始字符向量值是16位整型值,范围在-32768到32767内,共65535个数值。统计-32768到32767范围内的65535个16位整型值中的每一个整型值在表3所示的300维字符向量中的出现次数。
步骤S506,统计出现次数大于或等于预设次数的原始字符向量值的数量。
发明人通过研究发现,在实际应用中,神经网络模型(例如,NER模型)在应用于特定领域的NER识别时,其原始字符向量的各维度的原始字符向量值(下面简称向量值)中,某些向量值的出现频率非常低,甚至一次也没有出现,这些频率低的向量值的数量至少占总的向量值数量的一半以上,物理意义是指这些字符向量值对应的维度在进行该特定领域的NER识别时会被用到的几率非常低,甚至根本没有被用到。例如,对于车载环境内的NER识别,由于车机语音交互话题通常局限于导航、音乐、天气、车辆控制等,则其他与导航、音乐、天气、车辆控制等不相关的维度上对应的字符向量值的出现频率就会非常低,例如假设存在一个颜色维度对应的向量值,由于在进行车载环境内的NER识别时很少、甚至不会用到颜色维度,那么该颜色维度上的表示各种颜色的原始字符向量值的出现频率就会非常低、甚至没有出现。由于这些出现频率很低的原始字符向量值在进行NER识别时会被用到的几率很低,其对NER识别精度的影响也就很小、甚至没有影响。由此,为了减少这些出现频率很低的原始字符向量值的不必要的存储空间占用,可以将这些出现频率很低的字符向量值先去掉。
具体至本实施例,由于原始字符向量的每一维的原始字符向量值是16位的整型值,则NER模型的原始字符向量值的范围在-32768到32767内,共65535个数值。在利用训练样本(通常为特定领域的训练样本,具体视应用场合而定)对NER模型进行训练后,会有至少一半以上的原始字符向量值的出现频率都很低(如只有1次)、甚至一次也没有出现。因此,本实施例中可将那些出现频率很低的原始字符向量值去掉,仅统计出现次数大于或等于预设次数的原始字符向量值的数量。例如,将出现次数小于2的整型值去掉,则统计出出现次数大于或等于2的原始字符向量值的数量为N。由前面分析可知,N≤215
步骤S508,根据出现次数大于或等于预设次数的原始字符向量值的数量,确定对出现次数大于或等于预设次数的原始字符向量值进行指定进制编码所需的最少位数。
例如,假设指定进制编码为二进制编码,则根据出现次数大于或等于2的原始字符向量值的数量N以及公式2n≥N,得到表达N个整型值最少需要n位的编码,n即表示编码位数。由前面分析可知,N的数值≤215,从而使得n<16。当然,指定进制编码也可以为其他进制编码,如十六进制编码等,本发明对此不作具体限制。
步骤S510,根据所确定的最少位数对出现次数大于或等于预设次数的原始字符向量值进行指定进制编码,并将出现次数小于预设次数的原始字符向量值编码为0,得到与每一原始字符向量值对应的压缩编码后的字符向量值,并根据与每一原始字符向量值对应的压缩编码后的字符向量值生成字符向量压缩编码表。
表4中示意性地示出了根据统计的出现次数对原始字符向量值进行二进制编码后得到的字符向量压缩编码表。需要说明的是,表4中的“出现次数”一列仅为说明性用途,在正式部署的字符向量压缩编码表中可不包括“出现次数”列。
表4字符向量压缩编码表
Figure BDA0002368532200000141
由表4可见,第一行向量值-32768,对应压缩编码后的字符向量值是二进制00000…001表示;第二行向量值-32767,对应压缩编码后的字符向量值是二进制00000…010表示;依此类推。其中,向量值-32763的出现次数为0次,所以此整型值编码为0(由二进制的n个0表示)。同样地,向量值32765出现次数为1次,也编码为0。
通过将出现次数小于预设次数的原始字符向量值编码为0,能够在仅轻微牺牲NER识别精度的前提下,大大减少出现次数小于预设次数的原始字符向量值的存储空间占用。
步骤S512,根据待识别训练样本中的每个字符对应的索引值和预设维数的原始字符向量以及与每一原始字符向量值对应的压缩编码后的字符向量值,生成编码后字符向量表。
表5中示意性地示出了所生成的编码后字符向量表。
表5编码后字符向量表
索引值 300维字符向量
1 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
2 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
3 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
4 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
5 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
6 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
7 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
k-2 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
k-1 U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
k U<sub>1</sub>,U<sub>2</sub>,…,U<sub>300</sub>
在表5中,U1、U2、…、U300等表示字符向量中的n位整型值。需要说明的是,每个字符对应的300维字符向量实质上是各不相同的,表5中仅是出于简化表达的目的,采用了相同的符号进行表示。
由此可见,通过等长编码进行压缩编码后,若每一个字符对应300个原始字符向量值,每一个原始字符向量值都用表4中的压缩编码后的字符向量值代替,由于每个字符向量值从16位变成了n位,减少了位长,则每个字符的300维字符向量减少了300×(16-n)位存储空间。假如字符数量k=10000,则总共能节省10000×300×(16-n)位存储空间。
如此,最终的字符向量表(称为“编码后字符向量表”)里存储的是新的n位编码,相比16位编码的存储空间占用要小很多。在部署时不需要保存表3的每个字符的原始的300维字符向量,而只需要部署表5的编码后字符向量表和表4的字符向量压缩编码表,将它们存储在加载神经网络的系统的存储设备中。
以上介绍了本发明的实施例的各个环节的多种实现方式。需要说明的是,实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质。该计算机可读存储介质存储有计算机程序代码,当该计算机程序代码在电子设备上运行时,导致电子设备执行上述任意一个实施例或其组合的基于神经网络的命名实体识别方法。
基于同一发明构思,本发明实施例还提供了一种电子设备100。如图6所示,电子设备100包括处理器110以及存储器120。存储器120存储有计算机程序代码。当该计算机程序代码被处理器110运行时,导致电子设备100执行上述任意一个实施例或其组合的基于神经网络的命名实体识别方法。
基于同一发明构思,本发明实施例还提供了一种车机(车载信息娱乐系统,In-Vehicle Infotainment,简称IVI或者车机)10。
如图7所示,该车机10包括上述电子设备100。
根据上述任意一个可选实施例或多个可选实施例的组合,本发明实施例能够达到如下有益效果:
本发明实施例提供的基于神经网络的命名实体识别方法,在得到待识别字符串中每一字符对应的索引值后,根据该索引值、以及预先部署的编码后字符向量表和字符向量压缩编码表,反向查找得到待识别字符串的原始字符向量矩阵,进而根据待识别字符串的原始字符向量矩阵,通过神经网络进行推理,识别出待识别字符串中的命名实体和命名实体对应的标签。在本方法中,只需要在神经网络内预先部署编码后字符向量表和字符向量压缩编码表,而无需保存字符的原始字符向量。由于压缩编码后的字符向量值的编码位数小于原始字符向量值的编码位数,因此,压缩编码后的字符向量所占用的存储空间显著少于原始字符向量所占用的存储空间,从而实现节省存储空间,进而减少芯片的内存空间尺寸的效果。
进一步地,编码后字符向量表和字符向量压缩编码表是通过在进行神经网络的训练时,根据每一原始字符向量值在待识别训练样本中的所有字符对应的原始字符向量中的出现次数,采用指定编码方式对每一原始字符向量值进行压缩编码后得到的。通过采用恰当的压缩编码方式(如哈夫曼编码或等长编码),提高字符向量的存储效率。
本发明的方案特别适合应用于车辆车载领域的神经网络模型,起到节省资源、提高产品性价比的效果,提高了用户体验。
所属领域的技术人员可以清楚地了解到,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:所述集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行所述指令时执行本发明各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。

Claims (9)

1.一种基于神经网络的命名实体识别方法,其特征在于,包括:
接收输入的待识别字符串,并根据预置的字符与索引值的对应关系,得到所述待识别字符串中每一字符对应的索引值;
根据所述待识别字符串中每一字符对应的索引值,在预先部署的编码后字符向量表中查找与所述待识别字符串中每一字符对应的索引值相对应的压缩编码后的字符向量,得到所述待识别字符串的压缩编码后向量矩阵,其中,所述压缩编码后的字符向量为由压缩编码后的字符向量值组成的预设维数的数组;
根据预先部署的字符向量压缩编码表中压缩编码后的字符向量值与原始字符向量值的映射关系,将所得到的所述待识别字符串的压缩编码后向量矩阵中的每一个压缩编码后的字符向量值用所述字符向量压缩编码表中的原始字符向量值代替,得到所述待识别字符串的原始字符向量矩阵,其中,所述压缩编码后的字符向量值的编码位数小于所述原始字符向量值的编码位数;
根据所述待识别字符串的原始字符向量矩阵,通过所述神经网络进行推理,识别出所述待识别字符串中的命名实体和所述命名实体对应的标签;
其中,所述编码后字符向量表和所述字符向量压缩编码表通过以下方式得到:
在进行所述神经网络模型的训练时,接收包含多个字符的待识别训练样本,通过所述神经网络模型对所述待识别训练样本进行识别,得到所述待识别训练样本中的每个字符对应的索引值和预设维数的原始字符向量,所述原始字符向量由与所述字符对应的原始字符向量值组成;
统计在所述待识别训练样本中的所有字符对应的原始字符向量中每一原始字符向量值的出现次数;
根据所统计的每一原始字符向量值的出现次数对每一原始字符向量值进行编码,得到与每一原始字符向量值对应的压缩编码后的字符向量值,并根据与每一原始字符向量值对应的压缩编码后的字符向量值生成所述字符向量压缩编码表;
根据所述待识别训练样本中的每个字符对应的索引值和预设维数的原始字符向量以及与每一原始字符向量值对应的压缩编码后的字符向量值,生成所述编码后字符向量表。
2.根据权利要求1所述的命名实体识别方法,其特征在于,所述根据所统计的每一原始字符向量值的出现次数对每一原始字符向量值进行编码包括:
统计出现次数大于或等于预设次数的原始字符向量值的数量;
根据所述出现次数大于或等于预设次数的原始字符向量值的数量,确定对所述出现次数大于或等于预设次数的原始字符向量值进行指定进制编码所需的最少位数;
根据所确定的最少位数对所述出现次数大于或等于预设次数的原始字符向量值进行指定进制编码,并将出现次数小于所述预设次数的原始字符向量值编码为0。
3.根据权利要求1或2所述的命名实体识别方法,其特征在于,所述压缩编码后的字符向量值和所述原始字符向量值均为量化整型值。
4.根据权利要求3所述的命名实体识别方法,其特征在于,所述原始字符向量值为16位量化整型值。
5.根据权利要求2所述的命名实体识别方法,其特征在于,所述指定进制编码为二进制编码。
6.根据权利要求1或2所述的命名实体识别方法,其特征在于,所述字符包括中文字和/或中文词。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码在电子设备上运行时,导致所述电子设备执行根据权利要求1-6中任一项所述的基于神经网络的命名实体识别方法。
8.一种电子设备,其特征在于,包括:
处理器;以及
存储有计算机程序代码的存储器;
当所述计算机程序代码被所述处理器运行时,导致所述电子设备执行根据权利要求1-6中任一项所述的基于神经网络的命名实体识别方法。
9.一种车机,其特征在于,包括根据权利要求8所述的电子设备。
CN202010043418.6A 2020-01-15 2020-01-15 一种基于神经网络的命名实体识别方法和车机 Active CN111274816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010043418.6A CN111274816B (zh) 2020-01-15 2020-01-15 一种基于神经网络的命名实体识别方法和车机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010043418.6A CN111274816B (zh) 2020-01-15 2020-01-15 一种基于神经网络的命名实体识别方法和车机

Publications (2)

Publication Number Publication Date
CN111274816A CN111274816A (zh) 2020-06-12
CN111274816B true CN111274816B (zh) 2021-05-18

Family

ID=70999040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010043418.6A Active CN111274816B (zh) 2020-01-15 2020-01-15 一种基于神经网络的命名实体识别方法和车机

Country Status (1)

Country Link
CN (1) CN111274816B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111951959A (zh) * 2020-08-23 2020-11-17 云知声智能科技股份有限公司 基于强化学习的对话式导诊方法、装置及存储介质
CN112418173A (zh) * 2020-12-08 2021-02-26 北京声智科技有限公司 异常声音识别方法、装置及电子设备
CN114692631B (zh) * 2020-12-28 2024-07-23 株式会社理光 命名实体的识别方法、装置及计算机可读存储介质
CN113441421B (zh) * 2021-07-22 2022-12-13 北京信息科技大学 一种自动垃圾分类系统和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204399A (ja) * 1992-01-29 1993-08-13 Meidensha Corp 不特定話者音素認識方法
CN108415888A (zh) * 2018-02-12 2018-08-17 苏州思必驰信息科技有限公司 用于神经网络语言模型的压缩方法和系统
CN110209859B (zh) * 2019-05-10 2022-12-27 腾讯科技(深圳)有限公司 地点识别及其模型训练的方法和装置以及电子设备
CN110516247B (zh) * 2019-08-27 2021-11-16 湖北亿咖通科技有限公司 基于神经网络的命名实体识别方法及计算机存储介质

Also Published As

Publication number Publication date
CN111274816A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
CN111274816B (zh) 一种基于神经网络的命名实体识别方法和车机
CN107590192B (zh) 文本问题的数学化处理方法、装置、设备和存储介质
US9223765B1 (en) Encoding and decoding data using context model grouping
CN112148877B (zh) 语料文本的处理方法、装置及电子设备
US5488719A (en) System for categorizing character strings using acceptability and category information contained in ending substrings
US20190074847A1 (en) Coding Method, Decoding Method, Coder, and Decoder
WO2006019763A1 (en) System and method for static huffman decoding
CN107273352B (zh) 一种基于Zolu函数的词嵌入学习模型及训练方法
CN111241829B (zh) 一种基于神经网络的智能歌词修改方法及辅助系统
KR20110007865A (ko) 데이터의 압축방법
US20200110767A1 (en) Context-dependent shared dictionaries
CN101295506B (zh) 脉冲编解码方法及脉冲编解码器
CN111814479B (zh) 一种企业简称生成及其模型的训练方法及装置
JPS6356726B2 (zh)
CN111159394A (zh) 一种文本摘要生成方法和装置
CN111581377B (zh) 文本分类方法、装置、存储介质及计算机设备
CN111916063A (zh) 基于bpe编码的序列化方法、训练方法、系统及存储介质
JPWO2007108395A1 (ja) 可変長符号の復号装置および復号方法
US20130318093A1 (en) Short string compression
CN112612762B (zh) 数据处理方法及相关设备
Lu et al. A hardware-oriented and memory-efficient method for CTC decoding
CN110348021B (zh) 基于命名实体模型的字符串识别方法、电子设备、存储介质
CN112966501A (zh) 一种新词发现方法、系统、终端及介质
CN111291788A (zh) 一种基于神经网络的图像描述方法、系统、设备以及介质
EP0638187B1 (en) Categorizing strings in character recognition

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
TR01 Transfer of patent right

Effective date of registration: 20220420

Address after: 430000 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industry Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan, Hubei Province

Patentee after: Yikatong (Hubei) Technology Co.,Ltd.

Address before: No.c101, chuanggu start up area, taizihu cultural Digital Industrial Park, No.18 Shenlong Avenue, Wuhan Economic Development Zone, Hubei Province

Patentee before: HUBEI ECARX TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right