CN111507108A - 别名生成方法、装置、电子设备及计算机可读存储介质 - Google Patents

别名生成方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111507108A
CN111507108A CN202010303948.XA CN202010303948A CN111507108A CN 111507108 A CN111507108 A CN 111507108A CN 202010303948 A CN202010303948 A CN 202010303948A CN 111507108 A CN111507108 A CN 111507108A
Authority
CN
China
Prior art keywords
candidate
name
word
alias
matching
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
CN202010303948.XA
Other languages
English (en)
Other versions
CN111507108B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010303948.XA priority Critical patent/CN111507108B/zh
Publication of CN111507108A publication Critical patent/CN111507108A/zh
Application granted granted Critical
Publication of CN111507108B publication Critical patent/CN111507108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供了一种别名生成方法、装置、电子设备及计算机可读存储介质;方法包括:基于名称中每个字的向量表示预测所述每个字所属的字段类型,得到所述名称包括的多个类型的字段;基于所述名称包括的多个类型的字段,生成多个候选别名;将所述名称分别与每个所述候选别名进行语义匹配,得到所述名称与每个所述候选别名之间的匹配结果;将满足匹配条件的匹配结果所对应的候选别名,确定为所述名称的别名。通过本发明,能够针对名称生成数量更多、更为精确的别名。

Description

