CN112148872B - 自然对话主题分析方法、装置、电子设备和存储介质 - Google Patents
自然对话主题分析方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112148872B CN112148872B CN202011043378.1A CN202011043378A CN112148872B CN 112148872 B CN112148872 B CN 112148872B CN 202011043378 A CN202011043378 A CN 202011043378A CN 112148872 B CN112148872 B CN 112148872B
- Authority
- CN
- China
- Prior art keywords
- word segmentation
- sequence
- word
- segmentation sequence
- subset
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 43
- 230000011218 segmentation Effects 0.000 claims abstract description 462
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000002776 aggregation Effects 0.000 claims abstract description 20
- 238000004220 aggregation Methods 0.000 claims abstract description 20
- 238000000605 extraction Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000004927 fusion Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000000746 purification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
- G06F16/345—Summarisation for human users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种自然对话主题分析方法、装置、电子设备、及存储介质,方法包括:获取多个自然对话文本,对任一自然对话文本进行切和分词处理得到分词序列;将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合;对任一分词序列子集合提取核心关键词;对任一分词序列子集合中任一分词序列,分别计算任意两个核心关键词词序字符串的莱文斯坦距离以获取主题纯度;根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。本实施例的技术方案能够直接根据批量或海量的自然对话分析主题,无需人工参与,能提高主题分析效率。
Description
技术领域
本公开实施例涉及自然语言处理技术领域,具体涉及一种自然对话主题分析方法、装置、电子设备和存储介质。
背景技术
自然对话指的是自然人之间的正常通话行为。在自然对话当中,对话双方主要通过互相来回传递的对方可理解的信息进行意图表达;对话的所有元素通常在连贯地串联起来后(包括上下文关系和整体对话方式),才能完整反应对话意图;此外,对于特定语境的对话,在对话当中往往会用简略的语言表述一些没有直接讲述出来的隐藏含义,对同一事物使用不同的词汇和方式来表达。对话意图抽取是实现自然语言理解,构建对话***中至关重要的一个环节。
目前业界通常采用topic model的方式进行意图抽取。在海量自然对话背景下,基于当前流行的topic model的意图提取方式需要积累大量的自然对话意图标注语料,这实现起来工程量机器庞大,耗时耗力;同时,在特定场景下,人们会更关注海量自然对话中的稀有话题,topic model的方式下进行的意图分类结果,极可能出现误报或漏报的情况。
发明内容
有鉴于此,本公开实施例提供一种自然对话主题分析方法、装置、电子设备、及存储介质,以提高对自然对话进行主题分析的效率。
本公开实施例的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开实施例的实践而习得。
第一方面,本公开实施例提供了一种自然对话主题分析方法,包括:
获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列;
将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合;
对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合;
对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离;
根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度,以及根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度;
根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
于一实施例中,将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合包括:
将所述分词序列集合切分为至少一个初始集合,对任一初始集合通过独立的处理进程执行如下操作:
为该初始集合新建一个分词序列子集合作为已有分词序列子集合,并从该初始集合中取一个分词序列添加到该新建的分词序列子集合;
对该初始集合中任一分词序列,遍历该初始集合的各已有分词序列子集合;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量小于或等于预定数量阈值,则遍历下一已有分词序列子集合,若遍历完最后一个已有分词序列子集合,则新建一个已有分词序列子集合并在该已有分词序列子集合中添加该分词序列;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量均大于所述预定数量阈值,则将该分词序列添加到该已有分词序列子集合中;
将根据所述至少一个初始集合得到的有分词序列子集合作为所述多个分词序列子集合。
于一实施例中,若将所述分词序列集合切分为至少一个初始集合为:将所述分词序列集合切分为多个初始集合,则所述方法还包括,在对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合之后还包括:
对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断,若根据判断结果确定合并,则将两个分词序列子集合合并,直到分词序列子集合数量不再变化。
于一实施例中,对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断包括:
获取该两个分词序列子集合对应的核心关键词集合的平均元素数量、以及交集元素数量;
确定所述交集元素数量除了所述平均元素数量是否大于预定重合率阈值,若是则确定将该两个分词序列子集合。
于一实施例中,对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词包括:
对任一分词序列子集合,根据该分词序列子集合包含的分词序列提取高频的分词得到该分词序列子集合的关键词词袋,从所述关键词词袋中提取文档频率大于指定频率阈值的关键词作为核心关键词;
于一实施例中,分词序列子集合的关键词词袋中任一关键词的文档频率通过如下方式计算:
确定该分词序列子集合出现该关键词的分词序列数量作为第一数量;
确定该分词序列子集合的分词序列数量作为第二数量;
将所述第一数量与所述第二数量的比值作为所述关键词的文档频率。
于一实施例中,所述获取多个自然对话文本包括:
实进获取多个自然对话文本。
于一实施例中,所述方法还包括:
对任一对话单元的文本内容进行分词处理得到分词序列之后还包括:根据预定停用词表将分词结果中属于所述停用词表的分词删除;和/或
对任一对话单元的文本内容进行分词处理得到分词序列之后还包括:将文本长度小于预定文本长度阈值的分词序列删除;和/或
在根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度之后还包括:从分词序列子集合中剔除主题相似度小于预定相似度阈值的分词序列;和/或
在根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度之后还包括:从所述分词序列集合中剔除主题纯度小于预定主题纯度阈值的分词序列子集合。
第二方面,本公开实施例还提供了一种自然对话主题分析装置,包括:
数据获取与预处理模块,用于获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列;
主题聚合模块,用于将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合;
关键词提取模块,用于对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合;
距离计算模块,用于对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离;
主题纯度计算模块,用于根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度,以及根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度;
分析结果输出模块,用于根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
于一实施例中,所述主题聚合模块用于:
将所述分词序列集合切分为至少一个初始集合,对任一初始集合通过独立的处理进程执行如下操作:
为该初始集合新建一个分词序列子集合作为已有分词序列子集合,并从该初始集合中取一个分词序列添加到该新建的分词序列子集合;
对该初始集合中任一分词序列,遍历该初始集合的各已有分词序列子集合;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量小于或等于预定数量阈值,则遍历下一已有分词序列子集合,若遍历完最后一个已有分词序列子集合,则新建一个已有分词序列子集合并在该已有分词序列子集合中添加该分词序列;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量均大于所述预定数量阈值,则将该分词序列添加到该已有分词序列子集合中;
将根据所述至少一个初始集合得到的有分词序列子集合作为所述多个分词序列子集合。
于一实施例中,若将所述分词序列集合切分为至少一个初始集合为:将所述分词序列集合切分为多个初始集合,则所述装置还包括主题迭代融合模块,用于在对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合之后还包括:
对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断,若根据判断结果确定合并,则将两个分词序列子集合合并,直到分词序列子集合数量不再变化。
于一实施例中,所述主题迭代融合模块对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断包括:
获取该两个分词序列子集合对应的核心关键词集合的平均元素数量、以及交集元素数量;
确定所述交集元素数量除了所述平均元素数量是否大于预定重合率阈值,若是则确定将该两个分词序列子集合。
于一实施例中,所述关键词提取模块用于:
对任一分词序列子集合,根据该分词序列子集合包含的分词序列提取高频的分词得到该分词序列子集合的关键词词袋,从所述关键词词袋中提取文档频率大于指定频率阈值的关键词作为核心关键词;
于一实施例中,所述关键词提取模块中,分词序列子集合的关键词词袋中任一关键词的文档频率通过如下方式计算:
确定该分词序列子集合出现该关键词的分词序列数量作为第一数量;
确定该分词序列子集合的分词序列数量作为第二数量;
将所述第一数量与所述第二数量的比值作为所述关键词的文档频率。
于一实施例中,数据获取与预处理模块用于获取多个自然对话文本包括:
实进获取多个自然对话文本。
于一实施例中,所述装置还包括第一剔除模块、第二剔除模块、第三剔除模块和/或第四剔除模块:
所述第一剔除模块用于,对任一对话单元的文本内容进行分词处理得到分词序列之后:根据预定停用词表将分词结果中属于所述停用词表的分词删除;
所述第二剔除模块用于,对任一对话单元的文本内容进行分词处理得到分词序列之后:将文本长度小于预定文本长度阈值的分词序列删除;
所述第三剔除模块用于,在根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度之后:从分词序列子集合中剔除主题相似度小于预定相似度阈值的分词序列;
所述第四剔除模块用于,在根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度之后:从所述分词序列集合中剔除主题纯度小于预定主题纯度阈值的分词序列子集合。
第三方面,本公开实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一项所述方法的指令。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一项所述方法的步骤。
本公开实施例通过获取多个自然对话文本,对任一自然对话文本进行切和分词处理得到分词序列;将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合;对任一分词序列子集合提取核心关键词;对任一分词序列子集合中任一分词序列,分别计算任意两个核心关键词词序字符串的莱文斯坦距离以获取主题纯度;根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。本实施例的技术方案能够直接根据批量或海量的自然对话分析主题,无需人工参与,能提高主题分析效率。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开实施例中的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本公开实施例的内容和这些附图获得其他的附图。
图1是本公开实施例提供的一种自然对话主题分析方法的流程示意图;
图2是本公开实施例提供的另一种自然对话主题分析方法的流程示意图;
图3是本公开实施例提供的对自然对话文本进行处理的流程示意图;
图4是本公开实施例提供的进行聚合分组处理的流程示意图;
图5是本公开实施例提供的进行迭代融合处理的流程示意图;
图6是本公开实施例提供的进行主题提纯处理的流程示意图;
图7是本公开实施例提供的一种自然对话主题分析装置的结构示意图;
图8是本公开实施例提供的另一种自然对话主题分析装置的结构示意图;
图9示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
为使本公开实施例解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本公开实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本公开实施例中的一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
需要说明的是,本公开实施例中术语“***”和“网络”在本文中常被可互换使用。本公开实施例中提到的“和/或”是指包括一个或更多个相关所列项目的任何和所有组合。本公开的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。
还需要说明是,本公开实施例中下述各个实施例可以单独执行,各个实施例之间也可以相互结合执行,本公开实施例对此不作具体限制。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面结合附图并通过具体实施方式来进一步说明本公开实施例的技术方案。
图1示出了本公开实施例提供的一种自然对话主题分析方法的流程示意图,本实施例可适用于根据批量或海量自然对话,或者根据实时获取的批量或海量自然对话分析出对话主题的情况,该方法可以由配置于电子设备中的自然对话主题分析装置来执行,如图1所示,本实施例所述的自然对话主题分析方法包括:
在步骤S110中,获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列。
本步骤中,获取多个自然对话文本可以是获取批量或海量静态自然对话文本,还可以是实时获取产生的自然对话文本。
在步骤S120中,将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合。
对集合进行分组可采用多种方式实现,本步骤用于将分词序列集合拆分为多个主题差异较大的子集合,可通过多种方式实现,例如将分词序列集合根据相似度拆分。
本实施例以一种具体方式为例说明本步骤的具体方案,例如:
将所述分词序列集合切分为至少一个初始集合,对任一初始集合通过独立的处理进程执行如下操作:
为该初始集合新建一个分词序列子集合作为已有分词序列子集合,并从该初始集合中取一个分词序列添加到该新建的分词序列子集合;
对该初始集合中任一分词序列,遍历该初始集合的各已有分词序列子集合;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量小于或等于预定数量阈值,则遍历下一已有分词序列子集合,若遍历完最后一个已有分词序列子集合,则新建一个已有分词序列子集合并在该已有分词序列子集合中添加该分词序列;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量均大于所述预定数量阈值,则将该分词序列添加到该已有分词序列子集合中;
将根据所述至少一个初始集合得到的有分词序列子集合作为所述多个分词序列子集合。
其中,若将所述分词序列集合切分为一个初始集合,则可通过一个线程完成本步骤,以将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合。
若将所述分词序列集合切分为多个初始集合,对任一初始集合通过独立的处理进程执行本步骤,将各线程得到的一个或多个分词序列子集合汇聚得到多个分词序列子集合,作为所述分词序列集合的多个分词序列子集合。
这种情况下,若将所述分词序列集合切分为多个初始集合时,没有按照主题的差异性进行切分,则根据不同线程得到的分词序列子集合之间还有可能主题相近,需要进一步处理,以进行迭代融合。
例如,可在步骤S130之后,进一步进行如下处理:对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断,若根据判断结果确定合并,则将两个分词序列子集合合并,直到分词序列子集合数量不再变化。
其中,对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断可通过如下方式:
获取该两个分词序列子集合对应的核心关键词集合的平均元素数量、以及交集元素数量;
确定所述交集元素数量除了所述平均元素数量是否大于预定重合率阈值,若是则确定将该两个分词序列子集合。
在步骤S130中,对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合。
例如,可对任一分词序列子集合,根据该分词序列子集合包含的分词序列提取高频的分词得到该分词序列子集合的关键词词袋,从所述关键词词袋中提取文档频率大于指定频率阈值的关键词作为核心关键词。
其中,分词序列子集合的关键词词袋中任一关键词的文档频率通过如下方式计算:
确定该分词序列子集合出现该关键词的分词序列数量作为第一数量;
确定该分词序列子集合的分词序列数量作为第二数量;
将所述第一数量与所述第二数量的比值作为所述关键词的文档频率。
在步骤S140中,对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离。
在步骤S150中,根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度,以及根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度。
在步骤S160中,根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
本实施例的技术方案通过获取多个自然对话文本,对任一自然对话文本进行切和分词处理得到分词序列;将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合;对任一分词序列子集合提取核心关键词;对任一分词序列子集合中任一分词序列,分别计算任意两个核心关键词词序字符串的莱文斯坦距离以获取主题纯度;根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。本实施例的技术方案能够直接根据批量或海量的自然对话分析主题,无需人工参与,能提高主题分析效率。
图2示出了本公开实施例提供的另一种自然对话主题分析方法的流程示意图,本实施例以前述实施例为基础,进行了改进优化。如图2所示,本实施例所述的自然对话主题分析方法包括:
在步骤S201中,获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列。
在步骤S202中,根据预定停用词表将分词结果中属于所述停用词表的分词删除。
本步骤为可选步骤,通过该步骤可进一步提高分词的质量。
在步骤S203中,将文本长度小于预定文本长度阈值的分词序列删除。
本步骤为可选步骤,可通过删除含义较少的分词序列,以提高分词序列的纯度。
图3是上述步骤S201至步骤S203所述处理方式的一种示例性的流程示意图,如图3所示,包括:
在步骤S301中,自然对话内容切分。
例如,读取自然对话内容,并将对话内容按对话角色进行切分;若对话角色仅有一人独白,则不用处理;若对话内容为双人或多人对话,则依据发言人将对应的对话内容拼接为一份对话内容作为一个对话单元,并给每个对话单元依序生成一个单独的对话ID。
需要说明的是,为了叙述方便,本实施例的示例内容用对话ID表示对应ID的对话单元。另外,一个分词序列子集合对应一个主题,为了叙述方便,本实施例的示例内容中有时用主题表示该主题对应的分词序列子集合。
在步骤S302中,多进程分词。
本步骤将每个对话ID的文本内容,采用自然语言分词模块进行分词,将文本内容当中的连续自然语句切分为一个个单独的字词,并将分词结果代替对话ID所对应的原本文本内容。
在步骤S303中,停用词去除。
本步骤是加载预设的停用词表,将那些例如语气助词、副词、介词、连接词等通常自身并无明确的意义的中文字词去除,以及将非中文字符也进行去除。
在步骤S304中,判断文本长度是否小于阈值,若是则执行步骤S305,否则执行步骤S306。
本步骤用于针对上一步骤当中的输出结果,对剩余字符长度低于指定预设阈值的文本过滤掉。该步骤目的是减少后续无监督主题聚类模块的处理数据量,并输出数据预处理的结果到后续流程当中。
在步骤S305中,忽略该行文本内容。
在步骤S306中,规整后数据输出,结束。
在步骤S204中,将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合。
对于数据预处理后输出结果,可采用多进程进行分批同步处理。对于每一批的当中的多条对话ID及其对应的文本内容,可按多种方式进行聚合,图4是本步骤的一种示例性实施例的流程示意图,如图4所示,一种进行聚合分组处理的方法包括:
在步骤S401中初始化新分组,执行步骤S402。
例如,可从该批次当中随机抽取一个对话ID,并将该对话ID划分到一个新的分组当中。
在步骤S402中,判断是否存在未分类分词序列,若是则执行步骤S403,否则结束。
在步骤S403中抽取未分类分词序列,执行步骤S404。
在步骤S404中,求分词结果交集,执行步骤S405。
从该批次当中随机抽取一个对话ID,并将其与现有的分组进行逐一匹配。若该对话ID对应的分词结果列表当中,与该分组内所有成员进行逐一求交集,得到该对话ID与该分组内每个成员的分词结果列表交集元素个数。
在步骤S405中,判断交集个数是否满足条件,若是则执行步骤S408,否则执行步骤S406。
若该对话ID与该分组内每个成员的分词结果列表交集元素个数均大于指定阈值,则说明该对话ID对应的文本分词结果与该意图主题较为相似,将此对话ID合并到该分组当中;否则将此该对话ID划分到一个新的分组当中。
在步骤S406中,判断是否已遍历所有分组,若是则执行步骤S407,否则返回步骤S404。
循环上述步骤S402至步骤S404的流程,直至该批次当中所有的对话ID均已放入分组当中。
在步骤S407中,新建一个分组,执行步骤S409。
在步骤S408中,分词序列加入该分组,执行步骤S409。
在步骤S409中,完成分类,返回步骤S402。
在相同关键词聚合步骤当中,由于本实施例采用了多进程分批处理,在提升了整体运行效率的同时,可能将原本同一主题意图的文本内容划分到不同的批次当中,导致不同批次之间存在比较近似的主题。本步骤则是通过对不同批次之间聚合的主题结果进行循环迭代融合,使得整体数据当中关键词较为一致的文本能划分到同一主题之内,整体流程图如图5所示,具体步骤如下:
在步骤S501中,记录初始主题数,执行步骤S502。
在步骤S502中,主题词袋提取,执行步骤S503。
对于不同批次当中相同关键词聚合出的多个主题,在每个主题内统计本主题所有对话ID对应的关键词集合,得到本主题的关键词词袋。
在步骤S503中,提取核心关键词,执行步骤S504。
每个主题当中分别遍历本主题的关键词词袋当中的每个关键词,计算该关键词的文档频率df。并将文档频率df大于指定阈值的关键词添加到为本主题的核心关键词列表当中。统计该主题内包含该关键词的对话ID数量,记为aim_topic;统计该主题内总对话ID数量,记为all_topic;文档频率df的计算公式如下:
其中,df为文档频率;
aim_topic为统计该主题内包含该关键词的对话ID数量;
all_topic为该主题内总对话单元数量(对话ID数量)。
在步骤S504中,重合率计算,执行步骤S505。
所有主题之间进行两两对比,假设主题A与主题B之间进行计算,则设统计主题A与主题B之间的核心关键词交集个数,记为set_kw;统计主题A与主题B的核心关键词个数,设两个主题的核心关键词个数平均值记为avg_kw;计算主题A与主题B的核心关键词重合率公式如下:
其中,set_kw为两个主题之间的核心关键词交集个数;
avg_kw为两个主题的核心关键词个数平均值;
coincidence_per为两个主题之间的重合率。
在步骤S505中,判断重合率是否大于预定重合率阈值,若是则执行步骤S506。
在步骤S506中,将相似的主题进行合并,执行步骤S507。
对于主题核心关键词的重合率超过指定阈值的主题,将其合并为一个新的主题,并更新对应主题ID所包含的对话ID字典。
在步骤S507中,记录融合后主题数,执行步骤S508。
在步骤S508中,判断主题数是否相同,若是则执行步骤S509,否则返回步骤S501。
主题总个数不再变化,则说明主题循环迭代步骤已经完成。
在步骤S509中,输出融合结果,结束。
在步骤S205中,对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合。
在步骤S206中,对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离。
在步骤S207中,根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度。
在步骤S208中,从分词序列子集合中剔除主题相似度小于预定相似度阈值的分词序列。
图6是上述步骤S206至步骤S208所述处理方式的一种示例性的流程示意图,如图6所示,包括:
在步骤S601中,生成保序字符串,执行步骤S602。
对于主题融合后输出的全部主题,每个主题内依据核心关键词列表,计算本主题内每个对话ID对应的原始文本当中,依据每个核心关键词出现的先后顺序生成该对话ID对应的核心关键词词序字符串。
在步骤S602中,计算距离比均值,执行步骤S603。
例如,对于每个主题内,计算每个对话ID与其余对话ID的核心关键词词序字符串之间的莱文斯坦距离比,其具体计算方法如下。
莱文斯坦距离的含义是:设s和t为两个需要计算的字串,其中s的长度为n,t的长度为m。如果n=0,则返回m并退出;如果m=0,则返回n并退出。否则构建一个数组d[0..m,0..n],其中“..”表示省略中间整数,下同。
将第0行初始化为0..n,第0列初始化为0..m。
步骤1.依次检查s的每个字母(i=1..n)。
步骤2.依次检查t的每个字母(j=1..m)。
步骤3.如果s[i]=t[j],则cost=0;如果s[i]!=t[j],则cost=1。
将d[i,j]设置为以下三个值中的最小值:
步骤4.紧邻当前格上方的格的值加一,即d[i-1,j]+1
步骤5.紧邻当前格左方的格的值加一,即d[i,j-1]+1
步骤6.当前格左上方的格的值加cost,即d[i-1,j-1]+cost
重复步骤3-步骤6步直到循环结束,所输出的d[n,m]即为莱茵斯坦距离。
莱文斯坦距离比:
设sum是需要比较的s和t两个字串的长度总和,ldist表示类编辑距离(类编辑距离与编辑距离相比,编辑距离三种操作中每个操作+1;而在类编辑距离中,删除、***依然+1,但是替换+2),则s和t的莱文斯坦距离比为:
在步骤S603中,判断平均值是否小于指定预定相似度阈值,若是则执行步骤S604,否则执行步骤S605。
在步骤S604中,删除该分词序列,结束。
计算出主题内每个对话ID与同主题内其余对话ID的莱文斯坦距离比的平均值作为该对话ID的主题相似得分,若该对话ID的主题相似得分低于指定阈值,则将该对话ID从该主题当中剔除。
在步骤S605中,计算主题纯度得分,执行步骤S606。
计算每个主题中剩余对话ID的主题相似得分平均值作为该主题的纯度得分。若该主题的纯度得分低于指定阈值,则认为该主题内的对话ID对应文本不纯,删除该主题及对应的对话ID。
在步骤S606中,判断主题纯度得分是否小于预定主题纯度阈值,若是则执行步骤S607,否则执行步骤S608。
在步骤S607中,删除主题,结束。
在步骤S608中,保留主题,结束。
本步骤为可选步骤,可提高分词序列子集合的纯度。
在步骤S209中,根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度。
在步骤S210中,从所述分词序列集合中剔除主题纯度小于预定主题纯度阈值的分词序列子集合。
本步骤为可选步骤,以提高所述分词序列集合的纯度。
在步骤S211中,根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
本实施例在上一实施例的基础上,增加了一些可选步骤,能进一步提高提高主题分析结果的准确性。
作为上述各图所示方法的实现,本申请提供了一种自然对话主题分析装置的一个实施例,图7示出了本实施例提供的一种自然对话主题分析装置的结构示意图,该装置实施例与图1至图6所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。如图7所示,本实施例所述的自然对话主题分析装置包括数据获取与预处理模块710、主题聚合模块720、关键词提取模块730、距离计算模块740、主题纯度计算模块750和分析结果输出模块760。
所述数据获取与预处理模块710被配置为,用于获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列。
所述主题聚合模块720被配置为,用于将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合。
所述关键词提取模块730被配置为,用于对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合。
所述距离计算模块740被配置为,用于对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离。
所述主题纯度计算模块750被配置为,用于根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度,以及根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度。
所述分析结果输出模块760被配置为,用于根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
进一步地,所述主题聚合模块720被配置为,用于:
将所述分词序列集合切分为至少一个初始集合,对任一初始集合通过独立的处理进程执行如下操作:
为该初始集合新建一个分词序列子集合作为已有分词序列子集合,并从该初始集合中取一个分词序列添加到该新建的分词序列子集合;
对该初始集合中任一分词序列,遍历该初始集合的各已有分词序列子集合;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量小于或等于预定数量阈值,则遍历下一已有分词序列子集合,若遍历完最后一个已有分词序列子集合,则新建一个已有分词序列子集合并在该已有分词序列子集合中添加该分词序列;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量均大于所述预定数量阈值,则将该分词序列添加到该已有分词序列子集合中;
将根据所述至少一个初始集合得到的有分词序列子集合作为所述多个分词序列子集合。
进一步地,所述关键词提取模块805被配置为,还用于:
对任一分词序列子集合,根据该分词序列子集合包含的分词序列提取高频的分词得到该分词序列子集合的关键词词袋,从所述关键词词袋中提取文档频率大于指定频率阈值的关键词作为核心关键词;
进一步地,所述关键词提取模块805被配置为,还用于:
确定该分词序列子集合出现该关键词的分词序列数量作为第一数量;
确定该分词序列子集合的分词序列数量作为第二数量;
将所述第一数量与所述第二数量的比值作为所述关键词的文档频率。
进一步地,数据获取与预处理模块801被配置为,用于实进获取多个自然对话文本。
本实施例提供的自然对话主题分析装置可执行本公开方法实施例所提供的自然对话主题分析方法,具备执行方法相应的功能模块和有益效果。
图8示出了本公开实施例提供的另一种自然对话主题分析装置的结构示意图,如图8所示,本实施例所述的自然对话主题分析装置包括:数据获取与预处理模块801、第一剔除模块802、第二剔除模块803、主题聚合模块804、关键词提取模块805、主题迭代融合模块806、距离计算模块807、第三剔除模块808、主题纯度计算模块809、第四剔除模块810和分析结果输出模块811。
所述数据获取与预处理模块801被配置为,用于获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列。
所述第一剔除模块802被配置为,用于对任一对话单元的文本内容进行分词处理得到分词序列之后:根据预定停用词表将分词结果中属于所述停用词表的分词删除。
所述第二剔除模块803被配置为,用于对任一对话单元的文本内容进行分词处理得到分词序列之后:将文本长度小于预定文本长度阈值的分词序列删除。
所述主题聚合模块804被配置为,用于将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合。
具体地,所述主题聚合模块804被配置为:
将所述分词序列集合切分为多个初始集合,对任一初始集合通过独立的处理进程执行如下操作:
为该初始集合新建一个分词序列子集合作为已有分词序列子集合,并从该初始集合中取一个分词序列添加到该新建的分词序列子集合;
对该初始集合中任一分词序列,遍历该初始集合的各已有分词序列子集合;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量小于或等于预定数量阈值,则遍历下一已有分词序列子集合,若遍历完最后一个已有分词序列子集合,则新建一个已有分词序列子集合并在该已有分词序列子集合中添加该分词序列;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量均大于所述预定数量阈值,则将该分词序列添加到该已有分词序列子集合中;
将根据所述多个初始集合得到的有分词序列子集合作为所述多个分词序列子集合。
所述关键词提取模块805被配置为,用于对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合。
所述主题迭代融合模块806被配置为,用于对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断,若根据判断结果确定合并,则将两个分词序列子集合合并,直到分词序列子集合数量不再变化。
所述距离计算模块807被配置为,用于对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离。
所述第三剔除模块808被配置为,用于在根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度之后:从分词序列子集合中剔除主题相似度小于预定相似度阈值的分词序列。
所述主题纯度计算模块809被配置为,用于根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度,以及根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度。
所述第四剔除模块810被配置为,用于在根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度之后:从所述分词序列集合中剔除主题纯度小于预定主题纯度阈值的分词序列子集合。
所述分析结果输出模块811被配置为,用于根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
进一步地,所述主题迭代融合模块806被配置为,用于:
获取该两个分词序列子集合对应的核心关键词集合的平均元素数量、以及交集元素数量;
确定所述交集元素数量除了所述平均元素数量是否大于预定重合率阈值,若是则确定将该两个分词序列子集合。
进一步地,所述关键词提取模块805被配置为,用于:
对任一分词序列子集合,根据该分词序列子集合包含的分词序列提取高频的分词得到该分词序列子集合的关键词词袋,从所述关键词词袋中提取文档频率大于指定频率阈值的关键词作为核心关键词;
进一步地,所述关键词提取模块805被配置为,用于:
确定该分词序列子集合出现该关键词的分词序列数量作为第一数量;
确定该分词序列子集合的分词序列数量作为第二数量;
将所述第一数量与所述第二数量的比值作为所述关键词的文档频率。
本实施例提供的自然对话主题分析装置可执行本公开方法实施例所提供的自然对话主题分析方法,具备执行方法相应的功能模块和有益效果。
下面参考图9,其示出了适于用来实现本公开实施例的电子设备900的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储装置908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开实施例的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开实施例的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM 902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列;
将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合;
对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合;
对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离;
根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度,以及根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度;
根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开实施例各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开实施例的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (11)
1.一种自然对话主题分析方法,其特征在于,包括:
获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列;
将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合;
对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合;
对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离;
根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度,以及根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度;
根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
2.根据权利要求1所述的方法,其特征在于,将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合包括:
将所述分词序列集合切分为至少一个初始集合,对任一初始集合通过独立的处理进程执行如下操作:
为该初始集合新建一个分词序列子集合作为已有分词序列子集合,并从该初始集合中取一个分词序列添加到该新建的分词序列子集合;
对该初始集合中任一分词序列,遍历该初始集合的各已有分词序列子集合;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量小于或等于预定数量阈值,则遍历下一已有分词序列子集合,若遍历完最后一个已有分词序列子集合,则新建一个已有分词序列子集合并在该已有分词序列子集合中添加该分词序列;
若该分词序列与任一已有分词序列子集合包含的各分词序列的相同词数量均大于所述预定数量阈值,则将该分词序列添加到该已有分词序列子集合中;
将根据所述至少一个初始集合得到的有分词序列子集合作为所述多个分词序列子集合。
3.根据权利要求2所述的方法,其特征在于,若将所述分词序列集合切分为至少一个初始集合为:将所述分词序列集合切分为多个初始集合,则所述方法还包括,在对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合之后还包括:
对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断,若根据判断结果确定合并,则将两个分词序列子集合合并,直到分词序列子集合数量不再变化。
4.根据权利要求3所述的方法,其特征在于,对任意两个分词序列子集合,根据对应的核心关键词集合的重合率进行合并判断包括:
获取该两个分词序列子集合对应的核心关键词集合的平均元素数量、以及交集元素数量;
确定所述交集元素数量除了所述平均元素数量是否大于预定重合率阈值,若是则确定将该两个分词序列子集合合并。
5.根据权利要求1所述的方法,其特征在于,对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词包括:
对任一分词序列子集合,根据该分词序列子集合包含的分词序列提取高频的分词得到该分词序列子集合的关键词词袋,从所述关键词词袋中提取文档频率大于指定频率阈值的关键词作为核心关键词。
6.根据权利要求5所述的方法,其特征在于,分词序列子集合的关键词词袋中任一关键词的文档频率通过如下方式计算:
确定该分词序列子集合出现该关键词的分词序列数量作为第一数量;
确定该分词序列子集合的分词序列数量作为第二数量;
将所述第一数量与所述第二数量的比值作为所述关键词的文档频率。
7.根据权利要求1所述的方法,其特征在于,所述获取多个自然对话文本包括:
实时获取多个自然对话文本。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对任一对话单元的文本内容进行分词处理得到分词序列之后还包括:根据预定停用词表将分词结果中属于所述停用词表的分词删除;和/或
在对任一对话单元的文本内容进行分词处理得到分词序列之后还包括:将文本长度小于预定文本长度阈值的分词序列删除;和/或
在根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度之后还包括:从分词序列子集合中剔除主题相似度小于预定相似度阈值的分词序列;和/或
在根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度之后还包括:从所述分词序列集合中剔除主题纯度小于预定主题纯度阈值的分词序列子集合。
9.一种自然对话主题分析装置,其特征在于,包括:
数据获取与预处理模块,用于获取多个自然对话文本,对任一自然对话文本按照对话角色进行切分得到一个或多个对话单元,对任一对话单元的文本内容进行分词处理得到分词序列;
主题聚合模块,用于将根据所述多个自然对话文本得到的分词序列集合进行聚合分组分成多个分词序列子集合;
关键词提取模块,用于对任一分词序列子集合,从所包含的分词中提取文档频率大于指定频率阈值的分词作为核心关键词,以得到该分词序列子集合对应的核心关键词集合;
距离计算模块,用于对任一分词序列子集合中任一分词序列,根据所包含的核心关键词和各核心关键词出现的顺序生成该分词序列对应的核心关键词词序字符串,分别计算任意两个核心关键词词序字符串的莱文斯坦距离;
主题纯度计算模块,用于根据任一分词序列对应的核心关键词词序字符串与所属分词序列子集合中其他分词序列对应的核心关键词词序字符串之间的莱文斯坦距离,确定该分词序列与所属的分词序列子集合的主题相似度,以及根据任一分词序列子集合所包含的各分词序列的主题相似度确定该分词序列子集合的主题纯度;
分析结果输出模块,用于根据所述分词序列集合所包含的各分词序列子集合的主题纯度和对应的关键词集合,进行分析结果输出。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述方法的指令。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043378.1A CN112148872B (zh) | 2020-09-28 | 2020-09-28 | 自然对话主题分析方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043378.1A CN112148872B (zh) | 2020-09-28 | 2020-09-28 | 自然对话主题分析方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112148872A CN112148872A (zh) | 2020-12-29 |
CN112148872B true CN112148872B (zh) | 2024-04-02 |
Family
ID=73895143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011043378.1A Active CN112148872B (zh) | 2020-09-28 | 2020-09-28 | 自然对话主题分析方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148872B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610783B (zh) * | 2023-05-05 | 2024-01-02 | 广东信佰工程监理有限公司 | 基于人工智能决策的服务优化方法及数字化在线页面*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844344A (zh) * | 2017-02-06 | 2017-06-13 | 厦门快商通科技股份有限公司 | 用于对话的贡献度计算方法及主题抽取方法和*** |
CN110874531A (zh) * | 2020-01-20 | 2020-03-10 | 湖南蚁坊软件股份有限公司 | 一种话题分析方法、装置和存储介质 |
CN111061877A (zh) * | 2019-12-10 | 2020-04-24 | 厦门市美亚柏科信息股份有限公司 | 文本主题提取方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106548124B (zh) * | 2015-09-17 | 2021-09-07 | 松下知识产权经营株式会社 | 主题推定***、主题推定方法 |
US10348658B2 (en) * | 2017-06-15 | 2019-07-09 | Google Llc | Suggested items for use with embedded applications in chat conversations |
-
2020
- 2020-09-28 CN CN202011043378.1A patent/CN112148872B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844344A (zh) * | 2017-02-06 | 2017-06-13 | 厦门快商通科技股份有限公司 | 用于对话的贡献度计算方法及主题抽取方法和*** |
CN111061877A (zh) * | 2019-12-10 | 2020-04-24 | 厦门市美亚柏科信息股份有限公司 | 文本主题提取方法和装置 |
CN110874531A (zh) * | 2020-01-20 | 2020-03-10 | 湖南蚁坊软件股份有限公司 | 一种话题分析方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112148872A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112559800B (zh) | 用于处理视频的方法、装置、电子设备、介质和产品 | |
EP3996373A2 (en) | Method and apparatus of generating bullet comment, device, and storage medium | |
CN107145485B (zh) | 用于压缩主题模型的方法和装置 | |
CN109684290B (zh) | 日志存储方法、装置、设备及计算机可读存储介质 | |
CN114861889B (zh) | 深度学习模型的训练方法、目标对象检测方法和装置 | |
CN111767393A (zh) | 一种文本核心内容提取方法及装置 | |
CN112668320A (zh) | 基于词嵌入的模型训练方法、装置、电子设备及存储介质 | |
CN113407814B (zh) | 文本搜索方法、装置、可读介质及电子设备 | |
CN113326420A (zh) | 问题检索方法、装置、电子设备和介质 | |
CN111368551A (zh) | 一种确定事件主体的方法和装置 | |
CN115982376A (zh) | 基于文本、多模数据和知识训练模型的方法和装置 | |
WO2023115890A1 (zh) | 一种文本的质量清洗方法、装置及介质 | |
CN115438149A (zh) | 一种端到端模型训练方法、装置、计算机设备及存储介质 | |
CN112148872B (zh) | 自然对话主题分析方法、装置、电子设备和存储介质 | |
CN115098729A (zh) | 视频处理方法、样本生成方法、模型训练方法及装置 | |
CN113011169B (zh) | 一种会议纪要的处理方法、装置、设备及介质 | |
CN110852057A (zh) | 一种计算文本相似度的方法和装置 | |
CN111538903B (zh) | 搜索推荐词确定方法、装置、电子设备及计算机可读介质 | |
CN111555960A (zh) | 信息生成的方法 | |
CN111488450A (zh) | 一种用于生成关键词库的方法、装置和电子设备 | |
CN113742332A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN114880498B (zh) | 事件信息展示方法及装置、设备和介质 | |
CN111382262A (zh) | 用于输出信息的方法和装置 | |
CN112819513B (zh) | 一种文本链生成方法、装置、设备及介质 | |
CN115048523A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |