CN117312500B - 一种基于ann和bert的语义检索模型建立方法 - Google Patents
一种基于ann和bert的语义检索模型建立方法 Download PDFInfo
- Publication number
- CN117312500B CN117312500B CN202311624188.2A CN202311624188A CN117312500B CN 117312500 B CN117312500 B CN 117312500B CN 202311624188 A CN202311624188 A CN 202311624188A CN 117312500 B CN117312500 B CN 117312500B
- Authority
- CN
- China
- Prior art keywords
- data
- bert
- model
- training
- ann
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 48
- 238000004821 distillation Methods 0.000 claims abstract description 18
- 238000007781 pre-processing Methods 0.000 claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 6
- 238000004140 cleaning Methods 0.000 claims abstract description 5
- 238000002360 preparation method Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 8
- 238000011068 loading method Methods 0.000 claims description 6
- 230000008676 import Effects 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000000586 desensitisation Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000005065 mining Methods 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 abstract description 2
- 238000003058 natural language processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000009966 trimming 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/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
- 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/31—Indexing; Data structures therefor; Storage structures
-
- 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/3332—Query translation
- G06F16/3335—Syntactic pre-processing, e.g. stopword elimination, stemming
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
Abstract
一种基于ANN和BERT的语义检索模型建立方法,属于文本检索领域,包括以下步骤:S1、数据准备:准备若干个文本的训练数据和测试数据;S2、数据预处理:对所述训练数据进行预处理,包括文本清洗、文本数据预处理,以便于ANN和BERT模型的输入;S3、BERT预训练:通过BERT模型,具体采用RoBERTa模型,从文本中捕捉到丰富的语义信息,然后采用TinyBERT进行结构蒸馏,通过多次调整参数来进行训练,能够大大提高预训练知识的保留,减少流失。本发明提供了一种基于ANN和BERT的语义检索模型建立方法,基于ANN和BERT的特性,将二者相结合,建立一种准确率和效率更高的语义检索模型。
Description
技术领域
本发明属于文本检索领域,具体涉及一种基于ANN和BERT的语义检索模型建立方法。
背景技术
近年来,随着大规模数据和深度学习技术的发展,文本相似性匹配在各种自然语言处理应用中变得越来越重要,如:构建搜索引擎、问答社区、客服聊天机器人、内容推荐等,但是一些搜索算法模型或在搜索效率上较低,或在搜索精度上较低,会影响到语义检索的速度和精确度,例如,模型对相关领域知识理解不够充分造成搜索召回结果存在实体偏差的问题;模型对长尾样本语义理解不充分,则部分长尾低频搜索词下召回的结果较少等问题。
为了克服现有技术中搜索算法模型在搜索效率上较低、在搜索精度上较低的问题,需要一种更好的语义检索模型,本发明针对这一技术问题进行解决。
发明内容
本发明提供了一种基于ANN和BERT的语义检索模型建立方法,基于ANN和BERT的特性,将二者相结合,建立一种准确率和效率更高的语义检索模型。
一种基于ANN和BERT的语义检索模型建立方法,包括以下步骤:
S1、数据准备:准备若干个文本的训练数据和测试数据;
S2、数据预处理:对所述训练数据进行预处理,包括文本清洗、文本数据预处理,以便于ANN和BERT模型的输入;
S3、BERT预训练:通过BERT模型,具体采用RoBERTa模型,从文本中捕捉到丰富的语义信息,然后采用TinyBERT进行结构蒸馏,通过多次调整参数来进行训练,当模型设置为316H_12L_12A,即自注意力头设置为12个,隐藏单元设置为316个,训练层仍为同一的12层时,能够大大提高预训练知识的保留,减少流失;
S4、使用预训练的BERT模型对文本数据进行特征提取:首先,使用双向Transformer模型的EncoderLayer对文本进行特征提取,然后,对文本数据进行微调,以适应特定的任务;
S5、建立索引:将所有文本特征表示存储在ANN索引中;
S6、检索阶段:当有新的检索query时,同样使用BERT模型提取其特征,然后,使用ANN索引来查找最接近查询对话的最近邻。
进一步的,所述步骤S2中的文本清洗包括以下步骤:
S21、筛选与主题相关的数据:从原始数据集中筛选出与挖掘主题相关的数据,处理无关数据和重复数据;
S22、处理缺失值:识别缺失值并通过删除、替换、插补进行处理;
S23、处理异常值:识别异常值并通过删除、视为缺失值进行处理。
进一步的,所述步骤S2中的文本数据预处理包括以下步骤:
S24、数据脱敏:对敏感数据进行变形处理,以保护数据隐私;
S25、分词:将文本分割成单个的词语、标点符号,以便更好地提取特征;
S26、去除停用词:去除常见但无意义的词语,以减少噪声;
S27、词干提取:提取词语的基本形式,以减少词汇量的冗余。
进一步的,所述步骤S3包括以下步骤:
S31、安装Transformers和PyTorch;
S32、加载所需的模型和数据集,python代码如下:
from transformers import RobertaModel
S33、准备数据加载器,将数据集转换为适合训练和评估的形式,并将其加载到PyTorch张量中;
S34、开始训练,使用Hugging Face的Trainer类来管理训练过程;
S35、使用TinyBERT对训练得到的RoBERTa模型进行结构蒸馏,并创建一个12层的TinyBERT模型;
S36、准备蒸馏数据,需要将原始的RoBERTa模型的预测结果(概率值)和TinyBERT模型的预测结果(概率值)作为蒸馏数据;
S37、开始蒸馏,Hugging Face的DistillationLoss类来计算蒸馏损失。
进一步的,所述步骤S4包括以下步骤:
S41、将输入文本映射为一系列的tokens,并添加特殊的tokens作为边界标识;
S42、将tokens转换为对应的索引序列,并将它们输入到BERT模型的EncoderLayer中;
S43、在每个EncoderLayer中,BERT使用自注意力机制对输入序列进行编码,得到每个token的表示向量;
S44、将表示向量逐层传递,直到最后一层,得到每个token的最终表示向量;
S45、将每个token的表示向量输入到全连接层中,得到每个token的预测结果。
进一步的,所述步骤S5中的ANN索引使用Locality Sensitive Hashing (LSH)技术来构建,以便快速查找近似最近邻,具体是将每个文本特征表示转换为二进制向量,并使用LSH算法将这些向量哈希为一系列桶;然后,在每个桶中维护一个最小堆,用于快速查找最近邻。
进一步的,所述步骤S6具体为:在索引中执行多次查询,每次返回最近的K个候选对话,然后合并这些候选对话并进行下一步筛选,在查询时使用近似最近邻算法来快速查找最近邻。
本发明的技术效果如下:
(1)本方案中的训练模型通过不断地调整,从4层自训练的BERT模型,逐步更新为统一12层预训练模型,采用开源RoBERTa预训练模型进行训练,同时,采用TinyBERT进行结构蒸馏,通过多次调整参数训练来调整参数达到最优,提高了预训练知识的保留,减少流失,提高了搜索的精度,并且可以快速查找近似最近邻,提高了搜索效率;
(2)采用TinyBERT结构蒸馏,TinyBERT是一种将大型预训练语言模型的知识蒸馏到较小模型的方法,以在资源受限的环境中实现高性能;
(3)BERT模型的特征提取过程是基于全局的上下文信息,同时使用了双向信息流,这样不仅可以提取当前词的前文信息,还可以提取当前词的后文信息,有助于理解语义和上下文关系;
(4)在特征提取的过程中,BERT模型将输入的文本数据转化为768维的向量表示。这些向量包含了文本的特征信息,可以用于后续的分类、聚类等任务。
附图说明
图1为本发明中语义检索模型建立的流程框图。
具体实施方式
下面将结合具体的实施例及附图,对本发明的技术方案进行清楚、完整的描述。
参见图1,一种基于ANN和BERT的语义检索模型建立方法,包括以下步骤:
S1、数据准备:准备若干个文本的训练数据和测试数据,在实验中,使用了两个大规模的语料库:WikiText-103和CNN/DailyMail,从WikiText-103和CNN/DailyMail数据集中选择训练数据和测试数据,WikiText-103包含103个主题的文本数据,每个主题包含约2000个文章和摘要,总计约200万个文本CNN/DailyMail包含约30万个问题和答案片段,从这些数据集中选择10万个文本作为训练数据,另外1万个文本作为测试数据;
S2、数据预处理:对训练数据进行预处理,包括文本清洗、文本数据预处理,以便于ANN和BERT模型的输入;
S3、BERT预训练:通过BERT模型,具体采用RoBERTa模型,从文本中捕捉到丰富的语义信息,然后采用TinyBERT进行结构蒸馏,通过多次调整参数来进行训练,当模型设置为316H_12L_12A,即自注意力头设置为12个,隐藏单元设置为316个,训练层仍为同一的12层时,能够大大提高预训练知识的保留,减少流失;
S4、使用预训练的BERT模型对文本数据进行特征提取:首先,使用双向Transformer模型的EncoderLayer对文本进行特征提取,BERT模型中没有Decoder部分,然后,对文本数据进行微调,以适应特定的任务,在这个阶段,可以使用不同的微调方法,如fine-tuning或distillation,这里采用fine-tuning;
S5、建立索引:将所有文本特征表示存储在ANN索引中;
S6、检索阶段:当有新的检索query时,同样使用BERT模型提取其特征,然后,使用ANN索引来查找最接近查询对话的最近邻。
进一步的,步骤S2中的文本清洗包括以下步骤:
S21、筛选与主题相关的数据:从原始数据集中筛选出与挖掘主题相关的数据,处理无关数据和重复数据;
S22、处理缺失值:识别缺失值并选择适当的方法进行处理,方法可以为删除、替换或插补,在WikiText-103和CNN/DailyMail数据集中,可以检查每篇文章或摘要是否存在缺失值;
S23、处理异常值:识别异常值并选择适当的方法进行处理,方法可以为删除或视为缺失值,在WikiText-103和CNN/DailyMail数据集中,可以检查是否存在异常值。
进一步的,步骤S2中的文本数据预处理包括以下步骤:
S24、数据脱敏:对敏感数据进行变形处理,以保护数据隐私,在WikiText-103和CNN/DailyMail数据集中,可以对敏感信息进行脱敏处理;
S25、分词:将文本分割成单个的词语、标点符号,以便更好地提取特征,在WikiText-103和CNN/DailyMail数据集中,可以使用分词工具将文章和摘要分割成单个的词语或标点符号;
S26、去除停用词:去除常见但无意义的词语,以减少噪声,在WikiText-103和CNN/DailyMail数据集中,可以去除停用词,如“的”、“了”等;
S27、词干提取:提取词语的基本形式,以减少词汇量的冗余,在WikiText-103和CNN/DailyMail数据集中,可以使用词干提取工具提取词语的基本形式。
进一步的,步骤S3包括以下步骤:
S31、安装Transformers和PyTorch;
S32、加载所需的模型和数据集,python代码如下:
from transformers import RobertaModel
S33、准备数据加载器,将数据集转换为适合训练和评估的形式,并将其加载到PyTorch张量中;
S34、开始训练,使用Hugging Face的Trainer类来管理训练过程,训练代码如下:
rom transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir="./roberta_model",
overwrite_output_dir=True,
num_train_epochs=3,
per_device_train_batch_size=16,
save_steps=1000,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
trainer.train()
S35、使用TinyBERT对训练得到的RoBERTa模型进行结构蒸馏,并创建一个12层的TinyBERT模型:
from tinybert import TinyBERTModel, BertTokenizer, create_tinybert_model, create_training_data
# 加载预训练的RoBERTa模型和tokenizer
roberta = RobertaModel.from_pretrained('roberta-base')
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
# 创建12层的TinyBERT模型
tinybert = create_tinybert_model(roberta, 12)
S36、准备蒸馏数据,需要将原始的RoBERTa模型的预测结果(概率值)和TinyBERT模型的预测结果(概率值)作为蒸馏数据,使用以下代码创建蒸馏数据:
# 准备原始的RoBERTa模型的预测结果(概率值)和TinyBERT模型的预测结果(概率值)作为蒸馏数据
original_predictions = ... # 原始的RoBERTa模型的预测结果(概率值)
distilled_predictions = ... # TinyBERT模型的预测结果(概率值)
S37、开始蒸馏,Hugging Face的DistillationLoss类来计算蒸馏损失:
# 开始蒸馏
# 创建DistillationLoss对象
distillation_loss = distillation.DistillationLoss()
# 计算蒸馏损失
output = distillation_loss(original_predictions.view(-1), distilled_predictions.view(-1))
进一步的,步骤S4包括以下步骤:
S41、将输入文本映射为一系列的tokens,并添加特殊的tokens作为边界标识,如[CLS]和[SEP];
S42、将tokens转换为对应的索引序列,并将它们输入到BERT模型的EncoderLayer中;
S43、在每个EncoderLayer中,BERT使用自注意力机制对输入序列进行编码,得到每个token的表示向量;
S44、将表示向量逐层传递,直到最后一层,得到每个token的最终表示向量;
S45、将每个token的表示向量输入到全连接层中,得到每个token的预测结果。
BERT模型的特征提取过程是基于全局的上下文信息,同时使用了双向信息流。这样不仅可以提取当前词的前文信息,还可以提取当前词的后文信息,有助于理解语义和上下文关系。
在特征提取的过程中,BERT模型将输入的文本数据转化为768维的向量表示。这些向量包含了文本的特征信息,可以用于后续的分类、聚类等任务。
进一步的,步骤S5中的ANN索引使用Locality Sensitive Hashing (LSH)技术来构建,以便快速查找近似最近邻,具体是将每个文本特征表示转换为二进制向量,并使用LSH算法将这些向量哈希为一系列桶;然后,在每个桶中维护一个最小堆,用于快速查找最近邻。
进一步的,步骤S6具体为:可以在索引中执行多次查询,每次返回最近的K个候选对话,然后合并这些候选对话并进行下一步筛选,为了提高效率,可以在查询时使用近似最近邻算法(例如Annoy或Faiss)来快速查找最近邻。
模型建立之后,为了评估模型的性能,这里使用常见的检索评估指标,准确率、召回率、F1得分等。
实验结果表明,结合ANN算法和BERT模型的语义检索方法在准确率和效率方面均优于单独使用BERT的方法,具体实验结果如下:
当单独使用BERT时,准确率为71.3%,召回率为84.1%,F1得分是79.8%;
当使用本方案的ANN算法和BERT模型的语义检索模型时,准确率为81.7%,召回率为87.5%,F1得分是84.5%。
ANN,近似最近邻算法是用于在高维空间中近似地查找最接近给定查询点的数据点的一类算法,在高维空间中,传统的最近邻搜索变得非常耗时,因为数据点之间的距离计算和比较复杂度增加,ANN算法的目标是通过牺牲一些精确性,来提高搜索效率,以适应大规模高维数据的情况。
BERT,是一种基于Transformer架构的预训练模型,由Google在2018年发布,它在自然语言处理(NLP)领域引起了巨大的影响,因为它在多个NLP任务上取得了非常显著的性能提升,甚至在某些任务上超越了人类表现,BERT之所以引人注目,是因为它采用了预训练-微调的策略,通过在大规模文本语料上进行预训练来学习通用的语言表示,然后在特定任务上进行微调,从而适应不同的应用。
上述实施例仅为本发明的优选实施例,本领域技术人员可以在不付出创造性劳动的前提下,从上述实施例得到其它的实施例,故本申请保护的不仅为上述实施例,而是保护与本申请的原理和特征相一致的最宽的范围。
Claims (5)
1.一种基于ANN和BERT的语义检索模型建立方法,其特征在于,包括以下步骤:
S1、数据准备:准备若干个文本的训练数据和测试数据;
S2、数据预处理:对所述训练数据进行预处理,包括文本清洗、文本数据预处理,以便于ANN和BERT模型的输入;
S3、BERT预训练:通过BERT模型,具体采用RoBERTa模型,从文本中捕捉到丰富的语义信息,然后采用TinyBERT进行结构蒸馏,通过多次调整参数来进行训练,当模型设置为316H_12L_12A,即自注意力头设置为12个,隐藏单元设置为316个,训练层仍为同一的12层时,能够大大提高预训练知识的保留,减少流失;
S4、使用预训练的BERT模型对文本数据进行特征提取:首先,使用双向Transformer模型的EncoderLayer对文本进行特征提取,然后,对文本数据进行微调,以适应特定的任务;
S5、建立索引:将所有文本特征表示存储在ANN索引中;
S6、检索阶段:当有新的检索query时,同样使用BERT模型提取其特征,然后,使用ANN索引来查找最接近查询对话的最近邻;
所述步骤S5中的ANN索引使用Locality Sensitive Hashing (LSH)技术来构建,以便快速查找近似最近邻,具体是将每个文本特征表示转换为二进制向量,并使用LSH算法将这些向量哈希为一系列桶;然后,在每个桶中维护一个最小堆,用于快速查找最近邻;
所述步骤S6具体为:在索引中执行多次查询,每次返回最近的K个候选对话,然后合并这些候选对话并进行下一步筛选,在查询时使用近似最近邻算法来快速查找最近邻。
2.根据权利要求1所述的基于ANN和BERT的语义检索模型建立方法,其特征在于,所述步骤S2中的文本清洗包括以下步骤:
S21、筛选与主题相关的数据:从原始数据集中筛选出与挖掘主题相关的数据,处理无关数据和重复数据;
S22、处理缺失值:识别缺失值并通过删除、替换、插补进行处理;
S23、处理异常值:识别异常值并通过删除、视为缺失值进行处理。
3.根据权利要求1所述的基于ANN和BERT的语义检索模型建立方法,其特征在于,所述步骤S2中的文本数据预处理包括以下步骤:
S24、数据脱敏:对敏感数据进行变形处理,以保护数据隐私;
S25、分词:将文本分割成单个的词语、标点符号,以便更好地提取特征;
S26、去除停用词:去除常见但无意义的词语,以减少噪声;
S27、词干提取:提取词语的基本形式,以减少词汇量的冗余。
4.根据权利要求1所述的基于ANN和BERT的语义检索模型建立方法,其特征在于,所述步骤S3包括以下步骤:
S31、安装Transformers和PyTorch;
S32、加载所需的模型和数据集,python代码如下:
from transformers import RobertaModel
S33、准备数据加载器,将数据集转换为适合训练和评估的形式,并将其加载到PyTorch张量中;
S34、开始训练,使用Hugging Face的Trainer类来管理训练过程;
S35、使用TinyBERT对训练得到的RoBERTa模型进行结构蒸馏,并创建一个12层的TinyBERT模型;
S36、准备蒸馏数据,需要将原始的RoBERTa模型的预测结果(概率值)和TinyBERT模型的预测结果(概率值)作为蒸馏数据;
S37、开始蒸馏,Hugging Face的DistillationLoss类来计算蒸馏损失。
5.根据权利要求1所述的基于ANN和BERT的语义检索模型建立方法,其特征在于,所述步骤S4包括以下步骤:
S41、将输入文本映射为一系列的tokens,并添加特殊的tokens作为边界标识;
S42、将tokens转换为对应的索引序列,并将它们输入到BERT模型的EncoderLayer中;
S43、在每个EncoderLayer中,BERT使用自注意力机制对输入序列进行编码,得到每个token的表示向量;
S44、将表示向量逐层传递,直到最后一层,得到每个token的最终表示向量;
S45、将每个token的表示向量输入到全连接层中,得到每个token的预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311624188.2A CN117312500B (zh) | 2023-11-30 | 2023-11-30 | 一种基于ann和bert的语义检索模型建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311624188.2A CN117312500B (zh) | 2023-11-30 | 2023-11-30 | 一种基于ann和bert的语义检索模型建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117312500A CN117312500A (zh) | 2023-12-29 |
CN117312500B true CN117312500B (zh) | 2024-02-27 |
Family
ID=89250357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311624188.2A Active CN117312500B (zh) | 2023-11-30 | 2023-11-30 | 一种基于ann和bert的语义检索模型建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312500B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725076B (zh) * | 2024-02-01 | 2024-04-09 | 厦门她趣信息技术有限公司 | 一种基于Faiss的分布式海量相似向量增量训练*** |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309267A (zh) * | 2019-07-08 | 2019-10-08 | 哈尔滨工业大学 | 基于预训练模型的语义检索方法和*** |
CN110633359A (zh) * | 2019-09-04 | 2019-12-31 | 北京百分点信息科技有限公司 | 语句等价性判断方法和装置 |
CN111198940A (zh) * | 2019-12-27 | 2020-05-26 | 北京百度网讯科技有限公司 | Faq方法、问答检索***、电子设备和存储介质 |
CN112270187A (zh) * | 2020-11-05 | 2021-01-26 | 中山大学 | 一种基于bert-lstm的谣言检测模型 |
CN113051398A (zh) * | 2021-03-22 | 2021-06-29 | 山西三友和智慧信息技术股份有限公司 | 一种基于从文本中检测虚假问题的迁移学习方法 |
CN113934830A (zh) * | 2021-10-19 | 2022-01-14 | 平安国际智慧城市科技股份有限公司 | 文本检索模型训练、问答检索方法、装置、设备及介质 |
CN113934835A (zh) * | 2021-12-16 | 2022-01-14 | 之江实验室 | 结合关键词和语义理解表征的检索式回复对话方法及*** |
EP3951614A1 (en) * | 2020-08-07 | 2022-02-09 | Basf Se | Practical supervised classification of data sets |
CN114595305A (zh) * | 2022-03-09 | 2022-06-07 | 湖南兴盛优选网络科技有限公司 | 基于语义索引的意图识别方法 |
CN115221325A (zh) * | 2022-07-25 | 2022-10-21 | 中国人民解放军军事科学院军事科学信息研究中心 | 一种基于标签语义学习和注意力调整机制的文本分类方法 |
CN115238053A (zh) * | 2022-07-19 | 2022-10-25 | 东北大学 | 基于bert模型的新冠知识智能问答***及方法 |
CN116108141A (zh) * | 2023-02-24 | 2023-05-12 | 杭州双系科技有限公司 | 一种面试场景下的相似问句检索机制 |
CN116186197A (zh) * | 2021-11-29 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 话题推荐方法、装置、电子设备及存储介质 |
CN117076598A (zh) * | 2023-05-09 | 2023-11-17 | 中国科学院计算技术研究所 | 基于自适应权重的语义检索模型融合方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10467530B2 (en) * | 2012-11-08 | 2019-11-05 | Georges Harik | Searching text via function learning |
-
2023
- 2023-11-30 CN CN202311624188.2A patent/CN117312500B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309267A (zh) * | 2019-07-08 | 2019-10-08 | 哈尔滨工业大学 | 基于预训练模型的语义检索方法和*** |
CN110633359A (zh) * | 2019-09-04 | 2019-12-31 | 北京百分点信息科技有限公司 | 语句等价性判断方法和装置 |
CN111198940A (zh) * | 2019-12-27 | 2020-05-26 | 北京百度网讯科技有限公司 | Faq方法、问答检索***、电子设备和存储介质 |
EP3951614A1 (en) * | 2020-08-07 | 2022-02-09 | Basf Se | Practical supervised classification of data sets |
CN112270187A (zh) * | 2020-11-05 | 2021-01-26 | 中山大学 | 一种基于bert-lstm的谣言检测模型 |
CN113051398A (zh) * | 2021-03-22 | 2021-06-29 | 山西三友和智慧信息技术股份有限公司 | 一种基于从文本中检测虚假问题的迁移学习方法 |
CN113934830A (zh) * | 2021-10-19 | 2022-01-14 | 平安国际智慧城市科技股份有限公司 | 文本检索模型训练、问答检索方法、装置、设备及介质 |
CN116186197A (zh) * | 2021-11-29 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 话题推荐方法、装置、电子设备及存储介质 |
CN113934835A (zh) * | 2021-12-16 | 2022-01-14 | 之江实验室 | 结合关键词和语义理解表征的检索式回复对话方法及*** |
CN114595305A (zh) * | 2022-03-09 | 2022-06-07 | 湖南兴盛优选网络科技有限公司 | 基于语义索引的意图识别方法 |
CN115238053A (zh) * | 2022-07-19 | 2022-10-25 | 东北大学 | 基于bert模型的新冠知识智能问答***及方法 |
CN115221325A (zh) * | 2022-07-25 | 2022-10-21 | 中国人民解放军军事科学院军事科学信息研究中心 | 一种基于标签语义学习和注意力调整机制的文本分类方法 |
CN116108141A (zh) * | 2023-02-24 | 2023-05-12 | 杭州双系科技有限公司 | 一种面试场景下的相似问句检索机制 |
CN117076598A (zh) * | 2023-05-09 | 2023-11-17 | 中国科学院计算技术研究所 | 基于自适应权重的语义检索模型融合方法及*** |
Non-Patent Citations (3)
Title |
---|
范国栋等.计算机学报.2022,第45卷(第12期),2529-2541. * |
范国栋等.面向APP评论响应的语义检索和生成框架.计算机学报.2022,第45卷(第12期),2529-2541. * |
许林.基于Bert与Milvus的专利智能语义检索***研究.中国发明与专利.2023,第20卷(第2期),5-10. * |
Also Published As
Publication number | Publication date |
---|---|
CN117312500A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840287B (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN111611361B (zh) | 抽取式机器智能阅读理解问答*** | |
CN109829104B (zh) | 基于语义相似度的伪相关反馈模型信息检索方法及*** | |
US20170200077A1 (en) | End-to-end memory networks | |
CN108132927B (zh) | 一种融合图结构与节点关联的关键词提取方法 | |
CN107832306A (zh) | 一种基于Doc2vec的相似实体挖掘方法 | |
CN112182154B (zh) | 一种利用个人词向量消除关键词歧义的个性化搜索模型 | |
CN109032375A (zh) | 候选文本排序方法、装置、设备及存储介质 | |
CN117312500B (zh) | 一种基于ann和bert的语义检索模型建立方法 | |
CN109829045A (zh) | 一种问答方法和装置 | |
CN110377695B (zh) | 一种舆情主题数据聚类方法、装置及存储介质 | |
CN108536735B (zh) | 基于多通道自编码器的多模态词汇表示方法与*** | |
CN111291188A (zh) | 一种智能信息抽取方法及*** | |
CN112925918B (zh) | 一种基于疾病领域知识图谱的问答匹配*** | |
CN117688163B (zh) | 基于指令微调和检索增强生成的在线智能问答方法及装置 | |
CN114357120A (zh) | 基于faq的无监督式检索方法、***及介质 | |
CN116662502A (zh) | 基于检索增强的金融问答文本生成方法、设备及存储介质 | |
CN116303977B (zh) | 一种基于特征分类的问答方法及*** | |
CN117609421A (zh) | 基于大语言模型的电力专业知识智能问答***构建方法 | |
CN116225525A (zh) | 一种结合用户反馈和深度学习的代码补全方法 | |
Sathyendra et al. | Extreme model compression for on-device natural language understanding | |
CN113779987A (zh) | 一种基于自注意力增强语义的事件共指消岐方法及*** | |
CN112579739A (zh) | 基于ELMo嵌入与门控自注意力机制的阅读理解方法 | |
CN115934944A (zh) | 一种基于Graph-MLP与相邻对比损失的实体关系抽取方法 |
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 |