别名生成方法、装置、电子设备及计算机可读存储介质
技术领域
本发明涉及人工智能领域的自然语言处理技术,尤其涉及一种别名生成方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
自然语言处理(Nature Language processing,NLP)是人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。别名生成是文本处理技术中的一个分支。常见的生成别名的方法是通过对名称进行序列标注,将企业名称分成不同的字段,然后拼接部分字段生成别名。然而这种方法生成的别名模式单一,无法有效覆盖各种类型的别名。
发明内容
本发明实施例提供一种别名生成方法、装置、电子设备及计算机可读存储介质,能够针对名称生成数量更多、精确度更高的别名。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种别名生成方法,包括:
基于名称中每个字的向量表示预测所述每个字所属的字段类型,得到所述名称包括的多个类型的字段;
基于所述名称包括的多个类型的字段,生成多个候选别名;
将所述名称分别与每个所述候选别名进行语义匹配,得到所述名称与每个所述候选别名之间的匹配结果;
将满足匹配条件的匹配结果所对应的候选别名,确定为所述名称的别名。
本发明实施例提供一种别名生成装置,包括:
预测模块,用于基于名称中每个字的向量表示预测所述每个字所属的字段类型,得到所述名称包括的多个类型的字段;
候选别名生成模块,用于基于所述名称包括的多个类型的字段,生成多个候选别名;
语义匹配模块,用于将所述名称分别与每个所述候选别名进行语义匹配,得到所述名称与每个所述候选别名之间的匹配结果,并将满足匹配条件的匹配结果所对应的候选别名,确定为所述名称的别名。
上述方案中,所述预测模块,用于:
将所述名称中的每个字映射为名称每个字的初始向量表示;
顺序遍历所述名称中的每个字,将当前遍历到的字的初始向量表示映射为隐层状态,并在隐藏层中进行正向传播,将所述隐藏层输出的向量作为当前遍历到的字对应的最终向量表示;
将所述每个字的最终向量表示映射为分别对应多个标签的概率,并将概率最大的标签确定为所属的标签;
将所述名称中相邻且所属的标签属于相同类型的字进行聚合,以得到多个类型的字段。
所述候选别名生成模块,用于:
遍历多个组合规则,并基于遍历的每个组合规则执行以下处理:
从所述名称中提取所述组合规则中所指定类型的字段,并将所提取的字段组合为符合所述组合规则的候选别名;
其中,不同的所述组合规则所指定的类型不完全相同。
所述候选别名生成模块,还用于:
分别对所述名称中每个字以及所述每个字的标签进行字典映射处理,得到所述每个字对应的输入向量;
对所述每个字对应的输入向量进行编码处理,得到所述名称的编码状态表示;
对所述名称的编码状态表示进行解码处理,得到多个候选别名。
所述候选别名生成模块,还用于:
对所述名称中每个字进行字典映射处理,得到所述每个字对应的字向量;
对所述每个字的标签进行字典映射处理,得到所述每个字对应的标签向量;
将所述每个字对应的标签向量和字向量进行拼接处理,得到所述每个字对应的输入向量。
所述候选别名生成模块,还用于:
对每个字对应的输入向量进行前向编码处理,得到所述名称中最后一个字对应的编码隐层状态;
对每个字对应的输入向量进行后向编码处理,得到所述名称中第一个字对应的编码隐层状态;
将所述最后一个字对应的编码隐层状态和所述第一个字对应的编码隐层状态作为所述名称对应的编码状态表示;
其中,在所述前向编码处理和所述后向编码处理的过程中,所述每个字对应的编码隐层状态是根据所述每个字对应的输入向量和前一个字对应的编码隐层状态确定。
所述候选别名生成模块,还用于:
根据所述候选别名的最大长度确定多级路径的级数,其中,所述多级路径中的每一级包括多个候选字,且所述多个候选字来自于所述名称;
对所述名称的编码状态表示进行解码处理,得到所述多级路径中的每一级中的每个候选字的条件概率,并从所述多级路径的每一级中选取条件概率最大的k个字作为下一级的输入,其中,k为小于所述名称的字数的正整数;
在所述多级路径的最后一级中选取条件概率最大的m个字对应的路径作为候选路径,其中,m为小于所述名称的字数的正整数;
对每个所述候选路径中每一级的候选字进行拼接,得到与每个所述候选路径一一对应的候选别名。
所述候选别名生成模块,还用于:
对所述编码状态表示进行解码,得到第i-1级中的候选字的解码隐层状态,并基于所述第i-1级中的候选字的解码隐层状态,确定第i级中由所述候选字确定的各个候选字的权重;
其中,i为小于或等于所述多级路径的级数的正整数;
基于所述第i级中各个候选字的权重对所述各个候选字的编码隐层状态进行加权求和,得到语境向量;
基于所述语境向量和所述第i-1级中的候选字的解码隐层状态,确定所述第i级中所有候选字的概率分布表;
基于所述语境向量和所述概率分布表的重要程度,确定所述第i级中各个候选字的条件概率。
所述语义匹配模块,用于:
将所述名称与每个所述候选别名组成匹配对,对每个所述匹配对进行映射,得到与所述每个匹配对对应的向量表示;
基于所述每个匹配对的向量表示确定类型标记向量,并根据所述类型标记向量的隐层状态进行映射处理,得到所述名称与每个所述候选别名的匹配分数;
其中,所述类型标记向量的隐层状态用于代表每个所述匹配对的向量表示。
所述语义匹配模块,还用于:
对所述名称与每个所述候选别名的匹配分数进行降序排序,得到匹配分数排序表;
从所述匹配分数排序表中选取匹配分数大于匹配阈值的候选别名,或者选取排序在前的部分候选别名,以作为所述名称的别名。
所述语义匹配模块,还用于:
针对每个所述候选别名,确定所述名称的召回量和所述候选别名的召回量;
从所述候选别名的召回量中减去所述名称的召回量,并将所述候选别名的剩余的召回量映射到有限区间中,得到所述候选别名的实际新闻召回量;
基于所述实际新闻召回量和所述匹配分数确定所述候选别名的综合置信度;
基于所述实际新闻召回量、所述匹配分数和所述综合置信度确定所述候选别名的可信度。
所述语义匹配模块,还用于:
将所述实际新闻召回量作为以自然常数为底的幂指数,构造所述实际新闻召回量对应的幂,将所述匹配分数作为以自然常数为底的幂指数,构造匹配分数对应的幂;
对所述实际新闻召回量对应的幂和所述匹配分数对应的幂进行求和运算,得到目标和;
将所述实际新闻召回量对应的幂与所述目标和之比作为所述实际新闻召回量的权重,并将所述匹配分数对应的幂与所述目标和之比作为所述匹配分数的权重;
将所述实际新闻召回量和所述匹配分数分别根据各自对应的权重进行加权求和,得到所述综合置信度。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的别名生成方法。
本发明实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的别名生成方法。
本发明实施例具有以下有益效果:
通过将名称分为多个类型的字段,进而基于多个类型的字段生成多个候选别名,并从生成的候选别名中选取与名称的匹配分数超过匹配阈值的别名,作为该名称的别名,从而可以针对名称精确度更高,更为多样化的别名。
附图说明
图1A是相关技术提供的命名原则的原理示意图;
图1B是相关技术提供的企业简称提取方法的流程示意图;
图1C是相关技术提供的企业简称生成方法的流程示意图;
图2A是本发明实施例提供的别名生成系统的一个架构示意图;
图2B是本发明实施例提供的别名生成系统的另一个结构示意图;
图3是本发明实施例提供的利用别名检索企业的示意图;
图4是本发明实施例提供的企业舆情数据的检索示意图;
图5是本发明实施例提供的服务器的结构示意图;
图6是本发明实施例提供的别名生成装置的结构示意图;
图7A是本发明实施例提供的别名生成方法的一个流程示意图;
图7B是本发明实施例提供的别名生成方法的一个流程示意图;
图7C是本发明实施例提供的别名生成方法的一个流程示意图;
图8A-8B是本发明实施例提供的序列标注模型的结构示意图;
图9A是本发明实施例提供的别名生成模型的功能结构示意图;
图9B是本发明实施例提供的确定候选字的条件概率的示意图;
图10A-10B是本发明实施例提供的语义匹配模型的结构示意图;
图11A是利用企业名称召回某时段的舆情数据量的示意图;
图11B是利用企业别名召回相同时段的舆情数据的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)隐层状态:在神经网络的隐藏层中,对输入向量进行复杂的矩阵运算和非线性函数映射获得隐层状态,将隐层状态作为当前位置的网络隐藏层状态表示。
2)序列到序列网络:通常包含一个编码器和解码器,编码器负责对输入序列进行编码,然后解码器基于编码器输出的编码状态表示,解码输出得到另一个序列,常见的序列到序列网络包括翻译模型、对话系统等。
3)序列标注:对输入的一段文字进行编码处理,并解码输出另一段不限长的文字序列。
4)语义匹配:在语义上计算文本之间的相似度。
5)基于变换器的双向编码表征网络(Bidirectional Encoder Representationsfrom Transformers,BERT):利用文本的左、右语境来预训练深度双向神经网络的表征,在微调阶段,仅需要少量标注数据即可完成特定任务的训练。
下面首先分析相关技术提供的别名生成方案。
参见图1A,图1A是相关技术提供的命名原则的原理示意图,企业或机关团体等单位的名称的命名原则为:行政区划名字101+字号101+行业/经营特点103+组织形式104。因此,相关技术的别名的生成方案通常采用对名称进行序列标注的方法,得到4个不同的字段,然后拼接部分字段生成别名。这种方法生成的别名模式简单,通常只有“字号”、“行政区域+字号”或者“字号+行业/经营”这几种模式,对于不属于上述三种模式的别名,则无法覆盖。
参见图1B,图1B是相关技术提供的企业简称提取方法的流程示意图,采用如下步骤实现:
步骤110、对待处理文本进行分词处理,形成对应的字词序列。
步骤111、选取设定数量的样本进行分段人工标注为开始、关键字、行业和组织形式部分,将企业名称外的文本标注为无关部分。
步骤112、将人工标注的文本先正向再反向输入双向递归神经网络,训练。
步骤113、将待分析文本中的文字序列,输入训练好的双向递归神经网络,标注各个字段,并组合提取企业简称。
步骤114、将企业简称放入企业简称数据库。
该方案基本按照分词+序列标注+字段组合的方法提取企业的简称。首先分词;然后标注一定量的企业名称样本,每个样本标注为开始(B)、关键字(K)、行业(I)、组织形式(T)和无关(N)共五种字段;再通过双向递归神经网络进行序列标注,基于标注结果将相邻的K、BK或KI字段作为企业简称输出。
参见图1C,图1C是相关技术提供的企业简称生成方法的流程示意图,采用如下步骤实现:
步骤120、从企业全称中依次提取每个汉字,作为模型输入。
步骤121、得到企业全称每个字的向量Xi,依次输入到循环神经网络,其中i=(1,2,…,n)。
步骤122、在循环神经网络第三层,使用长短期记忆模块从左到右计算各个字的隐层状态向量hi,并从右到左计算各个字的隐层状态向量hi′。
步骤123、利用条件随机场对每个汉字的前后隐层状态向量hi、后向隐层状态向量hi′进行解码,得到二元标注集,根据标注结果生成企业简称。
该方案采用序列标注的方法提取企业简称;将企业名称中的汉字依次输入到双向循环神经网络,计算每个汉字的隐层状态向量,然后利用条件随机场模型进行解码,为每个汉字打上二元(B、I)标签,将标注集中的所有属于B的汉字提取组成企业简称。
可见,相关技术提供的别名生成方案通过序列标注来生成企业简称(别名),存在如下缺点:生成的企业简称模式单一,不能有效覆盖各类的别名,最多只能生成3种别名;在生成简称后无法给出模型侧的置信度分数,因此当存在多个候选别名、或者不同公司生成相同别名时,无法比较,影响企业别名的后续利用;在生成别名后缺乏外部的真实性验证方案,无法评估别名在互联网中的可用性。对于以上问题,本发明实施例提供了一种别名生成系统,该系统通过对名称进行序列标注处理、别名生成处理和语义匹配处理等操作,可以得到精确度更高、种类更多的别名。
参见图2A,图2A是本发明实施例提供的别名生成系统100的一个架构示意图,用于至少解决上述技术问题。别名生成系统100是用于提供包括企业画像、企业名称检索、企业舆情检索等综合服务的系统中的一个子系统。其中,别名生成系统100包括:服务器200、网络300和终端400,服务器200通过网络300与终端400连接,网络300可以是广域网或者局域网,又或者是二者的组合。别名生成系统100用于对名称进行序列标注处理、别名生成处理和语义匹配处理等操作,生成多个别名,最后将多个别名通过网络300发送给终端400。
作为示例,首先,终端400通过网络300向服务器200发送生成别名请求,该生成别名请求中包括名称,服务器200接收到生成别名请求后,查找与生成别名请求适配的生成别名服务,通过生成别名服务对名称进行处理,生成多个别名,最后,将生成的多个别名返回给终端400。
其中,在图2A的系统架构中,以生成企业别名为例,终端所接收到的别名可用于如下示例性的应用场景:可作为企业画像的一部分,有利于企业画像中的企业图谱构建;利用别名检索企业,检索结果输出企业名称,如图3所示,在搜索框中输入“**科技”,其中“*”表示通配符,显示可能的公司名称;企业舆情数据的检索召回,在检索中支持企业别名到企业名称的映射,如图4所示,输入企业别名进行检索,输出包括名称在内容的企业相关信息。
其中,上述的服务器200可以是独立的物理服务器200,也可以是多个物理服务器200构成的服务器200集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器200。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能摄像头等,但并不局限于此。终端以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例在此不做限制。
在本发明实施例中,服务器200提供的生成别名服务可以封装为云服务,用户通过浏览器/云客户端等形式登录云服务,提交生成别名请求和名称;云服务响应于生成别名请求,对名称进行序列标注,得到多个字段,然后基于多个字段生成多个候选别名,并对多个候选别名进行评估,选取出与名称匹配度较高的多个别名作为名称的别名;最后将名称的多个别名发送给用户,用户可从生成的多个别名中选取一个来使用。
在另一些实施例中,本发明实施例提供的别名生成系统也可以结合区块链技术实现。
参见图2B,图2B是本发明实施例提供的别名生成系统100的另一个架构示意图。其中,别名生成系统100包括:服务器200、网络300、终端400和区块链网络500(示例性示出了区块链网络500包括的节点510-1、节点510-2和节点510-3)。其中,区块链网络500用于接收终端400发送的不同单位的名称和别名,基于各个单位的名称和别名构建单位别名库,在单位别名库中单位的名称与单位的别名一一对应。
作为示例,终端400通过网络300向服务器200发送生成别名请求,该生成别名请求中包括单位名称,服务器200接收到生成别名请求后,查找与生成别名请求适配的生成别名服务,通过生成别名服务对接收到的单位名称一一进行处理,生成与每个单位名称对应的多个单位别名,并将生成的多个单位别名分别返回给对应的终端400。随后,终端400通过网络300将多个单位别名以及对应的单位名称发送给区块链网络500,区块链网络500基于接收到的终端400发送的不同单位的名称和别名构建单位别名库。区块链网络500还可基于单位别名库进一步完善各单位画像中的图谱构建。
区块链网络500能够基于构建的单位别名库来提供别名查询服务以响应终端400的别名查询请求,利用区块链技术来保证查询结果的可信性。从业务层考虑,由于别名出现的频率远高于名称,在单位画像中需要处理的海量数据因为缺乏单位别名库,导致存在“数据孤岛”问题,区块链网络500维护单位别名库并提供别名查询服务可以极大缓解这个问题。
继续说明如图2A和2B中示出的服务器200,参见图5,图5是本发明实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器410、存储器440、至少一个网络接口420。服务器200中的各个组件通过总线系统430耦合在一起。可理解,总线系统430用于实现这些组件之间的连接通信。总线系统430除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统430。
在一些实施例中,存储器440能够存储数据以支持各种操作,这些数据的示例包括操作系统441和网络通信模块442。
在一些实施例中,本发明实施例提供的别名生成装置可以采用软件方式实现,图5示出了存储在存储器440中的别名生成装置453,其可以是程序和插件等形式的软件,包括以下软件模块:预测模块4531、候选别名生成4532、和语义匹配模块4533,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
在一些实施例中,作为别名生成装置453的软件示例,如图6所示,别名生成装置453可以是别名生成模型,该模型包括顺序连接的序列标注模型601、别名生成模型602和语义匹配模型603。其中,将名称输入序列标注模型中,经过分段标注,输出该名称包括的多个类型的字段;当别名生成模型是通过组合规则生成别名时,别名生成模型按照设定好的字段组合规则对多个类型的字段进行组合,生成多个候选别名;当别名生成模型是神经网络时,别名生成模型包括编码器和解码器,编码器将名称和名称对应的字段向量编码成隐层向量序列,然后解码器通过注意力机制抽取隐层向量序列,生成多个候选别名;语义匹配模型对多个候选别名和名称进行语义匹配,得到名称与每个候选别名之间的匹配分数;可基于匹配分数从候选别名中选取合适的别名。将在下文中说明各个模块的功能。
将结合本发明实施例提供的系统的示例性应用和实施,说明本发明实施例提供的别名生成方法。
参见图7A,图7A是本发明实施例提供的别名生成方法的一个流程示意图,将结合图7A示出的步骤进行说明。
在步骤710中,服务器(例如上文所述的服务器200)基于名称中每个字的向量表示预测每个字所属的字段类型,得到名称包括的多个类型的字段。
其中,在本发明实施例中,名称可以是全称(即完整的名称),如企业全称、机关团体全称、公益机构全称等等,包括命名原则中规定的字段,例如行政区划名字+字号+行业/经营特点+组织形式。
参见图8A和图8B,图8A-8B是本发明实施例提供的序列标注模型的结构示意图,服务器通过序列标注模型601进行序列标注,序列标注模型中的嵌入层801在名称前插入一个“CLS”符号,“CLS”符号所对应的输出向量C可作为整个名称的语义表示。对“CLS”符号和名称中每个字进行映射,得到每个字的初始向量表示。初始向量表示可以是通过神经网络模型(例如word2vec模型)映射得到的词嵌入向量,其中神经网络模型用于将字/词映射为向量的形式,且任意两个字/词对应的词嵌入向量之间的距离,与任意两个字/词之间的语义距离正相关。初始向量表示可以是序列标注模型通过查询字向量表从而将名称中的每个字转换为一维向量,并进行初始化后得到的。
之后,在多个隐藏层802中,正序或逆序地遍历名称中的每个字,将当前遍历到的字的初始向量表示结合其他字的初始向量表示通过一系列的矩阵运算和非线性函数映射为隐层状态,并结合其他字的隐藏层状态,在隐藏层中对应当前遍历到的字的解码路径进行正向传播,得到当前遍历到的字对应的最终向量表示;在输出层803中,对最终向量表示进行分类,将每个字的最终向量表示映射到各个标签中,然后经过逻辑回归处理,确定每个字的最终向量分别对应各个标签的概率,并将概率最大的标签确定为最终向量所对应的字所属的标签(也即该字的位置所对应的标签)。结合输出层803针对名称中各个字预测的标签,将名称中相邻且所属的标签属于相同类型的字进行聚合,得到多个类型的字段。
参见表1,表1是本发明实施例提供的标签的示例,标签可以只用于表示字的类型,也可以用于表示字的类型以及字在词中所处的位置。以“地点”类型为例,对应3个标签,分别是B-LOC(代表地点开始)、I-LOC(代表地点中间)和E-LOC(代表地点结尾)。
标签(类型) 含义
B-LOC 地点开始
I-LOC 地点中间
E-LOC 地点结尾
B-NAME 名称开始
I-NAME 名称中间
E-NAME 名称结尾
B-IND 行业开始
I-IND 行业中间
E-IND 行业结尾
S-IND 单个行业字
B-TYPE 公司类型开始
I-TYPE 公司类型中间
E-TYPE 公司类型结尾
S-TYPE 单个公司类型字
O 其他
表1不同类型的标签及其含义的映射表
以输出层803针对“天”和“津”两个字对应预测的标签为“B-LOC”和“E-LOC”为例,根据表1可查询每个字所对应的标签,例如,“天”对应的标签为“B-LOC”,表示是名称中表示地点的名词中的第一个字,即“地点开始”,“津”的标签“E-LOC”表示是名称中表示地点的名词中的最后一个字,即“地点结尾”,因为“B-LOC”和“E-LOC”对应的字相邻且都是属于地点类型(以“LOC”表示)的标签,所以对相应的字进行聚合,得到类型为“地点”的“天津”字段。
其中,本发明实施例采用的序列标注模型可以为预训练-微调范式的双向编码表征变换器网络,也可以采用条件随机场、双向循环神经网络+条件随机场等模型,本发明实施例对此不做限制。
在步骤720中,服务器基于名称包括的多个类型的字段,生成多个候选别名。
参见图7B,图7B是本发明实施例提供的别名生成方法的一个流程示意图,将结合图7B示出的702-705步骤进行说明,步骤720中基于名称包括的多个类型的字段,生成多个候选别名,可以通过以下步骤721-724实现。
在步骤721中,服务器基于组合规则对多个类型的字段进行组合,生成多个候选别名。
在一个可能的示例中,服务器基于组合规则对多个类型的字段进行组合,生成多个候选别名,可以采用如下方式实现:遍历多个组合规则,并基于遍历的每个组合规则执行以下处理:从名称中提取组合规则中所指定类型的字段,并将所提取的字段组合为符合组合规则的候选别名;其中,不同的组合规则所指定的类型不完全相同。
其中,组合规则可形如“NAME”、“LOC+NAME”、“NAME+IND”等。在一些实施例中,当组合规则为上述三种时,提取名称中分别对应“NAME”的字段“都金”、对应“LOC”的字段“天津”、对应“IND”的字段“贸易”,按照上述组合规则组合,则得到3个候选别名分别为“都金”、“天津都金”、“都金贸易”。
在步骤722中,服务器分别对名称中每个字以及每个字的标签进行字典映射处理,得到每个字对应的输入向量。
在一些实施例中,服务器中可以预先建立两个字典,每个字典都包括多个键值对,第一个字典中的键值对由字和对应的字向量组成,第二个字典中的键值对由标签和对应的标签向量组成。通过步骤710得到名称中每个字的标签后,对名称中每个字进行字典映射处理,即以字作为索引在第一个字典中查找与之构成键值对的字向量,得到每个字对应的字向量;同时对每个字的标签进行字典映射处理,即以标签作为索引在第二个字典中查找与之构成键值对的标签向量,得到每个字对应的标签向量。例如,“天”经过字典映射处理后得到对应的字向量[0.1,0.2,…,-1.2];同样,“天”的标签“B-LOC”经过字典映射处理后也会得到也会对应的标签向量,如[-0.3,0.05,…,0.7]。之后,将每个字对应的标签向量和字向量进行拼接处理,得到每个字对应的输入向量。如,将字向量[0.1,0.2,…,-1.2]和标签向量[-0.3,0.05,…,0.7]进行拼接处理,得到输入向量[0.1,0.2,…,-1.2,-0.3,0.05,…,0.7]。
在步骤723中,服务器对每个字对应的输入向量进行编码处理,得到名称的编码状态表示。
作为示例,如图9A所示,图9A是本发明实施例提供的别名生成模型的功能结构示意图。服务器通过别名生成模型602来对输入向量进行编码处理,得到名称的编码状态表示。别名生成模型包括编码器901和解码器902,编码器和解码器都是双向循环神经网络,都由输入层、隐藏层和输出层构成。在前向编码处理中,服务器通过编码器依次对每个字对应的输入向量进行前向编码处理,以得到名称中最后一个字对应的编码隐层状态,编码隐层状态即这个字在编码器中对应的隐层状态向量。如公式(1)所示:
hj=f(xj,hj-1) (1)
其中,f为非线性映射函数,hj为名称中的位置j处的编码隐层状态,hj-1为名称中的位置j-1处的编码隐层状态,xj为位置j处的输入向量。每个位置的编码隐层状态依赖于前一位置的编码隐层状态和当前位置的输入向量,因此,前向编码中,最后一个字对应的编码隐层状态
Figure BDA0002455056800000161
保留有前面其他字的编码隐层状态的信息。反向编码类似于前向编码,第一个字对应的编码隐层状态
Figure BDA0002455056800000162
保留有后面其他字的编码隐层状态的信息。
然后,将前向编码中最后一个字对应的编码隐层状态
Figure BDA0002455056800000163
和反向编码中第一个字对应的编码隐层状态
Figure BDA0002455056800000164
进行拼接作为名称对应的编码状态表示,如公式(2)所示:
Figure BDA0002455056800000171
作为替代方案,也可以将前向编码中每个字对应的编码隐层状态和反向编码中每个字对应的编码隐层状态进行拼接作为名称对应的编码状态表示。
在步骤724中,服务器对名称的编码状态表示进行解码处理,得到多个候选别名。
在一个可能的示例中,服务器对名称的编码状态表示进行解码处理,得到多个候选别名,可以采用如下方式实现:根据候选别名的最大长度确定多级路径的级数,其中,多级路径中的每一级包括多个候选字,且多个候选字来自于名称;通过解码器对名称的编码状态表示进行解码处理,得到多级路径中的每一级中的每个候选字的条件概率,并从多级路径的每一级中选取条件概率最大的k个字作为下一级的输入,其中,k为小于名称的字数的正整数;在多级路径的最后一级中选取条件概率最大的m个字对应的路径作为候选路径,其中,m为小于名称的字数的正整数;对每个候选路径中每一级的候选字进行拼接,得到与每个候选路径一一对应的候选别名。
其中,本发明实施例在解码处理中通过采用束搜索的方法得到多级路径。根据候选别名的最大长度确定多级路径的级数。例如,设定候选别名最多不超过4个字,则多级路径的级数为4。束搜索的束宽可设定为3,4,5等,当束宽设定为3时,在每一级中,将从所有分支中可能的候选字中选取条件概率最大的3个字作为这一级的候选字,且每一级都基于前一级中的候选字确定这一级中可能出现的候选字。在多级路径的最后一级中选取条件概率最大的3个字对应的路径作为候选路径。例如,候选路径中的一个路径的每一级中的候选字分别为“新”、“科”、“技”,则对这三个字进行拼接组合,得到该路径对应的候选别名“新科技”。
在一个可能的示例中,通过解码器对所编码状态表示进行解码,得到多级路径中的每一级中的每个候选字的条件概率,可以采用如下方式实现:对编码状态表示进行解码,得到第i-1级中的候选字的解码隐层状态,并基于第i-1级中的候选字的解码隐层状态,确定第i级中由候选字确定的各个候选字的权重;其中,i为小于或等于多级路径的级数的正整数;基于第i级中各个候选字的权重对各个候选字在编码器中的编码隐层状态进行加权求和,得到语境向量903;基于语境向量和第i-1级中的候选字的解码隐层状态,确定第i级中所有候选字的概率分布表904;基于语境向量和概率分布表的重要程度,确定第i级中各个候选字的条件概率。
参见图9B所示,图9B是本发明实施例提供的确定候选字的条件概率的示意图。解码器基于编码状态表示S、上一时间步的输出字向量xt-1、以及上一时间步的解码隐层状态ht-1进行解码,得到当前时间步的解码隐层状态ht,如公式(3)所示:
ht=g(xt-1,S,ht-1) (3)
其中,t表示解码器中的时间步,每个时间步对应一级,解码隐层状态ht即在时间步t处的候选字在解码器中对应的隐层状态向量。
图9B中,名称为“ABCDEFGHIJKL”,在前3级路径中,已经得到一个路径中的候选字分别为“ACD”,也得到“D”对应的解码隐层状态,需要根据候选字“D”确定该路径的第四级中可能出现的候选字以及它们的条件概率。因为该路径的第四级中可能出现的候选字只与前一级中的候选字“D”密切相关,而与前一级中其他路径的候选字关联不大,因此,需要根据编码状态表示S确定第4级中可能的候选字的权重。基于注意力机制,通过编码状态表示S和候选字“D”对应的解码隐层状态进行计算,确定编码器中可能出现在第4级中的各个候选字(候选字分别为EFGHIJKL)的权重aj,基于各个候选字的权重对各个候选字在编码器中的编码隐层状态hj进行加权求和,得到语境向量ct,如公式(4)所示:
Figure BDA0002455056800000181
其中,N表示名称的字数。
获取词汇概率分布总表,该表中汇总了所收录的所有单位名称中的字,并对每个字出现的概率进行了统计。解码器基于语境向量和第i-1级中的候选字的解码隐层状态确定与第四级中的候选字密切相关的字,从词汇概率分布总表中提取出与第四级中的候选字密切相关的字及其概率分布表pvocab。定义指针概率pgen用于表示语境向量的重要程度和概率分布表的重要程度。根据语境向量和t时间步(t=3)处的解码隐层状态计算得到pgen。然后,按照公式(5)进行计算,公式(5)如下所示:
pt=pgen*pvocab+(1-pgen)*ct (5)
其中,pt表示“ACD”所在路径的第4级中可能的候选字的概率分布,在图9B最终输出的各个候选字的概率分布表中条件概率最大的为E。
需要说明的是,步骤702与步骤703-705可以并行执行,步骤703-705也可以在步骤702之前执行。只采取步骤702,或者只采取步骤703-705来得到多个候选别名都是可行的。
在步骤730中,服务器将名称分别与每个候选别名进行语义匹配,得到名称与每个候选别名之间的匹配结果。
在一个可能的示例中,服务器将名称分别与每个候选别名进行语义匹配,得到名称与每个候选别名之间的匹配结果,可以采用如下方式实现:将名称与每个候选别名组成匹配对,对每个匹配对进行映射,得到与每个匹配对对应的向量表示;基于每个匹配对的向量表示确定类型标记向量,并根据类型标记向量的隐层状态进行映射处理,得到名称与每个候选别名的匹配分数;其中,类型标记向量的隐层状态用于代表每个匹配对的向量表示。
其中,服务器通过语义匹配模型603得到名称与每个候选别名之间的匹配分数。为了得到语义匹配模型,需要先根据候选别名集合训练语义匹配模型。候选别名集合包括正样本和负样本,正样本是单位名称的真实别名,负样本不是单位名称的真实别名。在本发明实施例中,语义匹配模型可以为基于预训练-微调范式的双向编码表征变换器网络。
参见图10A-10B,图10A-10B是本发明实施例提供的语义匹配模型的结构示意图。服务器中的语义匹配型603接收名称和各个候选别名后,将它们一一组成匹配对分别输入嵌入层110中,例如,“天津都金国际贸易有限公司+都金国际”、“天津都金国际贸易有限公司+都金国贸”等。嵌入层在每个匹配对前插入“CLS”符号,在名称和候选别名之间插入“SEP”间隔符号。对“CLS”符号和匹配对中每个字进行映射,得到每个字的初始向量表示。之后,在多个隐藏层120中,对各个初始向量表示通过一系列的矩阵运算和非线性函数映射为隐层状态,以得到匹配对中每个字对应的最终向量表示和“CL S”符号对应的类型标记向量C,类型标记向量可作为匹配对整体的状态表示。输出层130在接收类型标记向量后,对类型标记向量表示进行非线性函数映射,得到二维向量,二维向量中每个维度的向量分别表示候选别名与名称的匹配程度和不匹配程度。将二维向量中表示候选别名与名称的匹配程度的向量映射为0到1区间的匹配分数SM,即得到候选别名与名称的匹配分数。在一个可能的示例中,匹配结果的表现形式除了匹配分数,还可能是百分比形式的匹配比例SM,匹配比例SM数值越大,匹配程度越高。匹配比例SM同样由上述二维向量中表示候选别名与名称的匹配程度的向量映射得到。
在步骤740中,服务器将满足匹配条件的匹配结果所对应的候选别名,确定为名称的别名。
在一个可能的示例中,服务器将满足匹配条件的匹配结果所对应的候选别名,确定为名称的别名,可以采用如下方式实现:对名称与每个候选别名的匹配分数进行降序排序,得到匹配分数排序表;从匹配分数排序表中选取匹配分数大于匹配阈值的候选别名,或者选取排序在前的部分候选别名,以作为名称的别名。
例如,匹配阈值设置为0.7,则选取匹配分数大于0.7的候选别名作为名称的别名。或者,可以选取匹配分数排序表中前10个或前15个候选别名作为名称的别名。当匹配结果的表现形式为匹配比例时,也可通过对名称与每个候选别名的匹配比例降序排序,得到匹配比例排序表,从匹配比例排序表中选取匹配比例大于匹配比例阈值的候选别名,或者选取匹配比例排序表中排序在前的部分候选别名,作为名称的别名。
可见,通过候选生成别名,并根据候选别名与名称的匹配分数对候选别名排序,从而可选取得到与名称更为匹配的别名。
在步骤740之后,还可通过图7B示出的步骤750-760确定候选别名的可信度,以下将结合图7C中的步骤750-760对确定候选别名的可信度进行说明。
在步骤750中,服务器确定候选别名的实际新闻召回量。
在一个可能的示例中,服务器确定候选别名的实际新闻召回量,可以采用如下方式实现:针对每个候选别名,执行以下操作:确定名称的召回量和候选别名的召回量;从候选别名的召回量中减去名称的召回量,并将候选别名的剩余的召回量映射到有限区间中,得到候选别名的实际新闻召回量。
其中,由于候选别名是从名称中提取得到的,需考虑候选别名是否属于名称的连续子串,如“AB科技”是“AB科技(深圳)有限公司“的连续字串,而“AB公司”不是该名称的连续字串。对于第一种候选别名属于名称的连续子串的情况,需要在候选别名的新闻召回量b中减去名称的新闻召回量a,得到实际新闻召回量
Figure BDA0002455056800000212
对于第二种候选别名不属于名称的连续子串的情况,则不需要进行减法操作。
由于不同规模的单位曝光量不同,导致新闻召回量差距也很大,因此,需要将候选别名中有效的新闻召回量进行归一化处理,将其映射到[0,1]区间,得到候选别名的实际新闻召回量NR。
在步骤760中,服务器基于实际新闻召回量和匹配分数确定候选别名的可信度。
其中,基于实际新闻召回量NR和匹配分数SM可确定候选别名的综合置信度S。计算如公式(6)所示:
Figure BDA0002455056800000211
具体过程如下:将实际新闻召回量作为以自然常数e为底的幂指数,构造实际新闻召回量对应的幂eNR,将匹配分数作为以自然常数为底的幂指数,构造匹配分数对应的幂eSM;对实际新闻召回量对应的幂和匹配分数对应的幂进行求和运算,得到目标和(eNR+eSM);将实际新闻召回量对应的幂与目标和之比
Figure BDA0002455056800000221
作为实际新闻召回量的权重,并将匹配分数对应的幂与目标和之比
Figure BDA0002455056800000222
作为匹配分数的权重;将实际新闻召回量和匹配分数分别根据各自对应的权重进行加权求和
Figure BDA0002455056800000223
得到综合置信度S。基于实际新闻召回量NR、匹配分数SM和综合置信度S可确定候选别名的可信度。
一般的加权,需要人为指定权重系数,而公式(5)中的加权方法,可以自动算出匹配分数SM和实际新闻召回量NR对应的加权系数,并对数值大的参数,赋予更大的权重。
可见,本发明实施例不仅给出匹配分数SM、新闻召回量打分NR和综合置信度S三个指标评估别名的可信度和可用性,还通过对候选别名进行验证选取可信度更高的别名,极大地提升了别名的精确率和召回率。
下面,将说明本发明实施例在一个实际的企业别名生成的应用场景中的示例性应用。用户终端向服务器提交企业的名称,服务器通过本发明实施例提供的别名生成方案可以生成多个候选的别名供选用,用于在企业画像、企业名称检索、企业舆情检索等服务中使用。
以生成企业别名为例说明,通过企业别名生成系统可生成企业别名,企业别名生成系统包括序列标注模型、序列到序列模型和语义匹配模型,生成别名的步骤如下:
1)公司分段标注:根据一定量标注好的公司名称样本,训练序列标注模型,该序列标注模型可以为基于变换器的双向编码表征网络。将公司名称输入训练好的序列标注模型中,按照表1中标签与含义的对应关系对公司名称中的每个字进行标注,并根据标注结果将公司名称聚合为地点(LOC)、名称(NAME)、行业(IND)、公司类型(TYPE)和其他(O)5类字段。
2)规则生成别名:对企业名称中的5类字段采用指定的规则组合,生成候选别名。以“天津都金国际贸易有限公司”为例,各个字段的标注结果为:天津(LOC)、都金(NAME)、贸易(IND)、有限公司(TYPE)、国际(O)。表2是本发明实施例提供的规则组合示例表,将这5类字段按照表2所示的规则组合对5类字段进行组合,可得到“都金”、“天津都金”、“都金贸易”、“都金有限”和“都金国际”这些别名。
规则编号 规则组合 示例
1 NAME 都金
2 LOC+NAME 天津都金
3 NAME+IND 都金贸易
4 NAME+TYPE 都金有限
5 NAME+0 都金国际
表2规则组合示例表
3)模型生成别名:根据数据集D1训练一个序列到序列模型。其中,数据集D1中包括若干条已知字段标签,且形式为“(公司名称,别名)对”的样本,序列到序列模型包括编码器和解码器。
将公司名称的汉字和步骤(1)得到的标注结果(步骤1得到的标注结果是公司名称中每个字对应的字段标签,如B-LOC、I-LOC等)输入编码器,将公司名称中的每个字通过字典映射为低维稠密字向量,如将“天”映射为50维字向量[0.1,0.2,…,-1.2];同样将每个字段标签(如B-LOC)映射为标签向量,将每个汉字对应的字向量和标签向量进行拼接,得到与汉字对应的输入向量。然后编码器基于每个字的输入向量计算每个字在编码器中的隐层状态向量,并取第一个字和最后一个字的隐层状态向量作为编码状态表示S输入到解码器;解码器基于注意力机制和编码状态表示S得到编码器中的隐层状态向量序列,隐层状态向量序列即每个字在编码器中的隐层状态向量乘以各自权重后组成的序列,并根据隐层状态向量序列和概率分布表计算,从而确定在别名的第i个位置中概率最大的N个字,依次解码得到别名的每个位置中最有可能出现的N个字;最后通过束搜索,从可能的别名中选取解码概率最大的10个候选名输出。以“天津都金国际贸易有限公司“为例,其生成的别名分别为“都金国贸、都金国际、金国国贸、都金国易、都金国国、都金国有、都金国都、都金国金、都金国司、都金国”10个候选名。
4)语义匹配:根据候选别名集合训练语义匹配模型,其中,候选别名集合包括正样本和负样本,正样本是企业名称的真实别名,负样本不是企业名称的真实别名;语义匹配模型可以为基于预训练-微调范式的双向编码表征变换器网络。
将步骤2和步骤3生成的别名作为候选别名,将企业名称和候选别名拼接后输入训练好的语义匹配模型中,最后输出一个0到1的匹配分数SM,分数越高,说明候选别名是企业名称的真实别名的概率越高。输出高于阈值概率的别名所组成的别名集A,考虑到召回率和准确率,将阈值设置为0.11。
5)实际验证:对A中的别名利用搜索引擎检索固定时段的舆情新闻,设某个企业名称E的新闻召回量是a,对应的别名ei的新闻召回量是b。由于别名是从名称中提取组合的,需考虑别名是否属于名称的连续子串,下面用ei∈E表示别名为名称的字串,
Figure BDA0002455056800000241
表示别名不是名称的字串。如“AB科技”是“AB科技(深圳)有限公司“的连续字串,而“AB公司”不是该名称的连续字串。对于别名属于名称的连续子串的情况,需要在别名ei的新闻召回量中减去名称的新闻召回量,得到实际修正后的新闻召回量
Figure BDA0002455056800000242
如公式(7)所示:
Figure BDA0002455056800000243
此外,由于不同规模的企业曝光量不同,导致召回的新闻数量也差距很大。根据经验将平均新闻召回量NRIPO-avg=5100对应的打分确定为1,通过公式(8)将别名的实际新闻召回量映射到[0,1]的区间,公式(8)如下所示:
Figure BDA0002455056800000251
最终,综合考虑新闻召回量NR和模型侧的匹配分数SM,利用前文所述公式(5)可得到综合置信度S。模型侧的匹配分数SM、新闻召回量NR和综合置信度S这三个指标,可供后续业务按需利用,生成的企业别名也可输入数据库中供后续使用。
通过精确率和召回率对生成的企业别名的可信度和可用性进行评估,得到如表3所示的数据,表3是本发明实施例提供的本发明实施例方法与现有技术的效果对比表。其中,Top1表示得分最高的1个别名,Top3表示得分最高的3个别名。精确率、召回率用来衡量模型预测别名的性能。精确率=预测对的数量/预测的数量;召回率=预测对的数量/所有需要预测的数量。例如,一共10个企业别名需要预测,通过上述方法预测得到12条候选别名,其中6个候选别名预测正确,则精确率为6/12=0.5,召回率为6/10=0.6。该方案相比基于序列标注方法的方法,不仅给出匹配分数SM、新闻召回量NR和综合置信度S三个指标评估别名的可信度和可用性,还极大地提升了企业别名的精确率、召回率。
Figure BDA0002455056800000252
表3本发明实施例方法与现有技术的效果对比表
参见图11A和图11B,图11A是利用企业名称召回某时段的舆情数据量的示意图,图11B是利用企业别名召回相同时段的舆情数据的示意图。由图11A和图11B可见,直接利用生成的企业别名作为企业名称的备选,能明显提升召回新闻量。而且可通过生成的企业别名构建企业别名库,企业别名库生成在企业画像中的图谱构建,可以直接用来做实体链接,并作为企业实体的别名属性;最后,从业务层考虑,别名出现的频率远高于名称,在企业画像中需要处理的海量数据因为缺乏企业别名库,导致存在“数据孤岛”问题,企业别名库的生成可以极大缓解这个问题。
下面继续说明本发明实施例提供的别名生成装置453的实施为软件模块的示例性结构,在一些实施例中,如图5所示,存储在存储器440的别名生成453中的软件模块可以包括:预测模块4531,用于基于名称中每个字的向量表示预测每个字所属的字段类型,得到名称包括的多个类型的字段;候选别名生成模块4532,用于基于名称包括的多个类型的字段,生成多个候选别名;语义匹配模块4533,用于将名称分别与每个候选别名进行语义匹配,得到名称与每个候选别名之间的匹配结果,还用于将满足匹配条件的匹配结果所对应的候选别名,确定为名称的别名。
在一些实施例中,预测模块4531,用于:将名称中的每个字映射为每个字的初始向量表示;顺序遍历名称中的每个字,将当前遍历到的字的初始向量表示映射为隐层状态,并在隐藏层中进行正向传播,将隐藏层输出的向量作为当前遍历到的字对应的最终向量表示;将所述每个字的最终向量表示映射为分别对应多个标签的概率,并将概率最大的标签确定为所属的标签;将所述名称中相邻且所属的标签属于相同类型的字进行聚合,以得到多个类型的字段。
在一些实施例中,候选别名生成模块4532,用于:遍历多个组合规则,并基于遍历的每个组合规则执行以下处理:从名称中提取组合规则中所指定类型的字段,并将所提取的字段组合为符合组合规则的候选别名;其中,不同的组合规则所指定的类型不完全相同。
在一些实施例中,候选别名生成模块4532,还用于:分别对名称中每个字以及每个字的标签进行字典映射处理,得到每个字对应的输入向量;对每个字对应的输入向量进行编码处理,得到名称的编码状态表示;对名称的编码状态表示进行解码处理,得到多个候选别名。
在一些实施例中,候选别名生成模块4532,还用于:对名称中每个字进行字典映射处理,得到每个字对应的字向量;对每个字的标签进行字典映射处理,得到每个字对应的标签向量;将每个字对应的标签向量和字向量进行拼接处理,得到每个字对应的输入向量。
在一些实施例中,候选别名生成模块4532,还用于:对每个字对应的输入向量进行前向编码处理,得到名称中最后一个字对应的编码隐层状态;
对每个字对应的输入向量进行后向编码处理,得到名称中第一个字对应的编码隐层状态;将最后一个字对应的编码隐层状态和第一个字对应的编码隐层状态作为名称对应的编码状态表示;其中,在前向编码处理和后向编码处理的过程中,每个字对应的编码隐层状态是根据每个字对应的输入向量和前一个字对应的编码隐层状态确定。
在一些实施例中,候选别名生成模块4532,还用于:根据候选别名的最大长度确定多级路径的级数,其中,多级路径中的每一级包括多个候选字,且多个候选字来自于名称;对名称的编码状态表示进行解码处理,得到多级路径中的每一级中的每个候选字的条件概率,并从多级路径的每一级中选取条件概率最大的k个字作为下一级的输入,其中,k为小于名称的字数的正整数;在多级路径的最后一级中选取条件概率最大的m个字对应的路径作为候选路径,其中,m为小于名称的字数的正整数;对每个候选路径中每一级的候选字进行拼接,得到与每个候选路径一一对应的候选别名。
在一些实施例中,候选别名生成模块4532,还用于:对编码状态表示进行解码,得到第i-1级中的候选字的解码隐层状态,并基于第i-1级中的候选字的解码隐层状态,确定第i级中由候选字确定的各个候选字的权重;
其中,i为小于或等于多级路径的级数的正整数;基于第i级中各个候选字的权重对各个候选字的编码隐层状态进行加权求和,得到语境向量;基于语境向量和第i-1级中的候选字的解码隐层状态,确定第i级中所有候选字的概率分布表;基于语境向量和概率分布表的重要程度,确定第i级中各个候选字的条件概率。
在一些实施例中,语义匹配模块4533,用于:将名称与每个候选别名组成匹配对,对每个匹配对进行映射,得到与每个匹配对对应的向量表示;基于每个匹配对的向量表示确定类型标记向量,并根据类型标记向量的隐层状态进行映射处理,得到名称与每个候选别名的匹配分数;其中,类型标记向量的隐层状态用于代表每个匹配对的向量表示。
在一些实施例中,语义匹配模块4533,还用于:对名称与每个候选别名的匹配分数进行降序排序,得到匹配分数排序表;从匹配分数排序表中选取匹配分数大于匹配阈值的候选别名,或者选取排序在前的部分候选别名,以作为名称的别名。
在一些实施例中,语义匹配模块4533,还用于针对每个候选别名,确定名称的召回量和候选别名的召回量;从候选别名的召回量中减去名称的召回量,并将候选别名的剩余的召回量映射到有限区间中,得到候选别名的实际新闻召回量;基于实际新闻召回量和匹配分数确定候选别名的综合置信度;基于实际新闻召回量、匹配分数和综合置信度确定候选别名的可信度。
在一些实施例中,语义匹配模块4533,还用于:将实际新闻召回量作为以自然常数为底的幂指数,构造实际新闻召回量对应的幂,将匹配分数作为以自然常数为底的幂指数,构造匹配分数对应的幂;对实际新闻召回量对应的幂和匹配分数对应的幂进行求和运算,得到目标和;将实际新闻召回量对应的幂与目标和之比作为实际新闻召回量的权重,并将匹配分数对应的幂与目标和之比作为匹配分数的权重;将实际新闻召回量和匹配分数分别根据各自对应的权重进行加权求和,得到综合置信度。
本发明实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的别名生成方法,例如,如图7A示出的别名生成方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本发明实施例通过将名称分为多个类型的字段,并根据组合规则和/或神经网络模型对字段进行处理,从而生成多个候选别名;并从生成的候选别名中选取与名称的匹配分数超过匹配阈值的别名,作为该名称的别名;在得到别名后,还基于新闻召回量进行计算,以确定别名的可信度。如此,可以极大地提升别名的精确率和召回率,并根据别名的可信度选取合适的别名。
以上,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (15)

