CN111709223B - 基于bert的句子向量生成方法、装置及电子设备 - Google Patents

基于bert的句子向量生成方法、装置及电子设备 Download PDF

Info

Publication number
CN111709223B
CN111709223B CN202010492264.9A CN202010492264A CN111709223B CN 111709223 B CN111709223 B CN 111709223B CN 202010492264 A CN202010492264 A CN 202010492264A CN 111709223 B CN111709223 B CN 111709223B
Authority
CN
China
Prior art keywords
vector
sentence
initial
sentence vector
bert
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
CN202010492264.9A
Other languages
English (en)
Other versions
CN111709223A (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.)
Shanghai Hard Link Network Technology Co ltd
Original Assignee
Shanghai Hard Link Network Technology 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 Shanghai Hard Link Network Technology Co ltd filed Critical Shanghai Hard Link Network Technology Co ltd
Priority to CN202010492264.9A priority Critical patent/CN111709223B/zh
Publication of CN111709223A publication Critical patent/CN111709223A/zh
Application granted granted Critical
Publication of CN111709223B publication Critical patent/CN111709223B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种基于bert的句子向量生成方法、装置及电子设备,通过生成与各transformer encoder层一一对应的各初始句向量,将各所述初始句向量分别与预设句向量进行相似度计算,获取与各所述初始句向量一一对应的各相似度分值,并根据各所述相似度分值,生成各所述初始句向量的向量权重;根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量。由于每层transformer encoder层都学习到了文本的不同语义信息,通过生成各transformer encoder层对应的初始句向量并利用对应于每一层的初始句向量生成目标句向量作为文本的最终的向量表达形式,提高输出向量对文本的语义表达的准确率。

Description

