CN109101479A - 一种用于中文语句的聚类方法及装置 - Google Patents

一种用于中文语句的聚类方法及装置 Download PDF

Info

Publication number
CN109101479A
CN109101479A CN201810579083.2A CN201810579083A CN109101479A CN 109101479 A CN109101479 A CN 109101479A CN 201810579083 A CN201810579083 A CN 201810579083A CN 109101479 A CN109101479 A CN 109101479A
Authority
CN
China
Prior art keywords
sentence
ask
score value
training set
candidate
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.)
Granted
Application number
CN201810579083.2A
Other languages
English (en)
Other versions
CN109101479B (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.)
Suningcom Group Co Ltd
Original Assignee
Suningcom Group 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 Suningcom Group Co Ltd filed Critical Suningcom Group Co Ltd
Priority to CN201810579083.2A priority Critical patent/CN109101479B/zh
Publication of CN109101479A publication Critical patent/CN109101479A/zh
Application granted granted Critical
Publication of CN109101479B publication Critical patent/CN109101479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明实施例公开了一种用于中文语句的聚类方法及装置,涉及互联网技术领域,能够缓减针对汉语句子的分析结果不佳的问题。本发明包括:建立训练集,所述训练集包括了用于进行聚类处理的候选语句;利用由词向量模型计算得到的词向量,获取所述训练集中各个候选语句的相似度;根据所得到的词向量和所述各个候选语句的相似度,对所述训练集中的候选语句进行聚类处理。本发明适用于针对中文语句的聚类处理。

Description

