CN109446520B - 用于构建知识库的数据聚类方法及装置 - Google Patents

用于构建知识库的数据聚类方法及装置 Download PDF

Info

Publication number
CN109446520B
CN109446520B CN201811208636.XA CN201811208636A CN109446520B CN 109446520 B CN109446520 B CN 109446520B CN 201811208636 A CN201811208636 A CN 201811208636A CN 109446520 B CN109446520 B CN 109446520B
Authority
CN
China
Prior art keywords
cluster
data
data points
data point
distance
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
CN201811208636.XA
Other languages
English (en)
Other versions
CN109446520A (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.)
Ultrapower Software Co ltd
Original Assignee
Ultrapower Software 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 Ultrapower Software Co ltd filed Critical Ultrapower Software Co ltd
Priority to CN201811208636.XA priority Critical patent/CN109446520B/zh
Publication of CN109446520A publication Critical patent/CN109446520A/zh
Application granted granted Critical
Publication of CN109446520B publication Critical patent/CN109446520B/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/205Parsing
    • G06F40/216Parsing using statistical methods
    • 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
    • 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/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种用于构建知识库的数据聚类方法及装置,其中,该方法包括获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;根据局部密度和互斥距离确定至少一个数据点作为聚类中心;对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。本申请基于局部密度最大值的聚类思想,综合局部密度和簇间距离动态选择聚类中心,从而提高数据聚类质量,当本申请的方法用生成对智能问答系统的知识库时,能够提高问题聚类质量,使智能问答系统为用户提供更可靠的智能问答服务。

Description

