槽位填充方法、装置、设备及存储介质
技术领域
本发明涉及人工智能
技术领域
,尤其涉及一种槽位填充方法、装置、设备及存储介质。背景技术
槽位填充能够将用户隐式的意图转化为显式的指令进而辅助计算机执行相应操作。目前的槽位填充方式主要是通过对文本中的字符进行序列标注完成的,然而,这种方式没有利用到文本中的词汇信息,从而导致槽位填充方式不准确,此外,通过解析文本中分词的语义也能完成槽位填充,然而,在无法准确对文本进行分词时,导致无法准确的解析出文本中的语义,进而导致无法准确的对文本进行槽位填充。
发明内容
鉴于以上内容,有必要提供一种槽位填充方法、装置、设备及存储介质,能够提高槽位标签的确定准确度。
一方面,本发明提出一种槽位填充方法,所述槽位填充方法包括:
当接收到槽位填充请求时,根据所述槽位填充请求获取待分析文本;
对所述待分析文本进行切分,得到多个字符,并基于每个字符遍历预设词典,得到与每个字符匹配的词典分词;
根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇,并根据每个字符在所述目标词汇中的位置确定所述目标词汇的词汇类型;
根据所述词汇类型对所述目标词汇进行表征处理,得到表征向量;
计算所述目标词汇的词汇重要度,并根据所述词汇重要度及所述表征向量生成每个字符的词汇向量;
获取每个字符的字符向量,并拼接所述字符向量及所述词汇向量,得到每个字符的目标向量;
将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签。
根据本发明优选实施例,所述根据所述槽位填充请求获取待分析文本包括:
解析所述槽位填充请求的报文头,得到所述报文头携带的地址信息;
从所述地址信息中获取指示发送的信息作为发送地址;
将与所述发送地址对应的设备确定为发送终端;
从所述发送终端中获取对话场次,并获取所述多个对话场次的对话时间;
将所述对话时间距离当前时间最近的所述对话场次确定为目标场次;
获取所述目标场次中的文本信息作为所述待分析文本。
根据本发明优选实施例,所述根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇包括:
基于配置词典对所述待分析文本进行分词处理,得到多个文本分词;
从所述多个文本分词中获取每个字符所在的分词作为字符词汇;
确定所述词典分词与所述字符词汇的交集;
将所述交集中的所有词汇确定为所述目标词汇。
根据本发明优选实施例,所述计算所述目标词汇的词汇重要度包括:
计算所述目标词汇在所述多个文本分词中的词汇数量,并计算所述多个文本分词的分词总量;
将所述词汇数量除以所述分词总量,得到所述目标词汇在所述待分析文本中的词频;
获取所述配置词典的生成文件,并计算所述生成文件的文件总量;
从所述生成文件中获取包含有所述目标词汇的目标文件,并计算所述目标文件的目标数量;
计算所述文件总量与所述目标数量的比值,并计算所述比值的对数值,得到所述目标词汇的逆文档频率;
计算所述词典与所述逆文档频率的乘积,得到所述词汇重要度。
根据本发明优选实施例,所述根据所述词汇重要度及所述表征向量生成每个字符的词汇向量包括:
将所述词汇重要度确定为所述表征向量的权值;
根据所述权值对所述词汇向量进行加权和运算,得到所述词汇向量。
根据本发明优选实施例,在将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签之前,所述方法还包括:
获取预设网络,所述预设网络包括编码层、意图识别层及槽位识别层;
获取对话训练样本,所述对话训练样本中包括数据文本及槽位标签;
获取所述数据文本的文本输入向量;
将所述文本输入向量输入至所述编码层进行编码训练,得到编码输出向量;
从所述编码输出向量中提取所述数据文本的语义向量,并将所述语义向量输入至所述意图识别层进行意图识别训练,得到意图向量;
将所述编码输出向量及所述意图向量输入至槽位识别层进行分析,得到槽位特征向量;
将所述槽位特征向量中取值最大的元素对应的类别确定为所述数据样本的预测类别;
根据预设类别向量表获取所述预测类别的预测向量,并根据所述预设类别向量表获取所述槽位标签的标签向量;
计算所述预测向量与所述标签向量的相似度;
根据所述预测向量及所述标签向量调整所述预设网络的参数,直至所述相似度小于预设阈值,得到所述槽位填充模型。
根据本发明优选实施例,所述将所述编码输出向量及所述意图向量输入至槽位识别层进行分析,得到槽位特征向量包括:
从所述编码输出向量中提取所述数据文本中每个数据分词的分词表征向量;
根据所述编码输出向量对所述分词表征向量进行上下文分析,得到每个数据分词的上下文表征向量;
拼接每个所述上下文表征向量及所述意图向量,得到拼接向量;
对所述拼接向量进行线性变换,得到门控向量;
计算每个分词表征向量与所述门控向量的乘积,得到每个数据分词的分词交互向量;
获取配置矩阵及配置参数;
将所述分词交互向量乘以所述配置矩阵,并加上所述配置参数,得到每个数据分词的运算向量;
确定每个数据分词在所述数据文本中的分词位置;
根据所述分词位置拼接所述运算向量,得到所述槽位特征向量。
另一方面,本发明还提出一种槽位填充装置,所述槽位填充装置包括:
获取单元,用于当接收到槽位填充请求时,根据所述槽位填充请求获取待分析文本;
遍历单元,用于对所述待分析文本进行切分,得到多个字符,并基于每个字符遍历预设词典,得到与每个字符匹配的词典分词;
确定单元,用于根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇,并根据每个字符在所述目标词汇中的位置确定所述目标词汇的词汇类型;
处理单元,用于根据所述词汇类型对所述目标词汇进行表征处理,得到表征向量;
生成单元,用于计算所述目标词汇的词汇重要度,并根据所述词汇重要度及所述表征向量生成每个字符的词汇向量;
拼接单元,用于获取每个字符的字符向量,并拼接所述字符向量及所述词汇向量,得到每个字符的目标向量;
输入单元,用于将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签。
另一方面,本发明还提出一种电子设备,所述电子设备包括:
存储器,存储计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现所述槽位填充方法。
另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述槽位填充方法。
由以上技术方案可以看出,本发明通过切分所述待分析文本,能够准确的获取到所述待分析文本中的多个字符,进而根据每个字符在所述待分析文本中的字符词汇及所述预设词典能够准确的确定出所述目标词汇,进一步地,通过所述词汇类型及所述词汇重要度确定出每个字符的词汇向量,由于根据不同的词汇类型对所述目标词汇分别进行表征处理,以及,通过确定所述词汇重要度对所述词汇向量进行运算,因此,能够双重提高所述词汇向量的确定准确度,进而使所述目标向量中包含有字符本身的特征信息及字符在所述待分析文本中的词汇信息,从而能够提高所述槽位标签的确定准确度。本发明在字符标注序列中引入字符相关的词汇信息,能够加强槽位边界的识别,从而提升槽位填充任务的效果。
附图说明
图1是本发明槽位填充方法的较佳实施例的流程图。
图2是本发明槽位填充装置的较佳实施例的功能模块图。
图3是本发明实现槽位填充方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明槽位填充方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述槽位填充方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。
所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(CloudComputing)的由大量主机或网络电子设备构成的云。
所述电子设备所处的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,当接收到槽位填充请求时,根据所述槽位填充请求获取待分析文本。
在本发明的至少一个实施例中,所述槽位填充请求可以由任一聊天机器人触发生成。所述槽位填充请求中包括,但不限于:发送地址、请求编号等。所述槽位填充请求包含有报文头及方法体。
所述待分析文本是指需要进行槽位填充的文本,所述待分析文本可以是人机对话文本,也可以是用户输入至聊天机器人中的输入信息。
在本发明的至少一个实施例中,所述电子设备根据所述槽位填充请求获取待分析文本包括:
解析所述槽位填充请求的报文头,得到所述报文头携带的地址信息;
从所述地址信息中获取指示发送的信息作为发送地址;
将与所述发送地址对应的设备确定为发送终端;
从所述发送终端中获取对话场次,并获取所述多个对话场次的对话时间;
将所述对话时间距离当前时间最近的所述对话场次确定为目标场次;
获取所述目标场次中的文本信息作为所述待分析文本。
其中,所述地址信息包括所述发送地址及目的地址。
所述发送终端可以是生成所述槽位填充请求的聊天机器人。
所述对话场次是指所述发送终端中所有聊天场次。
所述对话时间是指触发所述对话场次生成的时间。
通过解析所述报文头,能够快速获取到所述地址信息,进而能够快速获取到所述待分析文本,通过所述发送终端及所述对话时间能够准确的确定出所述目标场次,进而能够准确的获取到所述待分析文本。
S11,对所述待分析文本进行切分,得到多个字符,并基于每个字符遍历预设词典,得到与每个字符匹配的词典分词。
在本发明的至少一个实施例中,每个字符都属于单字符类型,也就是说每个字符中仅包含有一个字。
所述预设词典中存储有所述所有预设词汇,所述所有预设词汇是预先设定的。
所述词典分词是指包含有所述字符且存在于所述预设词典中的词汇。
在本发明的至少一个实施例中,所述电子设备对所述待分析文本进行切分,得到多个字符包括:
对所述待分析文本进行序列标注,得到所述多个字符。
例如,所述待分析文本为“播放大梦想家”,经序列标注后,得到所述多个字符分别为“播”、“放”、“大”、“梦”、“想”、“家”。
通过上述实施方式,能够快速生成所述多个字符。
在本发明的至少一个实施例中,所述电子设备基于每个字符遍历预设词典,得到与每个字符匹配的词典分词包括:
获取所述预设词典中的所有预设词汇;
从所述所有预设词汇中获取包含有所述字符的词汇作为所述词典分词。
通过上述实施方式,能够全面的获取到所述词典分词。
S12,根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇,并根据每个字符在所述目标词汇中的位置确定所述目标词汇的词汇类型。
在本发明的至少一个实施例中,所述目标词汇是指既存在于所述预设词典,又存在于所述待分析文本中的词汇。
所述词汇类型包括第一类型、第二类型、第三类型及第四类型。所述第一类型、所述第二类型及所述第三类型是根据所述字符在所述目标词汇中的位置确定,所述第四类型是指单字符型,即所述目标词汇为该字符使,所述目标词汇属于所述第四类型。
在本发明的至少一个实施例中,所述电子设备根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇包括:
基于配置词典对所述待分析文本进行分词处理,得到多个文本分词;
从所述多个文本分词中获取每个字符所在的分词作为字符词汇;
确定所述词典分词与所述字符词汇的交集;
将所述交集中的所有词汇确定为所述目标词汇。
其中,所述配置词典是通过对多个文件进行词汇标注而得到的。
承接上述例子,对于字符“梦”,所述字符“梦”对应的文本分词为:“大梦”、“梦想”、“大梦想”、“大梦想家”,所述字符“梦”对应的词典分词为:“做梦”、“梦想”、“大梦想”、“大梦想家”,经确定,得到所述字符“梦”对应的目标词汇为:“梦想”、“大梦想”、“大梦想家”。
通过所述词典分词及所述字符分词的双重判定,能够准确的确定出每个字符在所述待分析文本中的词汇特征信息。
在本发明的至少一个实施例中,所述电子设备根据每个字符在所述目标词汇中的位置确定所述目标词汇的词汇类型包括:
确定所述字符在所述目标词汇中的字符位置;
若所述字符位置为首位,将所述词汇类型确定为第一类型;或者
若所述字符位置为中间,将所述词汇类型确定为第二类型;或者
若所述字符位置为末位,将所述词汇类型确定为第三类型;或者
若所述目标词汇为所述字符,将所述词汇类型确定为第四类型。
其中,所述第一类型是指所述字符位于所述目标词汇中的首位,所述第二类型是指所述字符位于所述目标词汇中的中间位置,所述第三类型是指所述字符位于所述目标词汇中的末位,所述第四类型是指所述目标词汇为单一字符。
例如:对于字符“梦”对应的目标词汇:“梦想”、“大梦想”、“大梦想家”,“梦想”为所述第一类型,“大梦想”为所述第二类型,“大梦想家”为所述第二类型。
通过所述字符位置能够快速确定出所述目标词汇的词汇类型,从而能够快速确定出所述表征向量。
S13,根据所述词汇类型对所述目标词汇进行表征处理,得到表征向量。
在本发明的至少一个实施例中,所述表征向量是指每个词汇类型对应的向量映射表对所述目标词汇的表征。
在本发明的至少一个实施例中,所述电子设备根据所述词汇类型对所述目标词汇进行表征处理,得到表征向量包括:
获取与所述词汇类型对应的向量映射表;
从所述向量映射表中获取与所述目标词汇对应的向量作为所述表征向量。
通过所述向量映射表的筛选,能够快速对所述目标词汇进行表征处理,能够快速确定出所述表征向量,同时,由于每个词汇类型对应有不同的向量映射表,因此,能够准确的为所述目标词汇进行表征,从而能够准确的生成所述表征向量。
S14,计算所述目标词汇的词汇重要度,并根据所述词汇重要度及所述表征向量生成每个字符的词汇向量。
在本发明的至少一个实施例中,所述词汇重要度是指基于配置词典这一基准下,所述目标词汇在所述待分析文本中的重要性。
所述词汇向量是指每个字符中的词汇特征对应的向量。
在本发明的至少一个实施例中,所述电子设备计算所述目标词汇的词汇重要度包括:
计算所述目标词汇在所述多个文本分词中的词汇数量,并计算所述多个文本分词的分词总量;
将所述词汇数量除以所述分词总量,得到所述目标词汇在所述待分析文本中的词频;
获取所述配置词典的生成文件,并计算所述生成文件的文件总量;
从所述生成文件中获取包含有所述目标词汇的目标文件,并计算所述目标文件的目标数量;
计算所述文件总量与所述目标数量的比值,并计算所述比值的对数值,得到所述目标词汇的逆文档频率;
计算所述词典与所述逆文档频率的乘积,得到所述词汇重要度。
由于所述多个文本分词是根据所述配置词典切分的,因此,通过所述配置词典能够在同一基准上确定出每个目标词汇的所述词汇重要度,提高了所述词汇重要度的确定准确率,从而能够提高所述词汇向量的生成准确率。
在本发明的至少一个实施例中,所述电子设备根据所述词汇重要度及所述表征向量生成每个字符的词汇向量包括:
将所述词汇重要度确定为所述表征向量的权值;
根据所述权值对所述词汇向量进行加权和运算,得到所述词汇向量。
通过所述权值对所述词汇向量的运算,能够提高所述词汇向量的生成准确率。
S15,获取每个字符的字符向量,并拼接所述字符向量及所述词汇向量,得到每个字符的目标向量。
在本发明的至少一个实施例中,所述字符向量是指该字符的表征。
所述目标向量中包含有每个字符特征及该字符在所述待分析文本中的词汇特征。
在本发明的至少一个实施例中,所述电子设备基于字符向量表获取与每个字符对应的向量作为所述字符向量。
在本发明的至少一个实施例中,所述电子设备将所述字符向量的向量末端与所述词汇向量的向量首端进行拼接,得到所述目标向量。
S16,将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签。
需要强调的是,为进一步保证上述槽位标签的私密和安全性,上述槽位标签还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述槽位填充模型用于识别出文本中的槽位信息,以便机器人根据槽位信息执行相应操作。
所述槽位标签是指所述待分析文本对应的槽位信息。
在本发明的至少一个实施例中,在将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签之前,所述方法还包括:
获取预设网络,所述预设网络包括编码层、意图识别层及槽位识别层;
获取对话训练样本,所述对话训练样本中包括数据文本及槽位标签;
获取所述数据文本的文本输入向量;
将所述文本输入向量输入至所述编码层进行编码训练,得到编码输出向量;
从所述编码输出向量中提取所述数据文本的语义向量,并将所述语义向量输入至所述意图识别层进行意图识别训练,得到意图向量;
将所述编码输出向量及所述意图向量输入至槽位识别层进行分析,得到槽位特征向量;
将所述槽位特征向量中取值最大的元素对应的类别确定为所述数据样本的预测类别;
根据预设类别向量表获取所述预测类别的预测向量,并根据所述预设类别向量表获取所述槽位标签的标签向量;
计算所述预测向量与所述标签向量的相似度;
根据所述预测向量及所述标签向量调整所述预设网络的参数,直至所述相似度小于预设阈值,得到所述槽位填充模型。
其中,所述预设网络是指预先设定好的学习器。
所述文本输入向量的确定方式与所述目标向量的确定方式相同,所述文本输入向量中预先存储在训练库中,以便训练所述槽位填充模型时能够快速获取。
所述预设类别向量表是预先训练的与槽位信息对应的向量表。
所述预设阈值是根据所述槽位填充模型的准确度需求确定的。
通过所述相似度对所述预设网络的参数的调节,能够提高所述槽位填充模型的识别准确率。
具体地,所述电子设备将所述编码输出向量及所述意图向量输入至槽位识别层进行分析,得到槽位特征向量包括:
从所述编码输出向量中提取所述数据文本中每个数据分词的分词表征向量;
根据所述编码输出向量对所述分词表征向量进行上下文分析,得到每个数据分词的上下文表征向量;
拼接每个所述上下文表征向量及所述意图向量,得到拼接向量;
对所述拼接向量进行线性变换,得到门控向量;
计算每个分词表征向量与所述门控向量的乘积,得到每个数据分词的分词交互向量;
获取配置矩阵及配置参数;
将所述分词交互向量乘以所述配置矩阵,并加上所述配置参数,得到每个数据分词的运算向量;
确定每个数据分词在所述数据文本中的分词位置;
根据所述分词位置拼接所述运算向量,得到所述槽位特征向量。
其中,所述配置矩阵及所述配置参数可以自定义设置。
通过将每个数据分词与所述数据文本中除该数据分词外的分词进行交互,从而能够准确的确定出所述分词交互向量,进而通过所述配置矩阵及所述配置参数,使生成的所述槽位特征向量能够准确的确定出所述预测类别,避免在根据所述槽位特征向量确定出所述预测类别对所述槽位填充模型的影响,从而能够提高所述槽位填充模型的填充准确性。
在本发明的至少一个实施例中,在得到槽位标签后,所述方法还包括:
获取所述槽位填充请求的请求编号;
根据所述请求编号及所述语义信息生成提示信息;
采用对称加密技术加密所述提示信息,得到密文;
将所述密文发送至指定联系人的终端设备。
通过上述实施方式,不仅能够提高所述槽位标签的安全性,还能够提高所述槽位标签的及时性。
由以上技术方案可以看出,本发明通过切分所述待分析文本,能够准确的获取到所述待分析文本中的多个字符,进而根据每个字符在所述待分析文本中的字符词汇及所述预设词典能够准确的确定出所述目标词汇,进一步地,通过所述词汇类型及所述词汇重要度确定出每个字符的词汇向量,由于根据不同的词汇类型对所述目标词汇分别进行表征处理,以及,通过确定所述词汇重要度对所述词汇向量进行运算,因此,能够双重提高所述词汇向量的确定准确度,进而使所述目标向量中包含有字符本身的特征信息及字符在所述待分析文本中的词汇信息,从而能够提高所述槽位标签的确定准确度。本发明在字符标注序列中引入字符相关的词汇信息,能够加强槽位边界的识别,从而提升槽位填充任务的效果。
如图2所示,是本发明槽位填充装置的较佳实施例的功能模块图。所述槽位填充装置11包括获取单元110、遍历单元111、确定单元112、处理单元113、生成单元114、拼接单元115、输入单元116、计算单元117、调整单元118、加密单元119及发送单元120。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
当接收到槽位填充请求时,获取单元110根据所述槽位填充请求获取待分析文本。
在本发明的至少一个实施例中,所述槽位填充请求可以由任一聊天机器人触发生成。所述槽位填充请求中包括,但不限于:发送地址、请求编号等。所述槽位填充请求包含有报文头及方法体。
所述待分析文本是指需要进行槽位填充的文本,所述待分析文本可以是人机对话文本,也可以是用户输入至聊天机器人中的输入信息。
在本发明的至少一个实施例中,所述获取单元110根据所述槽位填充请求获取待分析文本包括:
解析所述槽位填充请求的报文头,得到所述报文头携带的地址信息;
从所述地址信息中获取指示发送的信息作为发送地址;
将与所述发送地址对应的设备确定为发送终端;
从所述发送终端中获取对话场次,并获取所述多个对话场次的对话时间;
将所述对话时间距离当前时间最近的所述对话场次确定为目标场次;
获取所述目标场次中的文本信息作为所述待分析文本。
其中,所述地址信息包括所述发送地址及目的地址。
所述发送终端可以是生成所述槽位填充请求的聊天机器人。
所述对话场次是指所述发送终端中所有聊天场次。
所述对话时间是指触发所述对话场次生成的时间。
通过解析所述报文头,能够快速获取到所述地址信息,进而能够快速获取到所述待分析文本,通过所述发送终端及所述对话时间能够准确的确定出所述目标场次,进而能够准确的获取到所述待分析文本。
遍历单元111对所述待分析文本进行切分,得到多个字符,并基于每个字符遍历预设词典,得到与每个字符匹配的词典分词。
在本发明的至少一个实施例中,每个字符都属于单字符类型,也就是说每个字符中仅包含有一个字。
所述预设词典中存储有所述所有预设词汇,所述所有预设词汇是预先设定的。
所述词典分词是指包含有所述字符且存在于所述预设词典中的词汇。
在本发明的至少一个实施例中,所述遍历单元111对所述待分析文本进行切分,得到多个字符包括:
对所述待分析文本进行序列标注,得到所述多个字符。
例如,所述待分析文本为“播放大梦想家”,经序列标注后,得到所述多个字符分别为“播”、“放”、“大”、“梦”、“想”、“家”。
通过上述实施方式,能够快速生成所述多个字符。
在本发明的至少一个实施例中,所述遍历单元111基于每个字符遍历预设词典,得到与每个字符匹配的词典分词包括:
获取所述预设词典中的所有预设词汇;
从所述所有预设词汇中获取包含有所述字符的词汇作为所述词典分词。
通过上述实施方式,能够全面的获取到所述词典分词。
确定单元112根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇,并根据每个字符在所述目标词汇中的位置确定所述目标词汇的词汇类型。
在本发明的至少一个实施例中,所述目标词汇是指既存在于所述预设词典,又存在于所述待分析文本中的词汇。
所述词汇类型包括第一类型、第二类型、第三类型及第四类型。所述第一类型、所述第二类型及所述第三类型是根据所述字符在所述目标词汇中的位置确定,所述第四类型是指单字符型,即所述目标词汇为该字符使,所述目标词汇属于所述第四类型。
在本发明的至少一个实施例中,所述确定单元112根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇包括:
基于配置词典对所述待分析文本进行分词处理,得到多个文本分词;
从所述多个文本分词中获取每个字符所在的分词作为字符词汇;
确定所述词典分词与所述字符词汇的交集;
将所述交集中的所有词汇确定为所述目标词汇。
其中,所述配置词典是通过对多个文件进行词汇标注而得到的。
承接上述例子,对于字符“梦”,所述字符“梦”对应的文本分词为:“大梦”、“梦想”、“大梦想”、“大梦想家”,所述字符“梦”对应的词典分词为:“做梦”、“梦想”、“大梦想”、“大梦想家”,经确定,得到所述字符“梦”对应的目标词汇为:“梦想”、“大梦想”、“大梦想家”。
通过所述词典分词及所述字符分词的双重判定,能够准确的确定出每个字符在所述待分析文本中的词汇特征信息。
在本发明的至少一个实施例中,所述确定单元112根据每个字符在所述目标词汇中的位置确定所述目标词汇的词汇类型包括:
确定所述字符在所述目标词汇中的字符位置;
若所述字符位置为首位,将所述词汇类型确定为第一类型;或者
若所述字符位置为中间,将所述词汇类型确定为第二类型;或者
若所述字符位置为末位,将所述词汇类型确定为第三类型;或者
若所述目标词汇为所述字符,将所述词汇类型确定为第四类型。
其中,所述第一类型是指所述字符位于所述目标词汇中的首位,所述第二类型是指所述字符位于所述目标词汇中的中间位置,所述第三类型是指所述字符位于所述目标词汇中的末位,所述第四类型是指所述目标词汇为单一字符。
例如:对于字符“梦”对应的目标词汇:“梦想”、“大梦想”、“大梦想家”,“梦想”为所述第一类型,“大梦想”为所述第二类型,“大梦想家”为所述第二类型。
通过所述字符位置能够快速确定出所述目标词汇的词汇类型,从而能够快速确定出所述表征向量。
处理单元113根据所述词汇类型对所述目标词汇进行表征处理,得到表征向量。
在本发明的至少一个实施例中,所述表征向量是指每个词汇类型对应的向量映射表对所述目标词汇的表征。
在本发明的至少一个实施例中,所述处理单元113根据所述词汇类型对所述目标词汇进行表征处理,得到表征向量包括:
获取与所述词汇类型对应的向量映射表;
从所述向量映射表中获取与所述目标词汇对应的向量作为所述表征向量。
通过所述向量映射表的筛选,能够快速对所述目标词汇进行表征处理,能够快速确定出所述表征向量,同时,由于每个词汇类型对应有不同的向量映射表,因此,能够准确的为所述目标词汇进行表征,从而能够准确的生成所述表征向量。
生成单元114计算所述目标词汇的词汇重要度,并根据所述词汇重要度及所述表征向量生成每个字符的词汇向量。
在本发明的至少一个实施例中,所述词汇重要度是指基于配置词典这一基准下,所述目标词汇在所述待分析文本中的重要性。
所述词汇向量是指每个字符中的词汇特征对应的向量。
在本发明的至少一个实施例中,所述生成单元114计算所述目标词汇的词汇重要度包括:
计算所述目标词汇在所述多个文本分词中的词汇数量,并计算所述多个文本分词的分词总量;
将所述词汇数量除以所述分词总量,得到所述目标词汇在所述待分析文本中的词频;
获取所述配置词典的生成文件,并计算所述生成文件的文件总量;
从所述生成文件中获取包含有所述目标词汇的目标文件,并计算所述目标文件的目标数量;
计算所述文件总量与所述目标数量的比值,并计算所述比值的对数值,得到所述目标词汇的逆文档频率;
计算所述词典与所述逆文档频率的乘积,得到所述词汇重要度。
由于所述多个文本分词是根据所述配置词典切分的,因此,通过所述配置词典能够在同一基准上确定出每个目标词汇的所述词汇重要度,提高了所述词汇重要度的确定准确率,从而能够提高所述词汇向量的生成准确率。
在本发明的至少一个实施例中,所述生成单元114根据所述词汇重要度及所述表征向量生成每个字符的词汇向量包括:
将所述词汇重要度确定为所述表征向量的权值;
根据所述权值对所述词汇向量进行加权和运算,得到所述词汇向量。
通过所述权值对所述词汇向量的运算,能够提高所述词汇向量的生成准确率。
拼接单元115获取每个字符的字符向量,并拼接所述字符向量及所述词汇向量,得到每个字符的目标向量。
在本发明的至少一个实施例中,所述字符向量是指该字符的表征。
所述目标向量中包含有每个字符特征及该字符在所述待分析文本中的词汇特征。
在本发明的至少一个实施例中,所述拼接单元115基于字符向量表获取与每个字符对应的向量作为所述字符向量。
在本发明的至少一个实施例中,所述拼接单元115将所述字符向量的向量末端与所述词汇向量的向量首端进行拼接,得到所述目标向量。
输入单元116将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签。
需要强调的是,为进一步保证上述槽位标签的私密和安全性,上述槽位标签还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述槽位填充模型用于识别出文本中的槽位信息,以便机器人根据槽位信息执行相应操作。
所述槽位标签是指所述待分析文本对应的槽位信息。
在本发明的至少一个实施例中,在将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签之前,所述获取单元110获取预设网络,所述预设网络包括编码层、意图识别层及槽位识别层;
所述获取单元110获取对话训练样本,所述对话训练样本中包括数据文本及槽位标签;
所述获取单元110获取所述数据文本的文本输入向量;
所述输入单元116将所述文本输入向量输入至所述编码层进行编码训练,得到编码输出向量;
所述输入单元116从所述编码输出向量中提取所述数据文本的语义向量,并将所述语义向量输入至所述意图识别层进行意图识别训练,得到意图向量;
所述输入单元116将所述编码输出向量及所述意图向量输入至槽位识别层进行分析,得到槽位特征向量;
所述确定单元112将所述槽位特征向量中取值最大的元素对应的类别确定为所述数据样本的预测类别;
所述获取单元110根据预设类别向量表获取所述预测类别的预测向量,并根据所述预设类别向量表获取所述槽位标签的标签向量;
计算单元117计算所述预测向量与所述标签向量的相似度;
调整单元118根据所述预测向量及所述标签向量调整所述预设网络的参数,直至所述相似度小于预设阈值,得到所述槽位填充模型。
其中,所述预设网络是指预先设定好的学习器。
所述文本输入向量的确定方式与所述目标向量的确定方式相同,所述文本输入向量中预先存储在训练库中,以便训练所述槽位填充模型时能够快速获取。
所述预设类别向量表是预先训练的与槽位信息对应的向量表。
所述预设阈值是根据所述槽位填充模型的准确度需求确定的。
通过所述相似度对所述预设网络的参数的调节,能够提高所述槽位填充模型的识别准确率。
具体地,所述输入单元116备将所述编码输出向量及所述意图向量输入至槽位识别层进行分析,得到槽位特征向量包括:
从所述编码输出向量中提取所述数据文本中每个数据分词的分词表征向量;
根据所述编码输出向量对所述分词表征向量进行上下文分析,得到每个数据分词的上下文表征向量;
拼接每个所述上下文表征向量及所述意图向量,得到拼接向量;
对所述拼接向量进行线性变换,得到门控向量;
计算每个分词表征向量与所述门控向量的乘积,得到每个数据分词的分词交互向量;
获取配置矩阵及配置参数;
将所述分词交互向量乘以所述配置矩阵,并加上所述配置参数,得到每个数据分词的运算向量;
确定每个数据分词在所述数据文本中的分词位置;
根据所述分词位置拼接所述运算向量,得到所述槽位特征向量。
其中,所述配置矩阵及所述配置参数可以自定义设置。
通过将每个数据分词与所述数据文本中除该数据分词外的分词进行交互,从而能够准确的确定出所述分词交互向量,进而通过所述配置矩阵及所述配置参数,使生成的所述槽位特征向量能够准确的确定出所述预测类别,避免在根据所述槽位特征向量确定出所述预测类别对所述槽位填充模型的影响,从而能够提高所述槽位填充模型的填充准确性。
在本发明的至少一个实施例中,在得到槽位标签后,所述获取单元110获取所述槽位填充请求的请求编号;
所述生成单元114根据所述请求编号及所述语义信息生成提示信息;
加密单元119采用对称加密技术加密所述提示信息,得到密文;
发送单元12将所述密文发送至指定联系人的终端设备。
通过上述实施方式,不仅能够提高所述槽位标签的安全性,还能够提高所述槽位标签的及时性。
由以上技术方案可以看出,本发明通过切分所述待分析文本,能够准确的获取到所述待分析文本中的多个字符,进而根据每个字符在所述待分析文本中的字符词汇及所述预设词典能够准确的确定出所述目标词汇,进一步地,通过所述词汇类型及所述词汇重要度确定出每个字符的词汇向量,由于根据不同的词汇类型对所述目标词汇分别进行表征处理,以及,通过确定所述词汇重要度对所述词汇向量进行运算,因此,能够双重提高所述词汇向量的确定准确度,进而使所述目标向量中包含有字符本身的特征信息及字符在所述待分析文本中的词汇信息,从而能够提高所述槽位标签的确定准确度。本发明在字符标注序列中引入字符相关的词汇信息,能够加强槽位边界的识别,从而提升槽位填充任务的效果。
如图3所示,是本发明实现槽位填充方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如槽位填充程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成获取单元110、遍历单元111、确定单元112、处理单元113、生成单元114、拼接单元115、输入单元116、计算单元117、调整单元118、加密单元119及发送单元120。
所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
结合图1,所述电子设备1中的所述存储器12存储计算机可读指令实现一种槽位填充方法,所述处理器13可执行所述计算机可读指令从而实现:
当接收到槽位填充请求时,根据所述槽位填充请求获取待分析文本;
对所述待分析文本进行切分,得到多个字符,并基于每个字符遍历预设词典,得到与每个字符匹配的词典分词;
根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇,并根据每个字符在所述目标词汇中的位置确定所述目标词汇的词汇类型;
根据所述词汇类型对所述目标词汇进行表征处理,得到表征向量;
计算所述目标词汇的词汇重要度,并根据所述词汇重要度及所述表征向量生成每个字符的词汇向量;
获取每个字符的字符向量,并拼接所述字符向量及所述词汇向量,得到每个字符的目标向量;
将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签。
具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:
当接收到槽位填充请求时,根据所述槽位填充请求获取待分析文本;
对所述待分析文本进行切分,得到多个字符,并基于每个字符遍历预设词典,得到与每个字符匹配的词典分词;
根据所述待分析文本从所述词典分词中选取出每个字符的目标词汇,并根据每个字符在所述目标词汇中的位置确定所述目标词汇的词汇类型;
根据所述词汇类型对所述目标词汇进行表征处理,得到表征向量;
计算所述目标词汇的词汇重要度,并根据所述词汇重要度及所述表征向量生成每个字符的词汇向量;
获取每个字符的字符向量,并拼接所述字符向量及所述词汇向量,得到每个字符的目标向量;
将所述目标向量输入至预先训练好的槽位填充模型中,得到槽位标签。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:文本情感分析方法和装置