一种用于中文语句的聚类方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种用于中文语句的聚类方法及装置。
背景技术
有关机器人自动问答系统中所应用的数学方法,其实很早就开始了理论研究,之后又由硅谷的几家网络技术公司,比如谷歌,开始实际的市场应用,目前国内的互联网公司也在加大投入,并不断推出新的方案。
问句相似度计算方法,是机器人自动问答系统中的关键部分,而目前针对汉语句子的句法分析技术仍然有待提高。其中,问句相似度计算结果的准确率,将直接影响查询结果。目前常用的方案是,从已有的问题库中搜索相似问句,供用户自己选择。但是基于关键词搜索结果仅仅只是文字匹配,在语义相关性,发散性和多样性方面都有所欠缺。
在问句相似度计算过程中,实现聚类的方法,一般是采用Lucene/Solr、FastText和Word2Vec等技术实现句子聚类。但是,采用Lucene/Solr作为搜索引擎技术基于文本匹配计算句子相似度来进行聚类,难以做到基于语义等更深层次的相关度匹配。而采用FastText和word2vec虽然能在词语聚类分类上效果显著,但是平均化成句向量doc2vec之后,受到噪音词影响很不稳定,聚类结果不准确。从而导致针对汉语句子的分析结果不佳。
发明内容
本发明的实施例提供一种用于中文语句的聚类方法及装置,能够缓减针对汉语句子的分析结果不佳的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
建立训练集,包括:读取前端服务器的问答日志,并从所述问答日志中提取历史数据,其中,所述前端服务器用于通过聊天界面与用户设备进行信息交互,从而形成对话场景;所述问答日志中包括了指定数量的对话场景,每个对话场景包括至少一个提问语句和至少一个回答语句;根据所述历史数据生成训练集,其中,所述训练集包括了用于进行聚类处理的候选语句。所述训练集包括了用于进行聚类处理的候选语句;
利用由词向量模型计算得到的词向量,获取所述训练集中各个候选语句的相似度;
根据所得到的词向量和所述各个候选语句的相似度,对所述训练集中的候选语句进行聚类处理。
在传统的聊天机器人应用方面,常用的聚类工具往往采用Lucene/Solr作为搜索引擎技术基于文本匹配计算句子相似度来进行聚类,不能做到基于语义等更深层次的相关度匹配。本发明基于深度学习技术实现,具体通过FastText和Word2Vec训练出的词向量,结合文本匹配的相似度、以及进一步的关键词权重等多方面考量,对语句进行聚类,从而得到更加准确的聚类结果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种可能的系统架构示意图;
图2为本发明实施例提供的方法流程示意图;
图3为本发明实施例提供的装置的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本实施例中的方法流程,具体可以在一种如图1所示的系统上执行,该系统包括:前端服务器、后台服务器和数据库。其中,前端服务器主要用于:具体用于接收用户设备发送的搜索词,在实际应用中,用户设备发送的提问语句和回答语句,主要由用户通过用户设备的输入设备比如:键盘、触摸屏、鼠标等输入用户设备。
后台服务器主要用于:执行本实施例中的主要流程,从而实现语句的聚类处理和聚类处理之前的预处理工作(比如本实施例中的步骤S1-S3)。
本实施例中所揭示的前端服务器以及后台服务器,具体可以是服务器、工作站、超级计算机等设备,或者是由多个服务器组成的一种用于数据处理的服务器集群系统。需要说明的是,在实际应用中,前端服务器和后台服务器通常可以集成在同一个服务器集群中,即通过同一个服务器集群同时承担前端服务器和后台服务器的功能,并用于执行本实施例所提供的流程。
数据库主要用于:用于存储存储产品信息、电子商务平台、在线购物平台等在日常运行中生成的每日高频搜索词、用户的搜索日志等,以及用于存储前端服务器与用户设备进行信息交互中所产生的问答日志,其中,问答日志具体包括了客服与顾客之间通过聊天界面输入的提问语句和回答语句,在本实施例中,“语句”可以理解为由多个字符或者词组所组成的文本信息。
本实施例中所揭示的数据库,具体可以是一种Redis数据库或者其他类型的分布式数据库、关系型数据库等,具体可以是包括存储设备的数据服务器以及与数据服务器相连的存储设备,或者是由多个数据服务器和存储服务器组成的一种用于数据库的服务器集群系统。
客服人员具体可以通过员工终端,经由前端服务器与用户设备进行信息交互,客服人员与顾客的问答语句可以显示在聊天界面中,本实施例中的两个设备之间实现问答、聊天的具体方式,可以采用目前已有的在线聊天技术。
本实施例中所揭示的用户设备具体可以实做成单独一台装置,或整合于各种不同的媒体数据播放装置中,诸如机顶盒、移动电话、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)、多媒体播放器、数字摄影机、个人数字助理(personaldigital assistant,简称PDA)、移动上网装置(Mobile Internet Device,MID)或可穿戴式设备(Wearable Device)等。
本发明实施例提供一种用于中文语句的聚类方法,如图2所示,包括:
S1、建立训练集。
其中,所述训练集包括了用于进行聚类处理的候选语句。
在本实施例中,建立训练集所需的数据,依照具体的业务场景获取,这些数据的来源,可以是预先已经准备好的样本库,例如,建立训练集的具体方式,包括:提取样本库中的样本数据,所述样本数据中包括了指定数量的对话场景,每个对话场景包括至少一个提问语句和至少一个回答语句。
也可以是,在实际应用中,前端服务器与用户终端进行数据交互过程中产生的日志,例如,建立训练集的具体方式,包括:
读取前端服务器的问答日志,并从所述问答日志中提取历史数据。并根据所述历史数据生成训练集。
其中,所述前端服务器用于通过聊天界面与用户设备进行信息交互,从而形成对话场景。所述问答日志中包括了指定数量的对话场景,每个对话场景包括至少一个提问语句和至少一个回答语句。所述训练集包括了用于进行聚类处理的候选语句。
从所述问答日志中提取历史数据,具体可以理解为:从当前时间开始算,在之前的某一时间段内问答日志中所记录的提问语句和回答语句,通常的在之前的某一时间段内的提问语句和回答语句,属于一段连续的对话语境,在本实施例中可以将这种连续的对话语境称为“对话场景”,至于多条语句之间如何判定为“连续”,可以参考目前常见的划分方式,比如在很多聊天工具中,会通过在聊天界面中显示时间戳来划分不同阶段的对话,比如qq中通过日期时间来分割对话内容。比如:
训练集采集自采用在线购物平台的客服中心,以百万条或千万条网上问答的历史问题集做为文本。经过语义分析工具进行分词处理。将分词后的文本再采用归一化处理、特殊符号处理、基于Zipf’s定律去噪等常用的数据清理手段,将清理后的数据作为训练集来使用。需要说明的是,在本领域中,“分词”往往也被称为“切词”,即按照一定的规则对语句中的字符进行划分,从而得到具有实际语义的词组。
S2、利用由词向量模型计算得到的词向量,获取所述训练集中各个候选语句的相似度。
具体的,本实施例中可以采用Word2Vec或者FastText的向量模型,来对训练集中各个语句的词组进行处理,生成相应的词向量,并基于所生成的词向量来计算句子相似度。
其中,利用机器学习开源库Gensim的CBoW和Skim-gram算法分别建模。同时分别使用了Hierrarchical Softmax与Negative Sampling两种算法对Skim-gram建模,且对模型中的预测窗口大小,低频词处理的参数均作了参数调节训练模型。通过使用每个词向量模型训练出的词向量进行相关句子分类,给不同参数的词向量模型打分,最终得到最适的word2vec词向量模型,例如:模型删除了出现少于5次的低频词后,剩余的每一个词组都有一个属于自己的300维向量的结算结果,以代表他们在空间中的向量状态。
对不同的词向量模型打分并筛选最适模型的具体方式,可以依据具体的应用场景和业务需求人工设定或者人工筛选,本实施例不再赘述。
由于Word2Vec使用Skip-gram模型在优化计算效率的同时存在一个缺陷,没有考虑到语序,因为句向量是通过简单的线性求和取平均值求得的。然而传统的n-gram模型因为随着n的增大,计算复杂度成指数倍增长而无法使用在大数据中。而且n-gram的数量比uni-gram的词数量大很多,想完全储存下所有的n-gram很不现实。因此在本实施例的优选方案中,可以采用Facebook推出的FastText开源包计算词向量解决这一问题,FastText计算出的词向量比原版的word2vec优势在于FastText可以自己设置n-gram(大词汇连续语音识别中常用的一种语言模型,对中文而言,称之为汉语语言模型(CLM,Chinese LanguageModel))的特征。FastText使用Flower-Noll-Vo hashing function将n-gram都map到哈希桶中,使得同一个桶中的n-gram可以共享一个词向量以实现词向量的n-gram。这样训练出的词向量在很多情况下比uni-gram训练出的word2vec向量语义上更加准确。
S3、根据所得到的词向量和所述各个候选语句的相似度,对所述训练集中的候选语句进行聚类处理。
在传统的聊天机器人应用方面,常用的聚类工具往往采用Lucene/Solr作为搜索引擎技术基于文本匹配计算句子相似度来进行聚类,不能做到基于语义等更深层次的相关度匹配。本发明基于深度学习技术实现,具体通过FastText和Word2Vec训练出的词向量,结合文本匹配的相似度、以及进一步的关键词权重等多方面考量,对语句进行聚类,从而得到更加准确的聚类结果。
在本实施例中,在步骤S2:获取所述训练集中各个候选语句的相似度之前,还包括:
对所述历史数据中的各个语句进行分词处理得到语词集合。通过对所述词语集合进行词频计算得到词频列表。
其中,所述词频列表中记录了各个语句中的词组的出现频率。例如:本实施例中实现步骤S3中的聚类处理时,可以采用TF-IDF(Term Frequency-Inverse DocumentFrequency,词频-逆文件频率)模型来实现其中的相似度计算,而TF-IDF模型的建立依赖于外部文本库,并且需要基于外部文本库来做TF(Term Frequency)和IDF(Inverse DocumentFrequency)值的预计算。因此,在本实施例中,使用清理后的数据集对每一条语句都进行预计算,生成可以应用于TF-IDF的词频列表,从而为后续的TF-IDF相似度计算提供数据,减少计算时间。
进一步的,在本实施例中,可以采用solr技术来提高查询效率。Solr方法具备了搜索效率高,搜索范围广的特点,基于Zipf定律的TF-IDF聚类方法通过统计学的方法计算两个句子或者文档的相似度进一步保证了文字层面的准确性并提供了相似度排序的基础。
具体的,通过把清理过后的训练集中各个语句进行分词后,导入在数据库或者后台服务器上搭建的Solr(搜索应用服务器),实现直接以分词进行搜索。从而可以为后续的聚类处理提供初步的候选问题。候选问题数量从128–4096的区间进行动态调节。其中,Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。但Solr对Lucene进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面。
在本实施例中,步骤S2:获取所述训练集中各个候选语句的相似度的具体方式,可以包括:
对所得到的词向量进行平均化计算,之后根据平均化计算的结果,确定各个候选语句中词组的欧氏距离。再根据各个候选语句中词组的欧氏距离,确定各个候选语句之间的相似度,并统计得到其中的每个候选语句的平均相似度分值。
本实施例中的聚类处理逻辑:即使用训练出的词向量与TF-IDF等多种方法相结合进行聚类,其中:
以TF-IDF方法实现聚类效果十分显著,但也存在缺少差异性的缺点,会导致语义接近但是用词不同的句子排名靠后,尤其不适合中文语境下的聚类处理。
本实施例中,采用FastText或Word2Vec训练出的词向量实现的语句的聚类,使得聚类过程中的匹配动作考虑到词语语义的特性,这就正好弥补了TF-IDF聚类方法的缺点。例如:根据对训练集中各语句的分词结果,对Solr库进行快速搜索,取得1024个备选相似问题。并记录下每个问题的Solr相似度分值。再使用由word2vec或fastText得到的词向量平均化计算出doc2vec,再通过计算欧氏距离来算出句子之间的相似度。由此得到输入问题(标准问)和每一个备选问题(相似问)的word2vec平均相似度分值。
本实施例中,步骤S3:根据所得到的词向量和所述各个候选语句的相似度,对所述训练集中的候选语句进行聚类处理的具体方式,可以包括:
提取各个提问语句的平均相似度分值。并根据所述各个提问语句的平均相似度分值,确定各个提问语句的相似问语句。
具体的,每一个提问语句作为标准问,且与至少一个相似问对应,对于每一个标准问,进行如下处理:
基于标准问中的每个词组的词向量,计算所对应的相似问中所有词组的欧氏距离,并得到所述标准问中的所有的词组的最大相似度分值。根据所述标准问中的所有的词组最大相似度分值,确定所述标准问与各个相似问之间的最大相似度分值。再将各个相似问按照最大相似度分值由高至低的顺序排列。例如:对标准问中的每个词的word2vec或fastText词向量都计算其对相似问中所有词的word2vec或fastText词向量的欧氏距离,每次只取最大相似值。最后将所有最大值相加再除以标准问的长度,以计算两个句子之间的相似度。由此得到输入问题和每一个备选问题的word2vec最大相似度分值。
其中,标准问与相似问之间的相似度分值的计算方式,包括:把标准问和相似问之一进行TF-IDF值计算,对每个相同分词的TF-IDF值计算余弦相似度。由此得到标准问和每一个相似问的TF-IDF相似度分值。
在实际应用中,需要针对每一个语句进行多次计算。通过多次计算求平均,或者对多次计算的结果进行进一步的加权计算,求取最终的相似度分值并作为所述平均相似度分值。从而在保证聚类准确性的情况下加强相似问的发散性。但是,对于一些长度较短的标准问语句的聚类,多个相似问的相似度可能是一样的,即可能会出现:与标准问对应的多个相似问的最大相似度分值相同,的情况。
针对这种情况,本实施例中,对于最大相似度分值相同的相似问,可以进行如下处理:
根据预设关键词和所述预设关键词的权重值,计算最大相似度分值相同的各个相似问的权重分值。
按照所得权重分值由高至低的顺序,排列所述最大相似度分值相同的相似问。具体的,可以在后台服务器中存储预先设置的词典,词典中包括了关键词,以及各个关键词对应的权重值,具体可以关键词/权重值的表格形式存储。预先设置的词典中的这些关键词,可以称为预设关键词,例如:词典中的关键词,可以包括品牌、地区、专有名词等,加以权重,同时对候选问和输入问计算Jaccard相似度们也加以权重。这样就进一步区分了相似度相同的语句,使得结果更加合理、有序。
而一个语句往往是由多个词组组成的,当一个语句中的词组能够匹配到词典中的关键词,则根据所匹配的关键词的权重值,对语句进行打分,具体的打分规则和算法可以根据具体应用场景和业务类型,由技术人员灵活设定。
目前,采用Lucene/Solr等开源软件,目的在于以文字匹配现有数据中关键词实现的搜索算法进行聚类。TF-IDF是基于统计学原理理解文档中词语权重来实现句子相似度比较的技术进行句子聚类。FastText和Word2Vec是利用深度学习理解上下文语义,使用自然语言处理(NLP)技术将每个词语的语义映射成一个多维向量以方便计算的技术。三者各有各自的优缺点,现有技术中多为单一使用其中一种。本实施例中,实质上是在经过大量研究和实验后将三者结合,从而提高了聚类效果,同时兼顾了匹配的效率和速度。
例如:现有技术中,采用Lucene/Solr作为搜索引擎技术,并基于文本匹配计算句子相似度来进行聚类的方案,不能做到基于语义等更深层次的相关度匹配。
而本实施例中,使用深度学习技术计算出FastText和Word2Vec训练出的词向量,结合文本匹配技术和关键词权重多方面考量进行句子聚类,从文本匹配,语义向量的多维向量空间以及赋予合理的关键词权重进行句子聚类,能够得到更加准确的聚类结果。
再例如:由于在自然语言中,每个词在句子中的重要程度都不同。因此在现有技术中,使用句子中Word2Vec平均化得到的Doc2Vec无法捕捉句子的重点,也就导致了难以做出能代表句向量(语义向量)的Doc2Vec。
本实施例中,将语句词组与词典中关键词进行匹配,并且设计出对Word2Vec设置合理的权重的算法来计算句子之间的相似度,在TF-IDF和Solr计算出的句子相关性结果综合考量的基础上,运用FastText和Gensim计算出的word2vec词向量,关键词权重算法和Jaccard算法重新计算语句的排名,使得句子相似度聚类结果更加有序,兼顾文字准确性和语义相关性。即,本发明在现有的字符检索技术上,进一步增加了句向量(语义向量)这个维度的分析,从而克服现有技术中检索不考虑语义的问题。
在本实施例中,应用更先进的fastText来训练词向量,比Gensim和Google的word2vec工具包训练出的词向量在语义上更加准确。数据量和数据的准确度对机器学习建模至关重要。fastText拥有超高的计算速度,确保可以随时更新优质数据。自然语言处理中语句的准确意思不全部来源于原句,n-gram的分割窗口大小也对准确表达语义有很大影响,但是单纯的扩大窗口长度n会让计算复杂度呈指数倍增长。fastText利用hashing算法大大的优化了这一问题,将word2vec只考虑uni-gram优化到可以考虑2-gram,3-gram甚至更大,大大的提高了语义的理解程度。成功将关键词权重,Jaccard距离加入算法,解决了所有词都对句子贡献一样信息的缺点,很大程度上降低了语义理解的噪声(noise)。将传统的基于词频统计的方法和词向量关于语义理解的方法相结合,得到一种高效且高准确度的聚类匹配工具。
本发明实施例还提供一种用于中文语句的聚类装置,如图3所示的,包括:
第一预处理模块,用于建立训练集,所述训练集包括了用于进行聚类处理的候选语句;
第二预处理模块,用于利用由词向量模型计算得到的词向量,获取所述训练集中各个候选语句的相似度;
处理模块,用于根据所得到的词向量和所述各个候选语句的相似度,对所述训练集中的候选语句进行聚类处理。
在传统的聊天机器人应用方面,常用的聚类工具往往采用Lucene/Solr作为搜索引擎技术基于文本匹配计算句子相似度来进行聚类,不能做到基于语义等更深层次的相关度匹配。本发明基于深度学习技术实现,具体通过FastText和Word2Vec训练出的词向量,结合文本匹配的相似度、以及进一步的关键词权重等多方面考量,对语句进行聚类,从而得到更加准确的聚类结果。
其中,所述第一预处理模块,具体用于读取前端服务器的问答日志,并从所述问答日志中提取历史数据,其中,所述前端服务器用于通过聊天界面与用户设备进行信息交互,从而形成对话场景;所述问答日志中包括了指定数量的对话场景,每个对话场景包括至少一个提问语句和至少一个回答语句;并根据所述历史数据生成训练集,其中,所述训练集包括了用于进行聚类处理的候选语句;
所述第一预处理模块,还用于在获取所述训练集中各个候选语句的相似度之前,对所述历史数据中的各个语句进行分词处理得到语词集合;并通过对所述词语集合进行词频计算得到词频列表,所述词频列表中记录了各个语句中的词组的出现频率;
所述第二预处理模块,具体用于对所得到的词向量进行平均化计算,之后根据平均化计算的结果,确定各个候选语句中词组的欧氏距离;并根据各个候选语句中词组的欧氏距离,确定各个候选语句之间的相似度,并统计得到其中的每个候选语句的平均相似度分值。
具体的,所述处理模块,具体用于:
提取各个提问语句的平均相似度分值;并根据所述各个提问语句的平均相似度分值,确定各个提问语句的相似问语句;
其中:每一个提问语句作为标准问,且与至少一个相似问对应,对于每一个标准问,进行如下处理:基于标准问中的每个词组的词向量,计算所对应的相似问中所有词组的欧氏距离,并得到所述标准问中的所有的词组的最大相似度分值;之后,根据所述标准问中的所有的词组最大相似度分值,确定所述标准问与各个相似问之间的最大相似度分值;并将各个相似问按照最大相似度分值由高至低的顺序排列;
对于最大相似度分值相同的相似问,进行如下处理:根据预设关键词和所述预设关键词的权重值,计算最大相似度分值相同的各个相似问的权重分值;并按照所得权重分值由高至低的顺序,排列所述最大相似度分值相同的相似问。
目前,采用Lucene/Solr等开源软件,目的在于以文字匹配现有数据中关键词实现的搜索算法进行聚类。TF-IDF是基于统计学原理理解文档中词语权重来实现句子相似度比较的技术进行句子聚类。FastText和Word2Vec是利用深度学习理解上下文语义,使用自然语言处理(NLP)技术将每个词语的语义映射成一个多维向量以方便计算的技术。三者各有各自的优缺点,现有技术中多为单一使用其中一种。本实施例中,实质上是在经过大量研究和实验后将三者结合,从而提高了聚类效果,同时兼顾了匹配的效率和速度。
例如:现有技术中,采用Lucene/Solr作为搜索引擎技术,并基于文本匹配计算句子相似度来进行聚类的方案,不能做到基于语义等更深层次的相关度匹配。
而本实施例中,使用深度学习技术计算出FastText和Word2Vec训练出的词向量,结合文本匹配技术和关键词权重多方面考量进行句子聚类,从文本匹配,语义向量的多维向量空间以及赋予合理的关键词权重进行句子聚类,能够得到更加准确的聚类结果。
再例如:由于在自然语言中,每个词在句子中的重要程度都不同。因此在现有技术中,使用句子中Word2Vec平均化得到的Doc2Vec无法捕捉句子的重点,也就导致了难以做出能代表句向量(语义向量)的Doc2Vec。
本实施例中,将语句词组与词典中关键词进行匹配,并且设计出对Word2Vec设置合理的权重的算法来计算句子之间的相似度,在TF-IDF和Solr计算出的句子相关性结果综合考量的基础上,运用FastText和Gensim计算出的word2vec词向量,关键词权重算法和Jaccard算法重新计算语句的排名,使得句子相似度聚类结果更加有序,兼顾文字准确性和语义相关性。即,本发明在现有的字符检索技术上,进一步增加了句向量(语义向量)这个维度的分析,从而克服现有技术中检索不考虑语义的问题。
在本实施例中,应用更先进的fastText来训练词向量,比Gensim和Google的word2vec工具包训练出的词向量在语义上更加准确。数据量和数据的准确度对机器学习建模至关重要。fastText拥有超高的计算速度,确保可以随时更新优质数据。自然语言处理中语句的准确意思不全部来源于原句,n-gram的分割窗口大小也对准确表达语义有很大影响,但是单纯的扩大窗口长度n会让计算复杂度呈指数倍增长。fastText利用hashing算法大大的优化了这一问题,将word2vec只考虑uni-gram优化到可以考虑2-gram,3-gram甚至更大,大大的提高了语义的理解程度。成功将关键词权重,Jaccard距离加入算法,解决了所有词都对句子贡献一样信息的缺点,很大程度上降低了语义理解的噪声(noise)。将传统的基于词频统计的方法和词向量关于语义理解的方法相结合,得到一种高效且高准确度的聚类匹配工具。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种用于中文语句的聚类方法,其特征在于,包括:
建立训练集,所述训练集包括了用于进行聚类处理的候选语句;
利用由词向量模型计算得到的词向量,获取所述训练集中各个候选语句的相似度;
根据所得到的词向量和所述各个候选语句的相似度,对所述训练集中的候选语句进行聚类处理。
2.根据权利要求1所述的方法,其特征在于,所述建立训练集,包括:
读取前端服务器的问答日志,并从所述问答日志中提取历史数据,其中,所述前端服务器用于通过聊天界面与用户设备进行信息交互,从而形成对话场景;所述问答日志中包括了指定数量的对话场景,每个对话场景包括至少一个提问语句和至少一个回答语句;
根据所述历史数据生成训练集,其中,所述训练集包括了用于进行聚类处理的候选语句。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
在获取所述训练集中各个候选语句的相似度之前,对所述历史数据中的各个语句进行分词处理得到语词集合;
通过对所述词语集合进行词频计算得到词频列表,所述词频列表中记录了各个语句中的词组的出现频率。
4.根据权利要求3所述的方法,其特征在于,所述获取所述训练集中各个候选语句的相似度,包括:
对所得到的词向量进行平均化计算,之后根据平均化计算的结果,确定各个候选语句中词组的欧氏距离;
根据各个候选语句中词组的欧氏距离,确定各个候选语句之间的相似度,并统计得到其中的每个候选语句的平均相似度分值。
5.根据权利要求4所述的方法,其特征在于,所述根据所得到的词向量和所述各个候选语句的相似度,对所述训练集中的候选语句进行聚类处理,包括:
提取各个提问语句的平均相似度分值;
根据所述各个提问语句的平均相似度分值,确定各个提问语句的相似问语句。
6.根据权利要求5所述的方法,其特征在于,还包括:
每一个提问语句作为标准问,且与至少一个相似问对应,对于每一个标准问,进行如下处理:
基于标准问中的每个词组的词向量,计算所对应的相似问中所有词组的欧氏距离,并得到所述标准问中的所有的词组的最大相似度分值;
根据所述标准问中的所有的词组最大相似度分值,确定所述标准问与各个相似问之间的最大相似度分值;
将各个相似问按照最大相似度分值由高至低的顺序排列。
7.根据权利要求6所述的方法,其特征在于,还包括:
对于最大相似度分值相同的相似问,进行如下处理:
根据预设关键词和所述预设关键词的权重值,计算最大相似度分值相同的各个相似问的权重分值;
按照所得权重分值由高至低的顺序,排列所述最大相似度分值相同的相似问。
8.一种用于中文语句的聚类装置,其特征在于,包括:
第一预处理模块,用于建立训练集,所述训练集包括了用于进行聚类处理的候选语句;
第二预处理模块,用于利用由词向量模型计算得到的词向量,获取所述训练集中各个候选语句的相似度;
处理模块,用于根据所得到的词向量和所述各个候选语句的相似度,对所述训练集中的候选语句进行聚类处理。
9.根据权利要求8所述的方法,其特征在于,所述第一预处理模块,具体用于读取前端服务器的问答日志,并从所述问答日志中提取历史数据,其中,所述前端服务器用于通过聊天界面与用户设备进行信息交互,从而形成对话场景;所述问答日志中包括了指定数量的对话场景,每个对话场景包括至少一个提问语句和至少一个回答语句;并根据所述历史数据生成训练集,其中,所述训练集包括了用于进行聚类处理的候选语句;
所述第一预处理模块,还用于在获取所述训练集中各个候选语句的相似度之前,对所述历史数据中的各个语句进行分词处理得到语词集合;并通过对所述词语集合进行词频计算得到词频列表,所述词频列表中记录了各个语句中的词组的出现频率;
所述第二预处理模块,具体用于对所得到的词向量进行平均化计算,之后根据平均化计算的结果,确定各个候选语句中词组的欧氏距离;并根据各个候选语句中词组的欧氏距离,确定各个候选语句之间的相似度,并统计得到其中的每个候选语句的平均相似度分值。
10.根据权利要求9所述的方法,其特征在于,所述处理模块,具体用于:
提取各个提问语句的平均相似度分值;并根据所述各个提问语句的平均相似度分值,确定各个提问语句的相似问语句;
其中:每一个提问语句作为标准问,且与至少一个相似问对应,对于每一个标准问,进行如下处理:基于标准问中的每个词组的词向量,计算所对应的相似问中所有词组的欧氏距离,并得到所述标准问中的所有的词组的最大相似度分值;之后,根据所述标准问中的所有的词组最大相似度分值,确定所述标准问与各个相似问之间的最大相似度分值;并将各个相似问按照最大相似度分值由高至低的顺序排列;
对于最大相似度分值相同的相似问,进行如下处理:根据预设关键词和所述预设关键词的权重值,计算最大相似度分值相同的各个相似问的权重分值;并按照所得权重分值由高至低的顺序,排列所述最大相似度分值相同的相似问。
CN201810579083.2A 2018-06-07 2018-06-07 一种用于中文语句的聚类方法及装置 Active CN109101479B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810579083.2A CN109101479B (zh) 2018-06-07 2018-06-07 一种用于中文语句的聚类方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810579083.2A CN109101479B (zh) 2018-06-07 2018-06-07 一种用于中文语句的聚类方法及装置