基于bert的句子向量生成方法、装置及电子设备
技术领域
本申请涉及文本处理技术领域,特别涉及一种基于bert的句子向量生成方法、装置及电子设备。
背景技术
现有的文本分类技术,一般是通过Natural Language Processing(自然语言处理),简称NLP,来确定文本的语义,进而确定文本的类别。在基于深度神经网络的NLP任务中,用于NLP任务的文本的字/词通常采用词向量来表示。为使词向量的表达更为贴近文本的语义,现有技术中,会采用bert模型来将文本转换为词向量,其中,bert模型在处理文本时,会在文本前插入一个[CLS](无义字符)符号,并将该符号对应的输出向量作为整篇文本的语义表示,从而利用该输出向量进行NLP,以提高文本分类的准确率。
但在采用上述方法得到[CLS]对应的输出向量时,发现由于现有技术中,bert模型是采用最后一层的[CLS]对应的输出向量作为整篇文本的语义表示,而bert模型一般具有12层或24层transformer encoder层,每层transformer encoder层提取到[CLS]中的语义重点都是不同的,若只采用最后一层的[CLS]对应的输出向量作为整篇文本的语义表示,会漏掉某一层transformer encoder层中提取到的整个句子中的某些重要信息,导致其对应的输出向量无法很好的表达文本的语义。
发明内容
本申请的目的在于至少解决现有技术中存在的技术问题之一,提供一种基于bert的句子向量生成方法、装置、计算机可读存储介质以及电子设备,提高输出向量对文本的语义表达的准确率。
第一方面,本申请实施例提供一种基于bert的句子向量生成方法,包括:
获取输入文本;
根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各初始句向量;
将各所述初始句向量分别与预设句向量进行相似度计算,获取与各所述初始句向量一一对应的各相似度分值,并根据各所述相似度分值,生成各所述初始句向量的向量权重;
根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量。
进一步的,所述根据bert模型对所述输入文本进行处理,生成与各transformerencoder层一一对应各初始句向量,包括:
根据bert模型对所述输入文本进行处理,提取各transformer encoder层根据所述输入文本的无义字符生成的各词向量作为各所述初始句向量。
进一步的,所述根据bert模型对所述输入文本进行处理,生成与各transformerencoder层一一对应各初始句向量,包括:
根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各词向量集后,对所述词向量集中的各词向量进行加权平均,生成所述初始句向量。
进一步的,所述根据各所述相似度分值,生成各所述初始句向量的向量权重,包括:
对各所述相似度分值进行归一化处理,生成各所述初始句向量的向量权重。
进一步的,所述归一化处理通过softmax函数完成。
第二方面,本申请实施例提供一种基于bert的句子向量生成装置,包括:
文本获取模块,用于获取输入文本;
文本处理模块,用于根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各初始句向量;
权重生成模块,用于将各所述初始句向量分别与预设句向量进行相似度计算,获取与各所述初始句向量一一对应的各相似度分值,并根据各所述相似度分值,生成各所述初始句向量的向量权重;
向量生成模块,用于根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量。
进一步的,所述文本处理模块具体用于:
根据bert模型对所述输入文本进行处理,提取各transformer encoder层根据所述输入文本的无义字符生成的各词向量作为各所述初始句向量;或,
根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各词向量集后,对所述词向量集中的各词向量进行加权平均,生成所述初始句向量。
进一步的,所述权重生成模块还用于:
对各所述相似度分值进行归一化处理,生成各所述初始句向量的向量权重。
第三方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面实施例所述的基于bert的句子向量生成方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述第一方面实施例所述的基于bert的句子向量生成方法。
相比于现有技术,上述实施例通过生成与各transformer encoder层一一对应的各初始句向量,将各所述初始句向量分别与预设句向量进行相似度计算,获取与各所述初始句向量一一对应的各相似度分值,并根据各所述相似度分值,生成各所述初始句向量的向量权重;根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量。由于每层transformer encoder层都学习到了文本的不同语义信息,通过生成各transformer encoder层对应的初始句向量并利用对应于每一层的初始句向量生成目标句向量作为文本的最终的向量表达形式,避免现有技术中只采用最后一层transformer encoder层的[CLS]对应的输出向量来作为文本的最终向量表达形式,造成最终向量表达形式遗漏了各层transformer encoder层提取到的语义信息,从而提高输出向量对文本的语义表达的准确率。
附图说明
下面结合附图和实施例对本申请进一步地说明;
图1为基于现有技术的BERT进行文本分类的自然语言处理系统架构图;
图2为本发明实施例提供的一种利用改进的Bert模型进行文本分类的自然语言处理系统架构图;
图3为本发明实施例中基于bert的句子向量生成方法的应用环境图;
图4为本发明实施例中基于bert的句子向量生成方法的流程示意图;
图5为本发明实施例的Bert模型的结构框图;
图6为本发明实施例中基于bert的句子向量生成装置的结构框图;
图7为本发明实施例中计算机设备的结构框图。
具体实施方式
本部分将详细描述本申请的具体实施例,本申请之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本申请的每个技术特征和整体技术方案,但其不能理解为对本申请保护范围的限制。
文本分类是自然语言处理领域中较为重要,且实用性非常强的方向之一。Bert是一个自然语言处理的通用模型,其基础是Attention机制。Attention机制的提出是为了解决RNN无法并行等缺点。在此之后Google提出了完全建立在Attention之上的Transformer模型,Bert正是由多个Transformer模型的Encoder结构堆叠而成,一般来说,Bert采用12层transformer encoder层。Bert具有预训练的特点,即先使用大规模的语料进行无监督学习得到预训练模型。使用者可以在具体的自然语言处理任务中直接使用此模型或者微调后使用。
图1中展示了基于现有技术的BERT进行文本分类的自然语言处理系统架构图。利用现有的Bert进行文本分类任务的流程如下:首先,将待分类的文本(一般会在文本前插入一个[CLS](无义字符)符号)转换为原始词向量,这个过程叫做词嵌入向量(WordEmbedding),例如可以通过查询字向量表将文本中的每个字转换为一维向量,作为Bert模型输入;然后,原始词向量在训练好的Bert模型中经过一系列复杂的变换后,将[CLS](无义字符)符号对应的输出向量作为整篇文本的语义表示,可以理解为:与文本中已有的其它字/词相比,这个无明显语义信息的符号会更“公平”地融合文本中各个字/词的语义信息;其次,将[CLS](无义字符)符号对应的输出向量作为输入到分类器的训练集,利用训练集对分类器的参数进行训练,从而获得能够用于文本分类任务的分类器。分类器的训练过程就是神经网络的训练过程,其具体的过程是本领域技术人员公知的技术手段,此处不赘述。
Ganesh Jawahar,Beno t Sagot,Djamé Seddah等人发表的文章What Does BERTLearn about the Structure of Language(文章网址为:https://www.aclweb.org/anthology/P19-1356)中公开了其对12层的Bert模型的研究成果,即Bert的各个transformer encoder层学习到的语义信息是不同的。基于此,在如图1所示的基于现有技术的BERT进行文本分类的自然语言处理系统中,由于只采用最后一层(即第12层transformer encoder层)的[CLS](无义字符)符号对应的输出向量作为输入到分类器的训练集,从而会漏掉其他层transformer encoder层中提取到的整个句子中的某些重要信息,导致其对应的输出向量无法很好的表达文本的语义,进而导致下游的文本分类器对文本分类准确度不高。
为解决上述问题,如图2所示,本发明实施例提供了一种利用改进的Bert模型进行文本分类的自然语言处理系统架构图。利用改进的Bert模型进行文本分类任务的流程如下:首先,将待分类的文本(一般会在文本前插入一个[CLS](无义字符)符号)转换为原始词向量,这个过程叫做词嵌入向量(WordEmbedding),例如可以通过查询字向量表将文本中的每个字转换为一维向量,作为Bert模型输入;然后,原始词向量在训练好的Bert模型中经过一系列复杂的变换后,将[CLS](无义字符)符号对应的输出向量作为整篇文本的语义表示,可以理解为:与文本中已有的其它字/词相比,这个无明显语义信息的符号会更“公平”地融合文本中各个字/词的语义信息。
然后,在Bert模型和分类器之间设置了一个句子注意力机制层,该句子注意力机制层通过注意力机制(attention机制)把注意力集中在Bert模型12层transformerencoder层对应生成的12个初始句向量中被认为是对于文本的语义表示重要的初始句向量上,而忽略其他不重要的因素。即将对文本的语义表示重要的初始句向量赋予更高的权重,因此需要设置一个预设句向量作为标准,认为与该预设句向量相似度越大则对应的初始句向量赋予更大权重,即各层初始句向量与该预设句向量的余弦相似度作为相似度分值,根据相似度分值产生各初始句向量的向量权重;再根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量;以目标句向量作为分类器的输入。
由于引入了句子注意力机制层,因此处理分类器的参数外还相当于引入了一组需要训练的新的参数,也就是预设句向量。其中,预设句向量的训练方法为将训练文本通过Bert模型12层transformer encoder层对应生成的12个句向量作为训练集输入到句子注意力机制层中,句子注意力机制层与分类器连接,其根据上述12个句向量输出的输出句向量作为分类器的输入,通过利用训练集对句子注意力模块和分类器进行训练,从而获得能够用于文本分类任务的句子注意力模块和分类器。句子注意力模块与分类器连接,相当于分类器多了一个隐层,其训练过程就是神经网络的训练过程,其具体的过程是本领域技术人员公知的技术手段,此处不赘述。
因此,本发明实施例通过在Bert模型和分类器当中设置一个句子注意力机制层,将Bert模型12层transformer encoder层每层的信息按照重要程度分配相应的权重并融合到目标句向量中,用作分类器的输入,提高了文本语义表示的准确度,进而能够使后续文本分类的准确度提升。
图3是一个实施例中基于bert的句子向量生成方法的应用环境图。参照图2,该基于bert的句子向量生成方法应用于利用Bert模型生成用于实现文本分类的句向量的自然语言处理系统。该利用Bert模型生成句向量的自然语言处理系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端110或移动终端110,移动终端110具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器120或者是多个服务器120组成的服务器120集群来实现。
本申请实施例提供的基于bert的句子向量生成方法可以用于多个领域的智能客服系统中,其应用场景是用户通过终端110向智能客服系统提供输入文本,服务器120获取用户提供的输入文本后,根据上述利用改进的Bert模型进行文本分类的自然语言处理系统,对输入的文本表示成文目标句向量后,送入到分类器中获取输入文本的分类结果,然后将与该文本分类结果对应的相关信息反馈至终端110,例如输入文本是数据库中预存的标准问题,而与该输入文本对应的相关信息是该标准问题的答案文本,则将该答案文本反馈给用户。
通过上述方式,将Bert模型12层transformer encoder层每层的信息按照重要程度分配相应的权重并融合到目标句向量中,用作分类器的输入,提高了文本语义表示的准确度,进而能够使后续文本分类的准确度提升。
可以理解的是,本发明实施例提供的基于bert的句子向量生成方法不限于应用在购物领域和游戏领域的智能客服系统中,还可以包括天气查询领域、医疗咨询领域、政务咨询领域、保险咨询领域等不同的领域,在所述技术领域普通技术人员所具备的知识范围内,本申请实施例提供的基于bert的句子向量生成方法可以根据本领域技术人员的具体业务需求应用在不同领域的智能客服系统中。
下面,将通过几个具体的实施例对本申请实施例提供的基于bert的句子向量生成方法进行详细介绍和说明。
如图4所示,在一个实施例中,提供了一种基于bert的句子向量生成方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是上述图3中的服务器120。
参照图4,该基于bert的句子向量生成方法具体包括如下步骤:
步骤S202,获取输入文本。
其中,终端110可以通过连接于终端110的外设设备获取用户的输入文本,外设设备包括键盘、手写板等。举例说明,用户通过与终端110连接的键盘输入需要进行匹配的输入文本。
步骤S204,根据bert模型对所述输入文本进行处理,生成与各transformerencoder层一一对应的各初始句向量。
图5展示了本发明实施例中的Bert模型的结构框图,Bert模型具有12层transformer encoder层,对于输入文本的字符序列为[CLS],W1,W2...Wn。然后,将输入文本转换为原始词向量,一般通过查询字向量表将文本中的每个字转换为一维向量,作为模型输入,此为模型输入除了字向量,还包括另外两个部分:
1.文本向量:该向量的取值在模型训练过程中自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合。
2.位置向量:由于出现在文本不同位置的字/词所携带的语义信息存在差异(比如:“我爱你”和“你爱我”),因此,BERT模型对不同位置的字/词分别附加一个不同的向量以作区分。
最后,BERT模型将字向量、文本向量和位置向量的加和生成原始词向量作为模型输入。
原始词向量经过每一层transformer encoder层时,输入文本的字符序列中的每个字都生成对应的词向量其中k表示第k层transformer encoder层,n表示字符序列中的第n个字符,此处k=1,2,...12。
在一个实施例中,所述根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应各初始句向量,包括:根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各词向量集后,对所述词向量集中的各词向量进行加权平均,生成所述初始句向量。通过将同一层transformer encoder层的所有词向量加权平均进行融合生成初始句向量Sk,保证该层transformer encoder层每个词向量提取到的语义信息都可以按照重要程度加权融合到初始句向量Sk中,避免了漏掉同一层各词向量/>包含的语义信息,将该层提取的语义信息更多的融合到初始句向量Sk,进一步提升了目标句向量包含的语义信息量,提高了文本表示的准确度。
在一个实施例中,各词向量的权重均相等,因此,初始句向量Sk的计算公式为:
在另一个实施例中,各词向量的权重Qn通过注意力机制来获取,因此,初始句向量Sk的计算公式为:
其中,Qn代表第n个词向量的权重。
在一个实施例中,所述根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应各初始句向量,包括:根据bert模型对所述输入文本进行处理,提取各transformer encoder层根据所述输入文本的无义字符生成的各词向量作为各所述初始句向量。由于与文本中已有的其它字/词相比,这个无明显语义信息的无义字符会更“公平”地融合文本中各个字/词的语义信息,因此利用该无义字符对应的词向量可以代表本层transformer encoder层的大部分文本语义,所以将其作为该transformerencoder层的初始句向量。由于每一层transformer encoder层的初始句向量Sk为无义字符在该层transformer encoder层对应的词向量/>所以减少了上述实施例中加权平均计算生成初始句向量Sk的步骤,节省了计算机的资源,加快了模型训练的速度。
步骤S206,将各所述初始句向量分别与预设句向量进行相似度计算,获取与各所述初始句向量一一对应的各相似度分值,并根据各所述相似度分值,生成各所述初始句向量的向量权重。
需要说明的是,句子注意力机制层连接在Bert模型和分类器之间,句子注意力机制层的作用是将输入到句子注意力机制层中的12个初始句向量Sk与随机初始化句向量Si做余弦相似计算12个初始句向量Sk句向量Si的相似度分值,以该相似度分值作为对应的初始句向量Sk的向量权重。
其中,Si是随机初始化的,Si的形式与Sk相同,句子注意力机制层在将12个初始句向量Sk作为训练集训练分类器的时候,同时也训练句子注意力机制层,通过训练中不断迭代句子注意力机制层的参数(即Si)以及分类器的参数,训练完成后的Si就是预设句向量。
根据符合准确度要求的文本分类结果,从而确定了预设句向量Si,因此预设句向量Si表示向量标准,初始句向量Sk与这个标准越相似,表示其包含越多文本语义,因此对应的初始句向量Sk需占有更大的向量权重,因此通过调大能够表示更多文本语义的初始句向量Sk,来提高输出向量对文本的语义表达的准确率。
为了加快结果收敛,在一个实施例中,还通过对各所述相似度分值进行归一化处理,生成各所述初始句向量的向量权重。其中,归一化处理可以但不限于通过softmax函数完成。具体的,将相似度分值通过softmax函数进行归一化处理后生成的向量权重为ak(k表示第k层transformer encoder层)。
可以理解的是,利用softmax函数进行归一化处理的过程属于本领域技术人员的公知常识,此处不做赘述。
步骤S208,根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量。
其中,目标句向量Sfinal的计算公式为:
Sfinal=s1*a1+s2*a2+...+sk*ak
需要说明的是,相较于现有技术中使用最后一层transformer encoder层的[CLS]对应的输出向量来作为文本的最终向量表达形式,并将该输出向量输入到分类器中训练,会导致漏掉其他11层transformer encoder层提取到的语义信息。本发明实施例通过设置句子注意力机制层与分类器连接,以Bert模型12层transformer encoder层提取到的文本的所有语义信息都融合生成目标句向量Sfinal,提升了向量语义表达。
同时发明人在对模型实际的训练过程中,发现相较于现有技术中使用最后一层transformer encoder层的[CLS]对应的输出向量来作为文本的最终向量表达形式进行分类器的训练,本实施例通过以上述方式得到的目标句向量Sfinal作为训练样本输入分类器中,能够使分类器的收敛速度更快,在相同的epoch下,损失下降更多;同时模型的F1分数由84提高至86。其中,1个epoch等于使用训练集中的全部样本训练一次。F1分数(F1 Score)是统计学中用来衡量二分类模型精确度的一种指标,其同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种调和平均,它的最大值是1,最小值是0。
如图6所示,在一个实施例中,提供了一种基于bert的句子向量生成装置,包括:
文本获取模块302,用于获取输入文本;
文本处理模块304,用于根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各初始句向量;
权重生成模块306,用于将各所述初始句向量分别与预设句向量进行相似度计算,获取与各所述初始句向量一一对应的各相似度分值,并根据各所述相似度分值,生成各所述初始句向量的向量权重;
向量生成模块308,用于根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量。
在一实施例中,所述文本处理模块304具体用于:
根据bert模型对所述输入文本进行处理,提取各transformer encoder层根据所述输入文本的无义字符生成的各词向量作为各所述初始句向量;或,
根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各词向量集后,对所述词向量集中的各词向量进行加权平均,生成所述初始句向量。
在另一实施例中,所述权重生成模块306还用于:对各所述相似度分值进行归一化处理,生成各所述初始句向量的向量权重。
相较于现有技术中使用最后一层transformer encoder层的[CLS]对应的输出向量来作为文本的最终向量表达形式,并将该输出向量输入到分类器中训练,会导致漏掉其他11层transformer encoder层提取到的语义信息。本发明实施例通过设置句子注意力机制层与分类器连接,以Bert模型12层transformer encoder层提取到的文本的所有语义信息都融合生成目标句向量Sfinal,提升了向量语义表达以及文本分类任务的准确度。
同时发明人在对模型实际的训练过程中,发现相较于现有技术中使用最后一层transformer encoder层的[CLS]对应的输出向量来作为文本的最终向量表达形式进行分类器的训练,本实施例通过以上述方式得到的目标句向量Sfinal作为训练样本输入分类器中,能够使分类器的收敛速度更快,在相同的epoch下,损失下降更多;同时模型的F1分数由84提高至86。其中,1个epoch等于使用训练集中的全部样本训练一次。F1分数(F1 Score)是统计学中用来衡量二分类模型精确度的一种指标,其同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种调和平均,它的最大值是1,最小值是0。
图7示出了一个实施例中计算机设备的内部结构图。如图7所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现基于bert的句子向量生成方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行基于bert的句子向量生成方法。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的基于bert的句子向量生成装置可以实现为一种计算机程序的形式,计算机程序可在如图7所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于bert的句子向量生成装置的各个程序模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于bert的句子向量生成方法中的步骤。
在一个实施例中,提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行上述基于bert的句子向量生成方法的步骤。此处基于bert的句子向量生成方法的步骤可以是上述各个实施例的基于bert的句子向量生成方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述基于bert的句子向量生成方法的步骤。此处基于bert的句子向量生成方法的步骤可以是上述各个实施例的基于bert的句子向量生成方法中的步骤。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

Claims (9)

1.一种基于bert的句子向量生成方法,其特征在于,包括:
获取输入文本;
根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各初始句向量;
将各所述初始句向量分别与预设句向量进行相似度计算,获取与各所述初始句向量一一对应的各相似度分值,并根据各所述相似度分值,生成各所述初始句向量的向量权重;其中,所述预设句向量的训练方法为将训练文本通过Bert模型12层transformer encoder层对应生成的12个句向量作为训练集输入到句子注意力机制层中,句子注意力机制层与分类器连接,其根据上述12个句向量输出的输出句向量作为分类器的输入,通过利用训练集对句子注意力模块和分类器进行训练,从而获得能够用于文本分类任务的句子注意力模块和分类器;与所述预设句向量相似度越大则对应的初始句向量赋予更大的权重;
根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量。
2.根据权利要求1所述的一种基于bert的句子向量生成方法,其特征在于,所述根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应各初始句向量,包括:
根据bert模型对所述输入文本进行处理,提取各transformer encoder层根据所述输入文本的无义字符生成的各词向量作为各所述初始句向量。
3.根据权利要求1所述的一种基于bert的句子向量生成方法,其特征在于,所述根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应各初始句向量,包括:
根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各词向量集后,对所述词向量集中的各词向量进行加权平均,生成所述初始句向量。
4.根据权利要求1所述的一种基于bert的句子向量生成方法,其特征在于,所述根据各所述相似度分值,生成各所述初始句向量的向量权重,包括:
对各所述相似度分值进行归一化处理,生成各所述初始句向量的向量权重。
5.根据权利要求4所述的一种基于bert的句子向量生成方法,其特征在于,所述归一化处理通过softmax函数完成。
6.一种基于bert的句子向量生成装置,其特征在于,包括:
文本获取模块,用于获取输入文本;
文本处理模块,用于根据bert模型对所述输入文本进行处理,生成与各transformerencoder层一一对应的各初始句向量;
权重生成模块,用于将各所述初始句向量分别与预设句向量进行相似度计算,获取与各所述初始句向量一一对应的各相似度分值,并根据各所述相似度分值,生成各所述初始句向量的向量权重;其中,所述预设句向量的训练方法为将训练文本通过Bert模型12层transformer encoder层对应生成的12个句向量作为训练集输入到句子注意力机制层中,句子注意力机制层与分类器连接,其根据上述12个句向量输出的输出句向量作为分类器的输入,通过利用训练集对句子注意力模块和分类器进行训练,从而获得能够用于文本分类任务的句子注意力模块和分类器;与所述预设句向量相似度越大则对应的初始句向量赋予更大的权重;
向量生成模块,用于根据各所述初始句向量及各所述初始句向量对应的向量权重,对各所述初始句向量进行加权求和,生成目标句向量。
7.根据权利要求6所述的基于bert的句子向量生成装置,其特征在于,所述文本处理模块具体用于:
根据bert模型对所述输入文本进行处理,提取各transformer encoder层根据所述输入文本的无义字符生成的各词向量作为各所述初始句向量;或,
根据bert模型对所述输入文本进行处理,生成与各transformer encoder层一一对应的各词向量集后,对所述词向量集中的各词向量进行加权平均,生成所述初始句向量。
8.根据权利要求6所述的基于bert的句子向量生成装置,其特征在于,所述权重生成模块还用于:
对各所述相似度分值进行归一化处理,生成各所述初始句向量的向量权重。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5中任一项所述的基于bert的句子向量生成方法。
CN202010492264.9A 2020-06-02 2020-06-02 基于bert的句子向量生成方法、装置及电子设备 Active CN111709223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010492264.9A CN111709223B (zh) 2020-06-02 2020-06-02 基于bert的句子向量生成方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010492264.9A CN111709223B (zh) 2020-06-02 2020-06-02 基于bert的句子向量生成方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111709223A CN111709223A (zh) 2020-09-25
CN111709223B true CN111709223B (zh) 2023-08-08

Family

ID=72538946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010492264.9A Active CN111709223B (zh) 2020-06-02 2020-06-02 基于bert的句子向量生成方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111709223B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112883722B (zh) * 2021-03-04 2023-04-21 中山大学 一种基于云数据中心分布式文本摘要方法
CN113254616B (zh) * 2021-06-07 2021-10-19 佰聆数据股份有限公司 面向智能问答系统的句向量生成方法及系统
CN113722438B (zh) * 2021-08-31 2023-06-23 平安科技(深圳)有限公司 基于句向量模型的句向量生成方法、装置及计算机设备
CN113935315A (zh) * 2021-10-26 2022-01-14 平安科技(深圳)有限公司 句子向量生成方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992648A (zh) * 2019-04-10 2019-07-09 北京神州泰岳软件股份有限公司 基于词迁徙学习的深度文本匹配方法及装置
CN110147452A (zh) * 2019-05-17 2019-08-20 北京理工大学 一种基于层级bert神经网络的粗粒度情感分析方法
CN110928997A (zh) * 2019-12-04 2020-03-27 北京文思海辉金信软件有限公司 意图识别方法、装置、电子设备及可读存储介质
CN111143550A (zh) * 2019-11-27 2020-05-12 浙江大学 一种基于层次注意力神经网络模型的争议焦点自动识别方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992648A (zh) * 2019-04-10 2019-07-09 北京神州泰岳软件股份有限公司 基于词迁徙学习的深度文本匹配方法及装置
CN110147452A (zh) * 2019-05-17 2019-08-20 北京理工大学 一种基于层级bert神经网络的粗粒度情感分析方法
CN111143550A (zh) * 2019-11-27 2020-05-12 浙江大学 一种基于层次注意力神经网络模型的争议焦点自动识别方法
CN110928997A (zh) * 2019-12-04 2020-03-27 北京文思海辉金信软件有限公司 意图识别方法、装置、电子设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Nina Poerner.Sentence Meta-Embeddings for Unsupervised Semantic Textual Similarity.arXiv.2019,全文. *

Also Published As

Publication number Publication date
CN111709223A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN111709223B (zh) 基于bert的句子向量生成方法、装置及电子设备
CN109635273B (zh) 文本关键词提取方法、装置、设备及存储介质
GB2547068B (en) Semantic natural language vector space
WO2020177282A1 (zh) 一种机器对话方法、装置、计算机设备及存储介质
US9792534B2 (en) Semantic natural language vector space
CN110110062B (zh) 机器智能问答方法、装置与电子设备
CN111241237B (zh) 一种基于运维业务的智能问答数据处理方法及装置
AU2016256753A1 (en) Image captioning using weak supervision and semantic natural language vector space
CN110598206A (zh) 文本语义识别方法、装置、计算机设备和存储介质
CN107180084B (zh) 词库更新方法及装置
CN105139237A (zh) 信息推送的方法和装置
CN112035599B (zh) 基于垂直搜索的查询方法、装置、计算机设备及存储介质
CN109766418B (zh) 用于输出信息的方法和装置
CN110347802B (zh) 一种文本分析方法及装置
US20220406034A1 (en) Method for extracting information, electronic device and storage medium
CN113268609A (zh) 基于知识图谱的对话内容推荐方法、装置、设备及介质
CN109635080A (zh) 应答策略生成方法及装置
CN112052331A (zh) 一种处理文本信息的方法及终端
CN113239169A (zh) 基于人工智能的回答生成方法、装置、设备及存储介质
CN113722438A (zh) 基于句向量模型的句向量生成方法、装置及计算机设备
CN113886531A (zh) 智能问答话术确定方法、装置、计算机设备和存储介质
CN112632248A (zh) 问答方法、装置、计算机设备和存储介质
CN110717027B (zh) 多轮智能问答方法、系统以及控制器和介质
US20210312333A1 (en) Semantic relationship learning device, semantic relationship learning method, and storage medium storing semantic relationship learning program
CN113627550A (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