用于构建知识库的数据聚类方法及装置
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种用于构建知识库的数据聚类方法及装置。
背景技术
智能问答系统能够接收以自然语言形式描述的用户提问,并通过检索知识库的方式匹配问题的答案。相对于搜索引擎,智能问答系统能更好地理解用户提问的真实意图,同时更有效地满足用户的信息需求。
智能问答系统的针对用户的问题生成答案依赖于知识库以及知识库对应的检索算法。由于,知识库通常是由本领域技术人员对一些应用领域的问题进行收集整理后得到,规模有限,因此,在用户提问内容不受约束的开放语境的智能问答系统中,智能问答系统总是会表现出知识库不完备的问题,难以捕获到所有的用户提问。另外,在智能问答系统无法捕获的用户提问中经常出现许多热点问题,这些热点问题往往对应新的业务领域,能够帮助本领域业务人员构建更多新的业务领域的知识库,提高智能问答系统的业务能力。
要根据用户提问构建知识库,首先要根据业务种类对用户提问等数据进行合理的聚类。现有技术的数据聚类使用的是SinglePass聚类方法,这种聚类方法按一定顺序依次读取数据,每次读取的新数据都和已经读取并聚类的数据进行比较,如果按照一定规则找到相应的近似组别,则将这个新数据归入这个类中,如果没有,则将这个新数据视为一个新类。就这样反复执行,直到所有的数据都读完,整个过程只对数据进行一次读取。可见,SinglePass聚类方法的聚类结果对数据读取的顺序较为敏感,具有很强的不确定性,聚类质量不稳定,从而,进一步导致知识库的质量不稳定,使智能问答系统无法为用户提供可靠的智能问答服务。
发明内容
本申请实施例提供了一种用于构建知识库的数据聚类方法及装置,以解决现有技术的聚类方法的聚类质量不稳定,进而导致知识库(例如:知识库)的质量不稳定,并进一步导致例如智能问答系统无法为用户提供可靠的智能问答服务的问题。
第一方面,本申请实施例提供了一种用于构建知识库的数据聚类方法,包括:
获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;
根据局部密度和互斥距离确定至少一个数据点作为聚类中心;
对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;
根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。
第二方面,本申请实施例提供了一种用于构建知识库的数据聚类装置,包括:
聚类参数获取模块,用于获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;
聚类中心确定模块,用于根据局部密度和互斥距离确定至少一个数据点作为聚类中心;
聚类簇生成模块,用于对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;
后处理模块,用于根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。
由以上技术方案可知,本申请实施例提供了一种用于构建知识库的数据聚类方法及装置。其中,该方法包括获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;根据局部密度和互斥距离确定至少一个数据点作为聚类中心;对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。从而,本申请基于局部密度最大值的聚类思想,根据数据点的局部密度和簇间距离动态地选择局部密度大的数据点作为聚类中心,并且多个聚类中心之间能够保持较为分散的距离,从而提高数据聚类质量,当本申请的方法用于生成智能问答系统的知识库时,能够提高问题聚类质量,使智能问答系统为用户提供更可靠的智能问答服务。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个典型的智能问答系统生成答案的过程图;
图2为本申请实施例提供的一种用于构建知识库的数据聚类方法的流程图;
图3为本申请实施例示出的问题对应的数据点的分布示意图;
图4为本申请实施例示出的聚类中心决策示意图;
图5为本申请实施例示出的聚类中心的一种判定方法的示意图;
图6为本申请实施例提供的获取数据点的局部密度的流程图;
图7为本申请实施例示出的邻近数据点的分布示意图;
图8为本申请实施例提供的获取数据点的互斥距离的流程图;
图9为本申请实施例提供的一种用于构建知识库的数据聚类方法步骤S102的流程图;
图10为本申请实施例示出的跳跃梯度的示意图;
图11为本申请实施例提供的获得数据集的流程图;
图12为本申请实施例提供的一种用于构建知识库的数据聚类装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
智能问答系统能够接收以自然语言形式描述的用户提问,并通过检索知识库的方式匹配问题的答案。相对于搜索引擎,问答系统能更好地理解用户提问的真实意图,同时更有效地满足用户的信息需求。
一个典型的智能问答系统生成答案的过程如图1所示大致可以包括:问题分析、信息检索、答案抽取这三个步骤。其中,问题分析例如可以包括对用户提问进行自然语言识别、分词、分类和关键词提取等流程;信息检索例如可以包括使用预设的检索算法从知识库中检索到与用户提问匹配的知识条目;答案抽取例如可以包括从匹配到的知识条目中抽取问题的答案并反馈给用户。
由此可以看出,智能问答系统针对用户的问题生成答案依赖于知识库以及知识库对应的检索算法。由于,知识库通常是由本领域技术人员对一些应用领域的问题进行收集整理后得到,规模有限,因此,在用户提问内容不受约束的开放语境的智能问答系统中,智能问答系统总是会表现出知识库不完备的问题,难以捕获到所有的用户提问。另外,在智能问答系统无法捕获的用户提问中经常出现许多热点问题,这些热点问题往往对应新的业务领域,能够帮助本领域业务人员构建更多新的业务领域的知识库,提高智能问答系统的业务能力。
要根据用户提问构建知识库,首先要根据业务种类对用户提问等数据进行合理的聚类。现有技术的数据聚类使用的是SinglePass聚类方法,这种聚类方法按一定顺序依次读取数据,每次读取的新数据都和已经读取并聚类的数据进行比较,如果按照一定规则找到相应的近似组别,则将这个新数据归入这个类中,如果没有,则将这个新数据视为一个新类。就这样反复执行,直到所有的数据都读完,整个过程只对数据进行一次读取。可见,SinglePass聚类方法的聚类结果对数据读取的顺序较为敏感,具有很强的不确定性,聚类质量不稳定,从而,进一步导致知识库的质量不稳定,使智能问答系统无法为用户提供可靠的智能问答服务。
为了解决现有技术中存在的问题,本申请实施例提供了一种用于构建知识库的数据聚类方法及装置。
下面是本申请的方法实施例。该实施例可以应用于服务器、PC(个人电脑)、平板电脑、手机、虚拟现实设备和智能穿戴设备等多种设备中。
图2为本申请实施例提供的一种用于构建知识库的数据聚类方法的流程图。
如图2所示,本申请实施例的方法包括以下步骤:
步骤S101,获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题。
其中,本申请中涉及到的数据点之间的距离,意指两个数据点对应问题的文本相似度,可以通过计算数据点对应问题的雅卡尔指数(Jaccard index,又称:交并比、杰卡德系数)和/或词频-逆向文件频率(term frequency–inverse document frequency,TF-IDF)的方法得到。有关使用Jaccard index和/或TF-IDF计算文本相似度的方法属于现有技术,本申请实施例中不再赘述。当然,本领域技术人员在本申请实施例的技术构思下也可以使用其他方法计算得到数据点之间的距离,能够在此处应用的设计均未超出本申请的保护范围。
数据集中包含多条问题,这些问题例如可以通过wordvec等自然语言处理手段可以映射到一个多维的数据空间中,每个问题对应数据空间中的一个数据点。
数据集中的问题可以来自于智能问答系统的用户问题日志,用户问题日志中包含智能问答系统已知的问题,也包含智能问答系统未知的问题。在开放式的智能问答系统中,用户问题会涉及到多个业务领域,并且数量巨大,不利于高效率地进行数据聚类,因此,为了提高数据聚类效率,可以对用户问题日志中的问题进行粗分类,将每个粗分类的问题作为一个数据集,对每个数据集分别使用本申请的方法进行数据聚类,从而提高数据聚类的效率和灵活性。
对于任意一个数据点xi(i为大于或者等于1的正整数),它的局部密度pi指的是数据空间S中与数据点xi之间的距离小于预设截断距离dc的数据点的数量(该数量不包括数据点xi本身)。参见以下公式(1)和公式(2):
其中,IS表示数据集S中的数据点的集合;j∈IS\{i}表示xj是数据集S中的数据点,并且与xi不是同一个数据点;dij表示数据点xi与数据点xj之间的距离。
其中,截断距离dc通过以下方式确定:假设数据集S中共包含N个数据点(N为大于或者等于1的正整数)。那么,对于每一个数据点xi(1≤i≤N),它与其他N-1个数据点都存在一个距离,因此,N个数据点总共会存在N×(N-1)个距离。由于,数据点xi到数据点xj的距离与数据点xj到数据点xi的距离是相同的,因此,在N×(N-1)个距离中有一半是重复的,那么,N个数据点存在不相同的距离的数量为M=1/2×N×(N-1)个。进一步地,如果将M个距离按照从小到大排序,即{d1,d2,…,dM-1,dM},并将截断距离dc取值为dk,k∈{1,2,…,M-1,M},那么,在N×(N-1)个距离中,小于截断距离dc的距离的数量约占距离总数的k/M,即约为k/M×N×(N-1)个,平均下来,每个数据点的小于截断距离dc的距离约为k/M N×(N-1)个,近似等于k/M×N个。进一步地,如果定义t=k/M,则每个数据点xi的局部密度pi可由t计算出的dc来定义,所以,根据t=k/M,一旦t的数值确定,k的值也随之确定,从而,dc(c=k)的值也随之确定。
可选地,本申请中截断距离dc的取值能够使得数据点xi的局部密度pi的平均值等于数据集S的数据点总数的1%~2%,因此,在本申请中,t的取值可以为1%~2%。
需要补充说明的是,本申请实施例给出的t的取值范围是一个经验值,在该取值范围下有利于提高数据聚类效果。但由于实施本申请技术方案的硬件环境、软件环境、应用领域和问题语料的不同,有利于提高数据聚类效果的t值可能不同,因此,本领域技术人员可以在本申请实施例公开的技术思路下,通过多次的验证对比选择出合适的t值。本申请实施例中对t的取值不做具体限定。
另外,对于任意一个数据点xi(i为大于或者等于1的正整数),它的互斥距离δ是指:如果该数据点xi在数据集S中具有最大局部密度,则将该数据点xi与数据集S的其他数据点存在的最远距离作为该数据点xi的互斥距离δ;如果该数据点xi在数据集S中不具有最大局部密度,则从数据集S中选取局部密度大于xi的所有数据点,并且与数据点xi距离最近的一个数据点作为互斥数据点,并将数据点xi与互斥数据点的距离作为互斥距离δ。
图3为本申请实施例示出的问题对应的数据点的分布示意图。
进一步参见图3所示,在数据集S中,数据点1具有最大的局部密度,数据点1与数据点28的距离最远,因此,数据点1与数据点28的距离就是数据点1的互斥距离。另外,数据点15的局部密度大于数据点27的局部密度,并且数据点15与数据点27的距离最近,因此,数据点27与数据点15的距离是数据点27的互斥距离。
步骤S102,根据局部密度和互斥距离确定至少一个数据点作为聚类中心。
图4为本申请实施例示出的聚类中心决策示意图。
首先,对于数据集S中的每一个数据点,都可以计算出它的局部密度pi和互斥距离δi。然后,在一个以pi为横轴,以δi为纵轴(或者以δi为横轴,以pi为纵轴)的二维坐标系中,将数据集S中的每个数据点表示出来,形成如图4所示的聚类中心决策示意图。然后,根据数据点在聚类中心决策示意图中的分布情况,将同时具有较大pi值和δi值的数据点作为聚类中心。例如,从图4可以发现,数据点1和数据点10均同时具有较大的pi值和δi值,因此,这两个数据点均可以作为聚类中心。
图5为本申请实施例示出的聚类中心的一种判定方法的示意图。
如图5所示,可以预设一个评价标准去判定聚类中心。首先,根据数据集中数据点的pi和δi的数值范围,设定图4的二维坐标系的横轴和纵轴的坐标值范围;然后,在二维坐标系的横轴和纵轴的最大坐标值处,将二维坐标系划分成两个区域,将位于pi值和δi值较大的区域的数据点作为聚类中心。
步骤S103,对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点。
具体地,聚类区域可以是以聚类中心为圆心,以截断距离为半径确定的圆形区域,从而,使得每个聚类簇中数据点的数量平均占数据点总数的1%~2%。
步骤S104,根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。
例如,首先,对位于聚类簇之外的剩余数据点创建顺序流;然后,按照顺序流指定的顺序,逐一计算每个剩余数据点与已有聚类簇的聚类中心的距离,并将剩余数据点添加到距离最近的聚类簇中。
另外,需要补充说明的是,当智能问答系统的用户问题日志中产生了新的未知问题,或者用户向数据集中添加了新的未知问题时,也可以使用步骤S104的方式,计算未知问题对应的数据点与聚类簇的聚类中心的距离,并将未知问题的数据点添加到距离最近的聚类簇中,从而,实现了在智能问答系统的运行过程中,实时对未知问题进行聚类。
由以上技术方案可知,本申请实施例提供了一种用于构建知识库的数据聚类方法,包括获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;根据局部密度和互斥距离确定至少一个数据点作为聚类中心;对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。从而,本申请基于局部密度最大值的聚类思想,根据数据点的局部密度和簇间距离动态地选择局部密度大的数据点作为聚类中心,并且多个聚类中心之间能够保持较为分散的距离,从而提高数据聚类质量,当本申请的方法用于生成智能问答系统的知识库时,能够提高问题聚类质量,使智能问答系统为用户提供更可靠的智能问答服务。
图6为本申请实施例提供的获取数据点的局部密度的流程图。
图7为本申请实施例示出的邻近数据点的分布示意图。
如图6和图7所示,在一种可选择的实施方式中,获取数据点的局部密度包括以下步骤:
步骤S201,根据预设的截断距离,寻找当前数据点的邻近数据点,邻近数据点与当前数据点的距离小于截断距离。
具体地,如图7所示,根据公式(1)和公式(2)表达的思想,以当前数据点为中心,在截断距离限定的范围内,由近到远在截断距离限定的范围内查找数据点,每查找到一个数据点,就将邻近数据点的计数增加1,直到当前数据点的所有邻近数据点都被查找到。
其中,作为一种优选的实施方式,截断距离的取值使每个数据点的邻近数据点的平均数量为数据点总数的1%~2%。
步骤S202,以当前数据点的邻近数据点的数量作为局部密度。
由此,本申请实施例根据截断距离寻找到每个数据点的邻近数据点,并根据邻近数据点的数量确定每个数据点的局部密度,从而便于根据局部密度确定聚类簇的聚类中心,使聚类中心的局部密度高于其周围的其他数据点的局部密度,使本申请实施例的数据聚类方法基于局部密度的最大值进行数据点的聚类,从而提高数据聚类质量。
图8为本申请实施例提供的获取数据点的互斥距离的流程图。
如图8所示,在一种可选择的实施方式中,获取数据点的互斥距离包括以下步骤:
步骤S301,将所有数据点的局部密度按照升序或者降序排列。
具体地,假设数据集S中共包含N个数据点(N为大于或者等于1的正整数)。将N个数据点的局部密度p按照升序或者降序排列后,会得到一个由N个局部密度p组成的局部密度序列,如果对序列中的每一个局部密度p添加一个下标作以区分,将会得到下面的序列(序列1:以降序示例):
p1≥p2≥…pN-1≥pN 序列1
步骤S302,如果根据局部密度的排列结果确定当前数据点的局部密度最大,则将当前数据点与其他数据点的最远距离作为互斥距离;如果根据局部密度的排列结果确定当前数据点的局部密度不是最大,则获取局部密度大于当前数据点的其他数据点,并将当前数据点与获取的其他数据点的最近距离作为互斥距离。
具体地,可以使用公式(3)对N个数据点的局部距离进行遍历,从而确定每个数据点的互斥距离。
其中,δi表示按照序列1排序的第i个数据点的互斥距离,i为整数且1≤i≤N;dij表示按照序列1排序的第i个数据点与第j个数据点之间的距离。那么,根据该公式,当i=1时,当前数据点的局部密度p1为最大值,则将当前数据点与其他数据点的最远距离max{d1j}(j≥2)作为互斥距离;当i≥1时,当前数据点的局部密度pi不是最大值,则获取局部密度大于当前数据点的其他数据点(即局部密度为pj(j<i)的数据点),并将当前数据点与获取的其他数据点的最近距离min{dij}(j<i)作为互斥距离。
根据上述公式,本申请从p1(即i=1)开始,直到pN(即i=N),依次计算每个数据点的互斥距离,得到δ1~δN
由此,本申请实施例通过对数据点的局部密度进行排序,便于遍历获取每个数据点的互斥距离,使获取互斥距离产生的计算过程流程化,提高效率。
图9为本申请实施例提供的一种用于构建知识库的数据聚类方法步骤S102的流程图。
如图9所示,在一种可选择的实施方式中,步骤S102包括以下步骤:
步骤S401,以每个数据点的局部密度和互斥距离的乘积作为每个数据点的聚类中心决策值。
在一些场景中,聚类中心决策示意图中的局部密度pi和互斥距离δi的分布相对聚集,可能会出现无法通过肉眼或者通过图5示出的方式分辨出聚类中心的情形。此时,需要使用更多量化的决策参数去确定聚类中心,本申请实施例提出了聚类中心决策值,其取值为数据点的局部密度和互斥距离的乘积,即:γi=pi×δi。并且,数据点的聚类中心决策值γi越大,越可能作为聚类中心。
步骤S402,根据聚类中心决策值获取每个数据点的跳跃梯度。
图10为本申请实施例示出的跳跃梯度的示意图。
以数据点的数量n作为横轴,以聚类中心决策值B作为纵轴生成一个二维坐标系,将数据集中所有数据点的聚类中心决策值统计在该二维坐标系中即可得到图10。
图10中的聚类中心决策值可以拟合成一条曲线,本申请将聚类中心决策值在曲线中的斜率k(绝对值)作为其对应数据点的跳跃梯度。
步骤S403,将跳跃梯度满足预设阈值的数据点作为聚类中心。
从图10可以看出,多数数据点的跳跃梯度较小,而少数数据点的跳跃梯度较大,在图10的曲线中形成了一个明显的跳跃。由此,本申请实施例可以通过一个预设的阈值对数据点的跳跃梯度进行判断,当数据点的跳跃梯度大于阈值时,认为该数据点为聚类中心。
由此,本申请实施例能够在难以通过聚类中心决策示意图分辨出聚类中心的情况下,使用数据点的跳跃梯度确定聚类中心,从而无论数据点如何分布,都能顺利确定聚类中心。
另外,在一些场景中,局部密度和互斥距离的数值可能处于不同的数量级,并且差距巨大,在这种情况下,局部密度和互斥距离的其中一个参数对聚类中心决策值的数值影响会很小,从而,无法体现出其在聚类中心决策值中的权重,此时,步骤S401之前,可以对局部密度和互斥距离的数值进行归一化处理,以统一它们的数量级,从而提高聚类中心的选取效果。
在一种可选择的实施方式中,本申请实施例在步骤S104之后,还包括数据输出流程,具体包括以下步骤:
步骤S105,根据聚类簇中非重复问题的数量对聚类簇进行排序,以及,根据聚类簇中每个问题出现的频率对聚类簇中的问题进行排序,并输出排序结果。
示例地,输出的排序结果为:
另外,还可以根据聚类簇中所有问题出现的总频率对聚类簇排序,以及,还可以根据聚类簇中的每个问题与聚类中心的距离对问题进行排序。或者,本领域技术人员根据本申请的技术方案完成数据聚类之后,可以根据自身的业务需求设计数据的排序方式和输出方式,能够在此处实现的设计均在本申请技术方案的保护范围之内。
由此,排序输出的问题可以在设置答案之后添加到智能问答系统的知识库中,从而提高智能问答系统的业务能力。
图11为本申请实施例提供的获得数据集的流程图。
如图11所示,在一种可选择的实施方式中,数据集可以通过以下步骤获得:
步骤S601,根据问题日志生成问题集,所述问题日志由智能问答系统根据用户提问的未知问题记录生成。
其中,在智能问答系统在运行过程中,用户不断地向智能问答系统提出问题,这些问题可以是用户通过文字输入的方式提出,也可以是用户通过语音输入的方式提出,当用户通过语音输入的方式提出问题时,智能问答系统可以使用语音识别技术(AutomaticSpeech Recognition,ASR)将语音转换成文字。智能问答系统接收用户问题后,检索知识库并常识给出答案,当智能问答系统在知识库中检索不到于用户问题匹配的已知问题时,就会把用户问题作为未知问题记录在问题日志中。本申请实施例在步骤S601中,可以定期从问题日志中提取未知问题,并生成问题集。
另外,问题集也可以通过本领域技术人员收集、统计获得。
步骤S602,对问题集进行数据预处理,所述数据预处理包括去除脏数据、统计问题集包含的非重复问题的数量和每个问题出现的频率、以及对问题进行分词处理并进行词性标注。
其中,对于本申请实施例来说,脏数据可以是包含停用词的数据。例如:停用词可以是一些特殊的符号,如:&、*、@,以及一些敏感词、违禁词等。为了去除停用词,可与预先设置一个停用词表,通过停用词表查找到包含停用词的问题,并从问题中去除停用词。
另外,本申请实施例可以使用一个预设的用户词典对去除脏数据的问题进行分词,并标注词性。其中,用户词典由大量的词语和词语的词性组成,在使用用户词典对问题进行分词时,可以首先将问题中存在于用户词典中的词语切分出来,然后将问题余下的内容每个字作为一个分词切分出来,最后,根据用户词典中记录的词语的词性将问题切分结果中的动词和名词标注词性。
步骤S603,根据词性的标注结果,获取问题包含的业务类名词和操作类动词,并根据所述业务类名词和操作类动词对问题进行分类,每个分类对应形成一个数据集。
由于用户问题通常会涉及到多个业务领域,并且数量巨大,不利于高效率地进行数据聚类,因此,为了提高数据聚类效率,可以根据问题包含的业务类名词和操作类动词对问题集中的问题进行粗分类,并将每个粗分类的问题作为一个数据集,对每个数据集分别使用本申请的方法进行数据聚类,从而提高数据聚类的效率和灵活性。
其中,通过业务类名词可以将用户问题按照它们涉及的业务领域进行分类。例如问题“云盾设备授权”“云盾设备许可”“云盾设备回收”“云盾设备升级”“云盾设备销毁”中均含有业务类名词“云盾”,因此,这些问题可以划分到一个业务领域的分类中。
进一步地,通过操作类名词可以对同一业务领域的用户问题按照具体的操作类别进行分类。例如问题“云盾设备授权”“云盾设备许可”“云盾设备回收”“云盾设备升级”“云盾设备销毁”中分别含有操作类动词“授权”“许可”“回收”“升级”“销毁”,因此可以根据这些操作类动词上述分题划分到多个操作类别中。
需要注意的是,在通过业务类名词和操作类动词对问题进行分类时,要考虑到近义词对分类的影响,例如操作类动词“授权”和“许可”互为近义词,因此“云盾设备授权”和“云盾设备许可”应该被划分到同一个操作类别中。
其中,确定问题中的近义词可通过预设的近义词表实现。
由此,本申请实施例对问题集进行了粗划分,生成数据集,每个数据对应某一业务领域的一个具体的操作类别,因此,在数据聚类过程中,可以实现对一个具体操作类别的问题进行聚类,从而提高数据聚类的精度。
下面是本申请的装置实施例,可用于执行本申请的方法实施例。该实施例可以应用于服务器、PC(个人电脑)、平板电脑、手机、虚拟现实设备和智能穿戴设备等多种设备中。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图12为本申请实施例提供的一种用于构建知识库的数据聚类装置的结构示意图。如图12所示,该装置包括:
聚类参数获取模块701,用于获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;
聚类中心确定模块702,用于根据局部密度和互斥距离确定至少一个数据点作为聚类中心;
聚类簇生成模块703,用于对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;
后处理模块704,用于根据位于聚类簇之外的剩余数据点与聚类中心的距离,将剩余数据点添加到聚类簇中。
由以上技术方案可知,本申请实施例提供了一种用于构建知识库的数据聚类装置,该装置用于获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;根据局部密度和互斥距离确定至少一个数据点作为聚类中心;对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。从而,本申请基于局部密度最大值的聚类思想,根据数据点的局部密度和簇间距离动态地选择局部密度大的数据点作为聚类中心,并且多个聚类中心之间能够保持较为分散的距离,从而提高数据聚类质量,当本申请的方法用于生成智能问答系统的知识库时,能够提高问题聚类质量,使智能问答系统为用户提供更可靠的智能问答服务。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (9)