Publications (2)

Publication Number Publication Date
CN109101479A true CN109101479A (zh) 2018-12-28
CN109101479B CN109101479B (zh) 2023-12-05

Family

ID=64796697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810579083.2A Active CN109101479B (zh) 2018-06-07 2018-06-07 一种用于中文语句的聚类方法及装置

Country Status (1)

Country Link
CN (1) CN109101479B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766429A (zh) * 2019-02-19 2019-05-17 北京奇艺世纪科技有限公司 一种语句检索方法及装置
CN110083828A (zh) * 2019-03-29 2019-08-02 珠海远光移动互联科技有限公司 一种文本聚类方法及装置
CN110362685A (zh) * 2019-07-22 2019-10-22 腾讯科技(武汉)有限公司 聚类方法和聚类设备
CN110362343A (zh) * 2019-07-19 2019-10-22 上海交通大学 N-Gram的检测字节码相似度的方法
CN110413986A (zh) * 2019-04-12 2019-11-05 上海晏鼠计算机技术股份有限公司 一种改进词向量模型的文本聚类多文档自动摘要方法及系统
CN110442718A (zh) * 2019-08-08 2019-11-12 腾讯科技(深圳)有限公司 语句处理方法、装置及服务器和存储介质
CN110750994A (zh) * 2019-10-23 2020-02-04 北京字节跳动网络技术有限公司 一种实体关系抽取方法、装置、电子设备及存储介质
CN110909139A (zh) * 2019-11-08 2020-03-24 出门问问信息科技有限公司 一种问答方法、装置及电子设备
CN110990451A (zh) * 2019-11-15 2020-04-10 浙江大华技术股份有限公司 基于句子嵌入的数据挖掘方法、装置、设备及存储装置
CN111177379A (zh) * 2019-12-20 2020-05-19 深圳市优必选科技股份有限公司 低精度问题的归类方法、智能终端及计算机可读存储介质
CN111309905A (zh) * 2020-02-06 2020-06-19 北京明略软件系统有限公司 一种对话语句的聚类方法、装置、电子设备及存储介质
CN111488429A (zh) * 2020-03-19 2020-08-04 杭州叙简科技股份有限公司 一种基于搜索引擎的短文本聚类系统及其短文本聚类方法
CN112002313A (zh) * 2019-05-09 2020-11-27 阿里巴巴集团控股有限公司 交互方法及装置、音箱、电子设备和存储介质
CN112445910A (zh) * 2019-09-02 2021-03-05 上海哔哩哔哩科技有限公司 一种信息分类方法及系统
CN112528630A (zh) * 2019-09-19 2021-03-19 北京国双科技有限公司 文本相似度确定方法、装置、存储介质和电子设备
CN112632965A (zh) * 2020-12-25 2021-04-09 上海德拓信息技术股份有限公司 一种针对政府服务热线领域的工单自动分类方法
CN112988977A (zh) * 2021-04-25 2021-06-18 成都索贝数码科技股份有限公司 基于近似词的模糊匹配媒资内容库检索方法
CN114266255A (zh) * 2022-03-01 2022-04-01 深圳壹账通科技服务有限公司 基于聚类模型的语料分类方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955965A (zh) * 2016-06-21 2016-09-21 上海智臻智能网络科技股份有限公司 问句信息处理方法及装置
CN106776713A (zh) * 2016-11-03 2017-05-31 中山大学 一种基于词向量语义分析的海量短文本聚类方法
CN107679144A (zh) * 2017-09-25 2018-02-09 平安科技(深圳)有限公司 基于语义相似度的新闻语句聚类方法、装置及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955965A (zh) * 2016-06-21 2016-09-21 上海智臻智能网络科技股份有限公司 问句信息处理方法及装置
CN106776713A (zh) * 2016-11-03 2017-05-31 中山大学 一种基于词向量语义分析的海量短文本聚类方法
CN107679144A (zh) * 2017-09-25 2018-02-09 平安科技(深圳)有限公司 基于语义相似度的新闻语句聚类方法、装置及存储介质

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766429A (zh) * 2019-02-19 2019-05-17 北京奇艺世纪科技有限公司 一种语句检索方法及装置
CN110083828A (zh) * 2019-03-29 2019-08-02 珠海远光移动互联科技有限公司 一种文本聚类方法及装置
CN110413986A (zh) * 2019-04-12 2019-11-05 上海晏鼠计算机技术股份有限公司 一种改进词向量模型的文本聚类多文档自动摘要方法及系统
CN110413986B (zh) * 2019-04-12 2023-08-29 上海晏鼠计算机技术股份有限公司 一种改进词向量模型的文本聚类多文档自动摘要方法及系统
CN112002313A (zh) * 2019-05-09 2020-11-27 阿里巴巴集团控股有限公司 交互方法及装置、音箱、电子设备和存储介质
CN110362343A (zh) * 2019-07-19 2019-10-22 上海交通大学 N-Gram的检测字节码相似度的方法
CN110362685A (zh) * 2019-07-22 2019-10-22 腾讯科技(武汉)有限公司 聚类方法和聚类设备
CN110442718A (zh) * 2019-08-08 2019-11-12 腾讯科技(深圳)有限公司 语句处理方法、装置及服务器和存储介质
CN110442718B (zh) * 2019-08-08 2023-12-08 腾讯科技(深圳)有限公司 语句处理方法、装置及服务器和存储介质
CN112445910A (zh) * 2019-09-02 2021-03-05 上海哔哩哔哩科技有限公司 一种信息分类方法及系统
CN112528630A (zh) * 2019-09-19 2021-03-19 北京国双科技有限公司 文本相似度确定方法、装置、存储介质和电子设备
CN110750994A (zh) * 2019-10-23 2020-02-04 北京字节跳动网络技术有限公司 一种实体关系抽取方法、装置、电子设备及存储介质
CN110909139A (zh) * 2019-11-08 2020-03-24 出门问问信息科技有限公司 一种问答方法、装置及电子设备
CN110990451A (zh) * 2019-11-15 2020-04-10 浙江大华技术股份有限公司 基于句子嵌入的数据挖掘方法、装置、设备及存储装置
CN110990451B (zh) * 2019-11-15 2023-05-12 浙江大华技术股份有限公司 基于句子嵌入的数据挖掘方法、装置、设备及存储装置
CN111177379A (zh) * 2019-12-20 2020-05-19 深圳市优必选科技股份有限公司 低精度问题的归类方法、智能终端及计算机可读存储介质
CN111177379B (zh) * 2019-12-20 2023-05-23 深圳市优必选科技股份有限公司 低精度问题的归类方法、智能终端及计算机可读存储介质
CN111309905A (zh) * 2020-02-06 2020-06-19 北京明略软件系统有限公司 一种对话语句的聚类方法、装置、电子设备及存储介质
CN111488429A (zh) * 2020-03-19 2020-08-04 杭州叙简科技股份有限公司 一种基于搜索引擎的短文本聚类系统及其短文本聚类方法
CN112632965A (zh) * 2020-12-25 2021-04-09 上海德拓信息技术股份有限公司 一种针对政府服务热线领域的工单自动分类方法
CN112988977A (zh) * 2021-04-25 2021-06-18 成都索贝数码科技股份有限公司 基于近似词的模糊匹配媒资内容库检索方法
CN114266255A (zh) * 2022-03-01 2022-04-01 深圳壹账通科技服务有限公司 基于聚类模型的语料分类方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109101479B (zh) 2023-12-05