1.一种别名生成方法,其特征在于,所述方法包括:
基于名称中每个字的向量表示预测所述每个字所属的字段类型,得到所述名称包括的多个类型的字段;
基于所述名称包括的多个类型的字段,生成多个候选别名;
将所述名称分别与每个所述候选别名进行语义匹配,得到所述名称与每个所述候选别名之间的匹配结果;
将满足匹配条件的匹配结果所对应的候选别名,确定为所述名称的别名。
2.根据权利要求1所述的方法,所述基于名称中每个字的向量表示预测所述每个字所属的字段类型,得到所述名称包括的多个类型的字段,包括:
将所述名称中的每个字映射为所述每个字的初始向量表示;
顺序遍历所述名称中的每个字,将当前遍历到的字的初始向量表示映射为隐层状态,并在隐藏层中进行正向传播,将所述隐藏层输出的向量作为当前遍历到的字对应的最终向量表示;
将所述每个字的最终向量表示映射为分别对应多个标签的概率,并将概率最大的标签确定为所属的标签;
将所述名称中相邻且所属的标签属于相同类型的字进行聚合,以得到多个类型的字段。
3.根据权利要求1所述的方法,所述基于所述名称包括的多个类型的字段,生成多个候选别名,包括:
遍历多个组合规则,并基于遍历的每个组合规则执行以下处理:
从所述名称中提取所述组合规则中所指定类型的字段,并将所提取的字段组合为符合所述组合规则的候选别名;
其中,不同的所述组合规则所指定的类型部分相同或完全不同。
4.根据权利要求1所述的方法,所述基于所述名称包括的多个类型的字段,生成多个候选别名,包括:
分别对所述名称中每个字以及所述每个字的标签进行字典映射处理,得到所述每个字对应的输入向量;
对所述每个字对应的输入向量进行编码处理,得到所述名称的编码状态表示;
对所述名称的编码状态表示进行解码处理,得到多个候选别名。
5.根据权利要求4所述的方法,所述分别对所述名称中每个字以及所述每个字的标签进行字典映射处理,得到所述每个字对应的输入向量,包括:
对所述名称中每个字进行字典映射处理,得到所述每个字对应的字向量;
对所述每个字的标签进行字典映射处理,得到所述每个字对应的标签向量;
将所述每个字对应的标签向量和字向量进行拼接处理,得到所述每个字对应的输入向量。
6.根据权利要求4所述的方法,所述对所述每个字对应的输入向量进行编码处理,得到所述名称的编码状态表示,包括:
对每个字对应的输入向量进行前向编码处理,得到所述名称中最后一个字对应的编码隐层状态;
对每个字对应的输入向量进行后向编码处理,得到所述名称中第一个字对应的编码隐层状态;
将所述最后一个字对应的编码隐层状态和所述第一个字对应的编码隐层状态作为所述名称对应的编码状态表示;
其中,在所述前向编码处理和所述后向编码处理的过程中,所述每个字对应的编码隐层状态是根据所述每个字对应的输入向量和前一个字对应的编码隐层状态确定。
7.根据权利要求4所述的方法,所述对所述名称的编码状态表示进行解码处理,得到多个候选别名,包括:
根据所述候选别名的最大长度确定多级路径的级数,其中,所述多级路径中的每一级包括多个候选字,且所述多个候选字来自于所述名称;
对所述名称的编码状态表示进行解码处理,得到所述多级路径中的每一级中的每个候选字的条件概率,并从所述多级路径的每一级中选取条件概率最大的k个字作为下一级的输入,其中,k为小于所述名称的字数的正整数;
在所述多级路径的最后一级中选取条件概率最大的m个字对应的路径作为候选路径,其中,m为小于所述名称的字数的正整数;
对每个所述候选路径中每一级的候选字进行拼接,得到与每个所述候选路径一一对应的候选别名。
8.根据权利要求7所述的方法,所述对所述名称的编码状态表示进行解码处理,得到所述多级路径中的每一级中的每个候选字的条件概率,包括:
对所述编码状态表示进行解码,得到第i-1级中的候选字的解码隐层状态,并基于所述第i-1级中的候选字的解码隐层状态,确定第i级中各个候选字的权重;
其中,i为小于或等于所述多级路径的级数的正整数;
基于所述第i级中各个候选字的权重对所述各个候选字的编码隐层状态进行加权求和,得到语境向量;
基于所述语境向量和所述第i-1级中的候选字的解码隐层状态,确定所述第i级中所有候选字的概率分布表;
基于所述语境向量和所述概率分布表的重要程度,确定所述第i级中各个候选字的条件概率。
9.根据权利要求1所述的方法,所述将所述名称分别与每个所述候选别名进行语义匹配,得到所述名称与每个所述候选别名之间的匹配结果,包括:
将所述名称与每个所述候选别名组成匹配对,对每个所述匹配对进行映射,得到与所述每个匹配对对应的向量表示;
基于所述每个匹配对的向量表示确定类型标记向量,并根据所述类型标记向量的隐层状态进行映射处理,得到所述名称与每个所述候选别名的匹配分数;
其中,所述类型标记向量的隐层状态用于代表每个所述匹配对的向量表示。
10.根据权利要求9所述的方法,所述将满足匹配条件的匹配结果所对应的候选别名,确定为所述名称的别名,包括:
对所述名称与每个所述候选别名的匹配分数进行降序排序,得到匹配分数排序表;
从所述匹配分数排序表中选取匹配分数大于匹配阈值的候选别名,或者选取排序在前的部分候选别名,以作为所述名称的别名。
11.根据权利要求1至10任一项所述的方法,在所述将满足匹配条件的匹配结果所对应的候选别名,确定为所述名称的别名之后,所述方法还包括:
针对每个所述候选别名,执行以下操作:
确定所述名称的召回量和所述候选别名的召回量;
从所述候选别名的召回量中减去所述名称的召回量,并将所述候选别名的剩余的召回量映射到有限区间中,得到所述候选别名的实际新闻召回量;
基于所述实际新闻召回量和所述匹配分数确定所述候选别名的综合置信度;
基于所述实际新闻召回量、所述匹配分数和所述综合置信度确定所述候选别名的可信度。
12.根据权利要求11所述的方法,所述基于所述实际新闻召回量和所述匹配分数确定所述候选别名的综合置信度,包括:
将所述实际新闻召回量作为以自然常数为底的幂指数,构造所述实际新闻召回量对应的幂,将所述匹配分数作为以自然常数为底的幂指数,构造匹配分数对应的幂;
对所述实际新闻召回量对应的幂和所述匹配分数对应的幂进行求和运算,得到目标和;
将所述实际新闻召回量对应的幂与所述目标和之比作为所述实际新闻召回量的权重,并将所述匹配分数对应的幂与所述目标和之比作为所述匹配分数的权重;
将所述实际新闻召回量和所述匹配分数分别根据各自对应的权重进行加权求和,得到所述综合置信度。
13.一种别名生成装置,其特征在于,包括:
预测模块,用于基于名称中每个字的向量表示预测所述每个字所属的字段类型,得到所述名称包括的多个类型的字段;
候选别名生成模块,用于基于所述名称包括的多个类型的字段,生成多个候选别名;
语义匹配模块,用于将所述名称分别与每个所述候选别名进行语义匹配,得到所述名称与每个所述候选别名之间的匹配结果,并
将满足匹配条件的匹配结果所对应的候选别名,确定为所述名称的别名。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的别名生成方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至12任一项所述的别名生成方法。
CN202010303948.XA 2020-04-17 2020-04-17 别名生成方法、装置、电子设备及计算机可读存储介质 Active CN111507108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010303948.XA CN111507108B (zh) 2020-04-17 2020-04-17 别名生成方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010303948.XA CN111507108B (zh) 2020-04-17 2020-04-17 别名生成方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111507108A true CN111507108A (zh) 2020-08-07
CN111507108B CN111507108B (zh) 2021-03-19

