本发明涉及计算机技术领域,尤其涉及一种短文本主题识别方法、装置及计算机可读存储介质。
背景技术:
如今短文本在各种应用场景中非常普遍,短文本通常是指长度比较短,一般不超过160个字符的文本形式,如微博、聊天信息、新闻主题、观点评论、问题文本、手机短信、文献摘要等。短文本中一般包含着客户的许多意图,对其进行深入的挖掘有重大的应用价值。短文本分类任务的目的就是自动对用户输入的短文本进行处理,得到有价值的输出。在聊天机器人的构建过程中,对用户的意图进行识别是其中比较重要的一个部分,但现有技术中在短文本数据的情况下计算出来的用户意图正确率较低。
技术实现要素:
本发明提供一种短文本主题识别方法、装置及计算机可读存储介质,其主要目的在于实现能准确的从短文本中识别出用户的意图,从而根据用户意图提供用户需求的服务。
为实现上述目的,本发明还提供一种短文本主题识别方法,所述方法包括:
获取短文本样本;
对短文本样本进行预处理,得到词语集;
计算所述词语集中词语的词语权重;
根据所述词语权重,计算所述词语集中词语之间的相似度;
根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词;
根据聚类后的主题词确定所述词语集中词语的词频;
利用所述词语集中词语的词频训练文档主题生成模型;
获取目标短文本消息;
将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。
优选地,所述对短文本样本进行预处理,得到词语集包括:
利用切词方法将所述短文本样本进行断字切词,得到多个字词;
从所述多个字词中去除停用词,得到处理后的字词;
对处理后的字词执行字词原形化操作,将原形化操作后的词语作为词语集。
优选地,所述计算所述词语集中词语的词语权重包括:
获取每个词语所在的文本的长度;
计算每个词语在其所在文本中出现的次数;
利用tf-idf方法,并根据每个词语所在的文本的长度及每个词语在其所在文本中出现的次数,计算每个词语的词语权重。
优选地,所述根据所述词语权重,计算所述词语集中词语之间的相似度包括:
对于任意两个词语,分别获取两个词语的文本属性,所述文本属性包括数值属性、类别属性;
根据两个词语的数值属性,计算两个词语间的数值距离;
根据两个词语的所在的类别,计算两个词语的类别间的距离;
对两个词语间的数值距离及两个词语的类别间的距离加权求和,得到所述两个词语间的相似度;
重复上述步骤,直至计算完所述词语集中任意两个词语之间的相似度。
优选地,所述根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词包括:
设置分群的群数目为k,并随机选取k个样本作为k个群的群聚中心;
根据所述词语集中词语之间的相似度,迭代计算各个群的中心,并重新分配每个词语所属的群,直至达到迭代条件,得到聚类后的每个群的主题词。
优选地,所述方法还包括:
若所述目标短文本消息的主题词不在主题词数据库时,将所述所述目标短文本消息的主题词添加至所述主题词数据库中所述主题词所属的类别。
为实现上述目的,本发明还提供一种短文本主题识别装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的短文本主题识别程序,所述短文本主题识别程序被所述处理器执行时实现如下步骤:
获取短文本样本;
对短文本样本进行预处理,得到词语集;
计算所述词语集中词语的词语权重;
根据所述词语权重,计算所述词语集中词语之间的相似度;
根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词;
根据聚类后的主题词确定所述词语集中词语的词频;
利用所述词语集中词语的词频训练文档主题生成模型;
获取目标短文本消息;
将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。
优选地,所述对短文本样本进行预处理,得到词语集包括:
利用切词方法将所述短文本样本进行断字切词,得到多个字词;
从所述多个字词中去除停用词,得到处理后的字词;
对处理后的字词执行字词原形化操作,将原形化操作后的词语作为词语集。
优选地,所述计算所述词语集中词语的词语权重包括:
获取每个词语所在的文本的长度;
计算每个词语在其所在文本中出现的次数;
利用tf-idf方法,并根据每个词语所在的文本的长度及每个词语在其所在文本中出现的次数,计算每个词语的词语权重。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有短文本主题识别程序,所述短文本主题识别程序可被一个或者多个处理器执行,以实现如上所述的短文本主题识别方法的步骤。
本发明获取短文本样本;对短文本样本进行预处理,得到词语集;计算所述词语集中词语的词语权重;根据所述词语权重,计算所述词语集中词语之间的相似度;根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词;根据聚类后的主题词确定所述词语集中词语的词频;所述词语集中词语的词频训练文档主题生成模型;获取目标短文本消息;将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。本发明能实现能准确的从短文本中识别出用户的意图,从而根据用户意图提供用户需求的服务。
附图说明
图1为本发明一实施例提供的短文本主题识别方法的流程示意图;
图2为本发明一实施例提供的短文本主题识别装置的内部结构示意图;
图3为本发明一实施例提供的短文本主题识别装置中短文本主题识别程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种短文本主题识别方法。参照图1所示,为本发明一实施例提供的短文本主题识别方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,短文本主题识别方法包括:
s10、获取短文本样本。
在本实施例中,所述短文本样本包括多个应用场景的样本,例如,微博、聊天信息、新闻主题、观点评论、问题文本、手机短信、文献摘要。当然在其他实施例中,也可以针对单一场景进行大量样本的采集。
s11、对短文本样本进行预处理,得到词语集。
在本实施例中,所述对短文本样本进行预处理,得到词语集包括:
利用切词方法将所述短文本样本进行断字切词,得到多个字词;
从所述多个字词中去除停用词,得到处理后的字词;
对处理后的字词执行字词原形化操作,将原形化操作后的词语作为词语集。
其中通过断字切词将文件所有的词透过断字切词功能撷取出来,其主要是根据词与词之间的空格或是标点符号进行分割,撷取每篇文件所出现的词以便于进行后续的字词权重值计算或lda模型之随机多项分布运算。
通过去除停用词提取文件中所出现的词后会发现庞大数量的无意义词汇,其无法帮助分析者对文件更进一步地了解,因此必须先进行赘词过滤,删除其不具代表性的停用字词汇。去除停用词的好处在于能够提升后续字词处理运算的速度并降低其运算的困难度。
字词原形化的目的是将英文字词中的衍生字转为原形化模式。英文会因为文件前后文的文法需求而转变为名词、动词、形容词、单复数等形态,为了避免后续字词处理时将衍生字词视为不同单字,使得后续特征值矩阵维度大幅增加,故将文件字词原形化以提高字词分析精准度
s12、计算所述词语集中词语的词语权重。
在本实施例中,所述计算所述词语集中词语的词语权重包括:
获取每个词语所在的文本的长度;
计算每个词语在其所在文本中出现的次数;
利用tf-idf方法,并根据每个词语所在的文本的长度及每个词语在其所在文本中出现的次数,计算每个词语的词语权重。
具体地,在处理完断字切词、去除停用词、字词原形化得到较有意义的字词后,在词语权重运算中,出现的频率,文章的长度都会影响权重计算之结果,本案例的一个较好实验中,采用tf-idf算法计算某词语权重值,每个词语都有一个固定的权重值。
s13、根据所述词语权重,计算所述词语集中词语之间的相似度。
在本实施例中,计算词语集中任意两个词语之间的相似度包括:
对于任意两个词语,分别获取两个词语的文本属性,所述文本属性包括数值属性、类别属性;
根据两个词语的数值属性,计算两个词语间的数值距离;
根据两个词语的所在的类别,计算两个词语的类别间的距离;
对两个词语间的数值距离及两个词语的类别间的距离加权求和,得到所述两个词语间的相似度;
重复上述步骤,直至计算完所述词语集中任意两个词语之间的相似度。
通过多种属性计算词语之间的相似度,可以更能准确的衡量词语之间的语义的相似度。
s14、根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词。
在本实施例中,所述根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词包括:
设置分群的群数目为k,并随机选取k个样本作为k个群的群聚中心;
根据所述词语集中词语之间的相似度,迭代计算各个群的中心,并重新分配每个词语所属的群,直至达到迭代条件,得到聚类后的每个群的主题词。
s15、根据聚类后的主题词确定所述词语集中词语的词频。
在本实施例中,根据聚类得到的主题集和词语集合,分别计算每个主题对应的词语,统计每个词语在主题集中出现的次数即词频,得到词频统计数据。
s16、利用所述词语集中词语的词频训练文档主题生成模型。
在本实施例中,文档主题生成模型lda(latentdirichletallocation)是对离散的数据集建模的概率增长模型,是个三层的贝叶斯模型,分为短文本集层、主题层及特征词层,每层均有相应的随机变量或参数控制。它的基本思想是文本由隐含的主题随机混合生成,每一个主题对应特定的特征词分布。lda模型假设所有的短文本存在k个隐含主题,要生成一篇短文本,首先生成该短文本的一个主题分布,然后再生成词的集合;要生成一个词,需要根据短文本的主题分布随机选择一个主题,然后根据主题中词的分布随机选择一个词,重复这个过程直至生成短文本。
lda模型是由blei等提出的,是一个“文本—主题—词”的三层贝叶斯产生式模型,每篇文本表示为主题的混合分布,而每个主题则是词上的概率分布。最初的模型只对文本—主题概率分布引入一个超参数使其服从dirichlet分布,随后griffiths等对主题—词概率分布也引入一个超参数使其服从dirichlet分布。两个超参数一般设置为α=50/t,β=0.01。lda模型的参数个数只与主题数和词数有关,参数估计是计算出文本—主题概率分布以及主题—词概率分布,即θ和φ。通过对变量z进行gibbs采样间接估算θ和φ。
s17、获取目标短文本消息。
s18、将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。
例如,客服短文本消息输入lda主题模型,得到客服意图。将客服回复的短文本消息输入到训练好的lda主题模型当中,得到短文本消息的主题词,并将输入文本传输到模型的训练文本当中,更新词语库和词语的主题词。
在本实施例中,所述方法还包括:若所述目标短文本消息的主题词不在主题词数据库时,将所述目标短文本消息的主题词添加至所述主题词数据库中所述主题词所属的类别。
本发明获取短文本样本;对短文本样本进行预处理,得到词语集;计算所述词语集中词语的词语权重;根据所述词语权重,计算所述词语集中词语之间的相似度;根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词;根据聚类后的主题词确定所述词语集中词语的词频;所述词语集中词语的词频训练文档主题生成模型;获取目标短文本消息;将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。。本发明能实现能准确的从短文本中识别出用户的意图,从而根据用户意图提供用户需求的服务。
本发明还提供一种短文本主题识别装置。参照图2所示,为本发明一实施例提供的短文本主题识别装置的内部结构示意图。
在本实施例中,短文本主题识别装置1可以是个人电脑(personalcomputer,pc),也可以是智能手机、平板电脑、便携计算机等终端设备。该短文本主题识别装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是短文本主题识别装置1的内部存储单元,例如该短文本主题识别装置1的硬盘。存储器11在另一些实施例中也可以是短文本主题识别装置1的外部存储设备,例如短文本主题识别装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括短文本主题识别装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于短文本主题识别装置1的应用软件及各类数据,例如短文本主题识别程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行短文本主题识别程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在短文本主题识别装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及短文本主题识别程序01的短文本主题识别装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对短文本主题识别装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有短文本主题识别程序01;处理器12执行存储器11中存储的短文本主题识别程序01时实现如下步骤:
获取短文本样本。
在本实施例中,所述短文本样本包括多个应用场景的样本,例如,微博、聊天信息、新闻主题、观点评论、问题文本、手机短信、文献摘要。当然在其他实施例中,也可以针对单一场景进行大量样本的采集。
对短文本样本进行预处理,得到词语集。
在本实施例中,所述对短文本样本进行预处理,得到词语集包括:
利用切词方法将所述短文本样本进行断字切词,得到多个字词;
从所述多个字词中去除停用词,得到处理后的字词;
对处理后的字词执行字词原形化操作,将原形化操作后的词语作为词语集。
其中通过断字切词将文件所有的词透过断字切词功能撷取出来,其主要是根据词与词之间的空格或是标点符号进行分割,撷取每篇文件所出现的词以便于进行后续的字词权重值计算或lda模型之随机多项分布运算。
通过去除停用词提取文件中所出现的词后会发现庞大数量的无意义词汇,其无法帮助分析者对文件更进一步地了解,因此必须先进行赘词过滤,删除其不具代表性的停用字词汇。去除停用词的好处在于能够提升后续字词处理运算的速度并降低其运算的困难度。
字词原形化的目的是将英文字词中的衍生字转为原形化模式。英文会因为文件前后文的文法需求而转变为名词、动词、形容词、单复数等形态,为了避免后续字词处理时将衍生字词视为不同单字,使得后续特征值矩阵维度大幅增加,故将文件字词原形化以提高字词分析精准度
计算所述词语集中词语的词语权重。
在本实施例中,所述计算所述词语集中词语的词语权重包括:
获取每个词语所在的文本的长度;
计算每个词语在其所在文本中出现的次数;
利用tf-idf方法,并根据每个词语所在的文本的长度及每个词语在其所在文本中出现的次数,计算每个词语的词语权重。
具体地,在处理完断字切词、去除停用词、字词原形化得到较有意义的字词后,在词语权重运算中,出现的频率,文章的长度都会影响权重计算之结果,本案例的一个较好实验中,采用tf-idf算法计算某词语权重值,每个词语都有一个固定的权重值。
根据所述词语权重,计算所述词语集中词语之间的相似度。
在本实施例中,计算词语集中任意两个词语之间的相似度包括:
对于任意两个词语,分别获取两个词语的文本属性,所述文本属性包括数值属性、类别属性;
根据两个词语的数值属性,计算两个词语间的数值距离;
根据两个词语的所在的类别,计算两个词语的类别间的距离;
对两个词语间的数值距离及两个词语的类别间的距离加权求和,得到所述两个词语间的相似度;
重复上述步骤,直至计算完所述词语集中任意两个词语之间的相似度。
通过多种属性计算词语之间的相似度,可以更能准确的衡量词语之间的语义的相似度。
根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词。
在本实施例中,所述根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词包括:
设置分群的群数目为k,并随机选取k个样本作为k个群的群聚中心;
根据所述词语集中词语之间的相似度,迭代计算各个群的中心,并重新分配每个词语所属的群,直至达到迭代条件,得到聚类后的每个群的主题词。
根据聚类后的主题词确定所述词语集中词语的词频。
在本实施例中,根据聚类得到的主题集和词语集合,分别计算每个主题对应的词语,统计每个词语在主题集中出现的次数即词频,得到词频统计数据。
利用所述词语集中词语的词频训练文档主题生成模型。
在本实施例中,文档主题生成模型lda(latentdirichletallocation)是对离散的数据集建模的概率增长模型,是个三层的贝叶斯模型,分为短文本集层、主题层及特征词层,每层均有相应的随机变量或参数控制。它的基本思想是文本由隐含的主题随机混合生成,每一个主题对应特定的特征词分布。lda模型假设所有的短文本存在k个隐含主题,要生成一篇短文本,首先生成该短文本的一个主题分布,然后再生成词的集合;要生成一个词,需要根据短文本的主题分布随机选择一个主题,然后根据主题中词的分布随机选择一个词,重复这个过程直至生成短文本。
lda模型是由blei等提出的,是一个“文本—主题—词”的三层贝叶斯产生式模型,每篇文本表示为主题的混合分布,而每个主题则是词上的概率分布。最初的模型只对文本—主题概率分布引入一个超参数使其服从dirichlet分布,随后griffiths等对主题—词概率分布也引入一个超参数使其服从dirichlet分布。两个超参数一般设置为α=50/t,β=0.01。lda模型的参数个数只与主题数和词数有关,参数估计是计算出文本—主题概率分布以及主题—词概率分布,即θ和φ。通过对变量z进行gibbs采样间接估算θ和φ。
获取目标短文本消息。
将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。
例如,客服短文本消息输入lda主题模型,得到客服意图。将客服回复的短文本消息输入到训练好的lda主题模型当中,得到短文本消息的主题词,并将输入文本传输到模型的训练文本当中,更新词语库和词语的主题词。
在本实施例中,所述方法还包括:若所述目标短文本消息的主题词不在主题词数据库时,将所述目标短文本消息的主题词添加至所述主题词数据库中所述主题词所属的类别。
本发明获取短文本样本;对短文本样本进行预处理,得到词语集;计算所述词语集中词语的词语权重;根据所述词语权重,计算所述词语集中词语之间的相似度;根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词;根据聚类后的主题词确定所述词语集中词语的词频;所述词语集中词语的词频训练文档主题生成模型;获取目标短文本消息;将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。。本发明能实现能准确的从短文本中识别出用户的意图,从而根据用户意图提供用户需求的服务。
可选地,在其他实施例中,短文本主题识别程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述短文本主题识别程序在短文本主题识别装置中的执行过程。
例如,参照图3所示,为本发明短文本主题识别装置一实施例中的短文本主题识别程序的程序模块示意图,该实施例中,短文本主题识别程序可以被分割为获取模块10、处理模块20、计算模块30、聚类模块40、确定模块50及训练模块60,示例性地:
获取模块10获取短文本样本;
处理模块20对短文本样本进行预处理,得到词语集;
计算模块30计算所述词语集中词语的词语权重;
所述计算模块30根据所述词语权重,计算所述词语集中词语之间的相似度;
聚类模块40根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词;
确定模块50根据聚类后的主题词确定所述词语集中词语的词频;
训练模块60利用所述词语集中词语的词频训练文档主题生成模型;
所述获取模块10获取目标短文本消息;
所述计算模块30将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。
上述获取模块10、处理模块20、计算模块30、聚类模块40、确定模块50及训练模块60等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有短文本主题识别程序,所述短文本主题识别程序可被一个或多个处理器执行,以实现如下操作:
获取短文本样本;
对短文本样本进行预处理,得到词语集;
计算所述词语集中词语的词语权重;
根据所述词语权重,计算所述词语集中词语之间的相似度;
根据所述词语集中词语之间的相似度,对所述词语集中的词语进行聚类,得到聚类后的主题词;
根据聚类后的主题词确定所述词语集中词语的词频;
利用所述词语集中词语的词频训练文档主题生成模型;
获取目标短文本消息;
将所述目标短文本消息输入所述文档主题中生成模型,得到所述目标短文本消息的主题词。
本发明计算机可读存储介质具体实施方式与上述短文本主题识别装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。