Similar Documents

Publication Publication Date Title
CN109101479A (zh) 一种用于中文语句的聚类方法及装置
CN104933164B (zh) 互联网海量数据中命名实体间关系提取方法及其系统
TW202009749A (zh) 人機對話方法、裝置、電子設備及電腦可讀媒體
CN105528437B (zh) 一种基于结构化文本知识提取的问答系统构建方法
CN112667794A (zh) 一种基于孪生网络bert模型的智能问答匹配方法及系统
CA2720842A1 (en) System and method for value significance evaluation of ontological subjects of network and the applications thereof
CN107918644B (zh) 声誉管理框架内的新闻议题分析方法和实施系统
Mahata et al. Theme-weighted ranking of keywords from text documents using phrase embeddings
CN111046155A (zh) 一种基于fsm多轮问答的语义相似度计算方法
Halevy et al. Discovering structure in the universe of attribute names
CN110888991A (zh) 一种弱标注环境下的分段式语义标注方法
CN110888970B (zh) 文本生成方法、装置、终端和存储介质
Chen et al. Exploring science-technology linkages: A deep learning-empowered solution
CN114328800A (zh) 文本处理方法、装置、电子设备和计算机可读存储介质
Gupta et al. Songs recommendation using context-based semantic similarity between lyrics
Wibawa et al. Classification Analysis of MotoGP Comments on Media Social Twitter Using Algorithm Support Vector Machine and Naive Bayes
Yan et al. Sentiment Analysis of Short Texts Based on Parallel DenseNet.
Chakma et al. 5W1H-Based semantic segmentation of tweets for event detection using BERT
Yu et al. Mining hidden interests from twitter based on word similarity and social relationship for OLAP
CN114298020A (zh) 一种基于主题语义信息的关键词向量化方法及其应用
Abd Allah et al. Contribution to the methods of indexing Arabic textual documents to improve the performance of IRS
CN113761125A (zh) 动态摘要确定方法和装置、计算设备以及计算机存储介质
Gündoğan et al. Evaluation of session-suitability of papers in conference programs
Abuteir et al. Automatic Sarcasm Detection in Arabic Text: A Supervised Classification Approach
Banerjee et al. Natural language querying and visualization system

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