Family

ID=71871051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010303948.XA Active CN111507108B (zh) 2020-04-17 2020-04-17 别名生成方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111507108B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468315A (zh) * 2021-09-02 2021-10-01 北京华云安信息技术有限公司 漏洞厂商名称的匹配方法
CN116827350A (zh) * 2023-08-29 2023-09-29 众科云(北京)科技有限公司 基于云边协同的灵活用工平台智能监管方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991085A (zh) * 2017-04-01 2017-07-28 中国工商银行股份有限公司 一种实体的简称生成方法及装置
CN107797989A (zh) * 2017-10-16 2018-03-13 平安科技(深圳)有限公司 企业名称识别方法、电子设备及计算机可读存储介质
US20180129685A1 (en) * 2013-06-28 2018-05-10 Google Llc Omega names: name generation and derivation
CN108446374A (zh) * 2018-03-16 2018-08-24 北京三快在线科技有限公司 用户意图预测方法、装置、电子设备、存储介质
CN110555207A (zh) * 2018-06-01 2019-12-10 海信集团有限公司 语句识别方法、装置、机器设备和计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180129685A1 (en) * 2013-06-28 2018-05-10 Google Llc Omega names: name generation and derivation
CN106991085A (zh) * 2017-04-01 2017-07-28 中国工商银行股份有限公司 一种实体的简称生成方法及装置
CN107797989A (zh) * 2017-10-16 2018-03-13 平安科技(深圳)有限公司 企业名称识别方法、电子设备及计算机可读存储介质
CN108446374A (zh) * 2018-03-16 2018-08-24 北京三快在线科技有限公司 用户意图预测方法、装置、电子设备、存储介质
CN110555207A (zh) * 2018-06-01 2019-12-10 海信集团有限公司 语句识别方法、装置、机器设备和计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468315A (zh) * 2021-09-02 2021-10-01 北京华云安信息技术有限公司 漏洞厂商名称的匹配方法
CN116827350A (zh) * 2023-08-29 2023-09-29 众科云(北京)科技有限公司 基于云边协同的灵活用工平台智能监管方法及系统
CN116827350B (zh) * 2023-08-29 2023-11-07 众科云(北京)科技有限公司 基于云边协同的灵活用工平台智能监管方法及系统