1.一种用于构建知识库的数据聚类方法,其特征在于,包括:
获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;
以每个数据点的局部密度和互斥距离的乘积作为每个数据点的聚类中心决策值;
以数据点的数量作为横轴,以聚类中心决策值作为纵轴,建立二维坐标系,将数据集中所有数据点的聚类中心决策值统计在所述二维坐标系中;
将所述二维坐标系中的所有聚类中心决策值拟合成曲线,将各个聚类中心决策值在所述曲线中的斜率的绝对值作为其对应的数据点的跳跃梯度;
将跳跃梯度满足预设阈值的数据点作为聚类中心;
对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;
根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。
2.根据权利要求1所述的方法,其特征在于,所述获取数据点的局部密度,包括:
根据预设的截断距离,寻找当前数据点的邻近数据点,所述邻近数据点与当前数据点的距离小于截断距离;
以当前数据点的邻近数据点的数量作为局部密度。
3.根据权利要求1所述的方法,其特征在于,所述获取数据点的互斥距离,包括:
将所有数据点的局部密度按照升序或者降序排列;
如果根据局部密度的排列结果确定当前数据点的局部密度最大,则将当前数据点与其他数据点的最远距离作为互斥距离;
如果根据局部密度的排列结果确定当前数据点的局部密度不是最大,则获取局部密度大于当前数据点的其他数据点,并将当前数据点与获取的其他数据点的最近距离作为互斥距离。
4.根据权利要求1所述的方法,其特征在于,所述对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点,包括:
所述聚类区域是以聚类中心为圆心,以预设的截断距离为半径确定的圆形区域。
5.根据权利要求1所述的方法,其特征在于,所述根据位于聚类簇之外的剩余数据点与聚类中心的距离,将剩余数据点添加到聚类簇中之后,还包括:
根据聚类簇中非重复问题的数量对聚类簇进行排序,以及,根据聚类簇中每个问题出现的频率对聚类簇中的问题进行排序,并输出排序结果。
6.根据权利要求2所述的方法,其特征在于,所述截断距离的取值使每个数据点的邻近数据点的平均数量为数据点总数的1%~2%。
7.根据权利要求1所述的方法,其特征在于,所述数据集通过以下步骤获得:
根据问题日志生成问题集,所述问题日志通过采集用户提出的未知问题生成;
对问题集进行数据预处理,所述数据预处理包括去除脏数据、统计问题集包含的非重复问题的数量和每个问题出现的频率、以及对问题进行分词处理并进行词性标注;
根据词性的标注结果,获取问题包含的业务类名词和操作类动词,并根据所述业务类名词和操作类动词对问题进行分类,每个分类对应形成一个数据集。
8.根据权利要求1所述的方法,其特征在于,所述以每个数据点的局部密度和互斥距离的乘积作为每个数据点的聚类中心决策值之前,还包括:
对局部密度和互斥距离的数值进行归一化处理。
9.一种用于构建知识库的数据聚类装置,其特征在于,包括:
聚类参数获取模块,用于获取数据集的每个数据点的局部密度和互斥距离,每个数据点对应一条问题;
聚类中心确定模块,用于以每个数据点的局部密度和互斥距离的乘积作为每个数据点的聚类中心决策值;以数据点的数量作为横轴,以聚类中心决策值作为纵轴,建立二维坐标系,将数据集中所有数据点的聚类中心决策值统计在所述二维坐标系中;将所述二维坐标系中的所有聚类中心决策值拟合成曲线,将各个聚类中心决策值在所述曲线中的斜率的绝对值作为其对应的数据点的跳跃梯度;将跳跃梯度满足预设阈值的数据点作为聚类中心;
聚类簇生成模块,用于对每个聚类中心生成聚类簇,所述聚类簇包括聚类中心周围预设聚类区域内的所有数据点;
后处理模块,用于根据聚类簇之外的剩余数据点与聚类簇的聚类中心的距离,将剩余数据点添加到聚类簇中。
CN201811208636.XA 2018-10-17 2018-10-17 用于构建知识库的数据聚类方法及装置 Active CN109446520B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811208636.XA CN109446520B (zh) 2018-10-17 2018-10-17 用于构建知识库的数据聚类方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811208636.XA CN109446520B (zh) 2018-10-17 2018-10-17 用于构建知识库的数据聚类方法及装置

Publications (2)

Publication Number Publication Date
CN109446520A CN109446520A (zh) 2019-03-08
CN109446520B true CN109446520B (zh) 2023-08-15

Family

ID=65547144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811208636.XA Active CN109446520B (zh) 2018-10-17 2018-10-17 用于构建知识库的数据聚类方法及装置

Country Status (1)

Country Link
CN (1) CN109446520B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414569B (zh) * 2019-07-03 2022-04-08 北京小米智能科技有限公司 聚类实现方法及装置
CN112528025A (zh) * 2020-12-16 2021-03-19 平安科技(深圳)有限公司 基于密度的文本聚类方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930862A (zh) * 2016-04-13 2016-09-07 江南大学 一种基于密度自适应距离的密度峰聚类算法
CN106599029A (zh) * 2016-11-02 2017-04-26 焦点科技股份有限公司 一种中文短文本聚类方法
CN108280472A (zh) * 2018-01-18 2018-07-13 安徽师范大学 一种基于局部密度和聚类中心优化的密度峰聚类方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9146987B2 (en) * 2013-06-04 2015-09-29 International Business Machines Corporation Clustering based question set generation for training and testing of a question and answer system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930862A (zh) * 2016-04-13 2016-09-07 江南大学 一种基于密度自适应距离的密度峰聚类算法
CN106599029A (zh) * 2016-11-02 2017-04-26 焦点科技股份有限公司 一种中文短文本聚类方法
CN108280472A (zh) * 2018-01-18 2018-07-13 安徽师范大学 一种基于局部密度和聚类中心优化的密度峰聚类方法