Also Published As

Publication number Publication date
CN111507108B (zh) 2021-03-19

Similar Documents

Publication Publication Date Title
EP3819809A1 (en) A dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system
CN111858932A (zh) 基于Transformer的多重特征中英文情感分类方法及系统
CN111222305A (zh) 一种信息结构化方法和装置
CN110851584B (zh) 一种法律条文精准推荐系统和方法
CN114328807A (zh) 一种文本处理方法、装置、设备及存储介质
CN113987169A (zh) 基于语义块的文本摘要生成方法、装置、设备及存储介质
CN111507108B (zh) 别名生成方法、装置、电子设备及计算机可读存储介质
CN114625866A (zh) 训练摘要生成模型的方法、装置、设备及介质
CN113761868A (zh) 文本处理方法、装置、电子设备及可读存储介质
CN113221553A (zh) 一种文本处理方法、装置、设备以及可读存储介质
CN112598039B (zh) 获取nlp分类领域阳性样本方法及相关设备
CN111881264B (zh) 一种开放领域问答任务中长文本检索的方法和电子设备
CN111666375A (zh) 文本相似度的匹配方法、电子设备和计算机可读介质
CN115203388A (zh) 机器阅读理解方法、装置、计算机设备和存储介质
CN113157892A (zh) 用户意图处理方法、装置、计算机设备及存储介质
Ma The Use of Knowledge Correlation for Classification and Evaluation of a Distance Education Teaching Resource Database.
CN114942981A (zh) 问答查询方法、装置、电子设备及计算机可读存储介质
CN114328820A (zh) 信息搜索方法以及相关设备
CN114328894A (zh) 文档处理方法、装置、电子设备及介质
CN113536772A (zh) 一种文本处理方法、装置、设备及存储介质
CN112949313A (zh) 信息处理模型训练方法、装置、设备及存储介质
CN117591666B (zh) 针对桥梁管养文档的摘要抽取方法
CN117236410B (zh) 一种可信的电子文件大语言模型训练、推理方法和装置
CN114925185B (zh) 交互方法、模型的训练方法、装置、设备及介质
Singh Stockgram: deep learning model for digitizing financial communications via Natural Language generation

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