Also Published As

Publication number Publication date
CN109446520A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
KR101737887B1 (ko) 크로스 미디어 분석에 기반한 소셜 미디어 텍스트의 주제 카테고리 자동 분류 방법 및 그 장치
Pereira et al. Using web information for author name disambiguation
US10565253B2 (en) Model generation method, word weighting method, device, apparatus, and computer storage medium
CN112035599B (zh) 基于垂直搜索的查询方法、装置、计算机设备及存储介质
CN108549723B (zh) 一种文本概念分类方法、装置及服务器
Wu et al. Efficient near-duplicate detection for q&a forum
CN104537341A (zh) 人脸图片信息获取方法和装置
KR101638535B1 (ko) 사용자 검색어 연관 이슈패턴 검출 방법, 이를 수행하는 이슈패턴 검출 서버 및 이를 저장하는 기록매체
CN103778206A (zh) 一种网络服务资源的提供方法
CN109446520B (zh) 用于构建知识库的数据聚类方法及装置
CN110019556B (zh) 一种话题新闻获取方法、装置及其设备
CN114461783A (zh) 关键词生成方法、装置、计算机设备、存储介质和产品
CN107908649B (zh) 一种文本分类的控制方法
Rakib et al. Efficient clustering of short text streams using online-offline clustering
CN105512270B (zh) 一种确定相关对象的方法和装置
US20210117448A1 (en) Iterative sampling based dataset clustering
CN116108181A (zh) 客户信息的处理方法、装置及电子设备
Elizalde et al. There is no data like less data: Percepts for video concept detection on consumer-produced media
Makinist et al. Preparation of improved Turkish dataset for sentiment analysis in social media
Suvorov et al. Establishing the similarity of scientific and technical documents based on thematic significance
CN110852078A (zh) 生成标题的方法和装置
CN109614617B (zh) 支持极性区分和多义的词向量生成方法及装置
CN113656575A (zh) 训练数据的生成方法、装置、电子设备及可读介质
CN109902099B (zh) 基于图文大数据的舆情跟踪方法、装置和计算机设备
CN113392184A (zh) 一种相似文本的确定方法、装置、终端设备及存储介质

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190308

Assignee: DINFO (BEIJING) SCIENCE DEVELOPMENT Co.,Ltd.

Assignor: ULTRAPOWER SOFTWARE Co.,Ltd.

Contract record no.: X2019990000214

Denomination of invention: Data clustering method and device for constructing knowledge base

License type: Exclusive License

Record date: 20191127

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Applicant after: ULTRAPOWER SOFTWARE Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building block A Room 601

Applicant before: ULTRAPOWER SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant