文本向量化(一)基于Bert-Base-Chinese的文本Embedding

 第三周-第四周:文本向量化及向量库搜索研究

 Faiss向量数据库搭建初览

参考:向量数据库-Faiss详解 - 知乎 (zhihu.com)

向量数据库Faiss是Facebook AI研究院开发的一种高效的相似性搜索聚类的库。它能够快速处理大规模数据,并且支持在高维空间中进行相似性搜索。

安装faiss向量数据库:
conda create -n faiss
conda activate faiss

#pip install faiss-cpu
#GPU版本
#pip install faiss-gpu

conda install -c conda-forge faiss-cpu
 导入faiss向量数据库
import numpy as np
import faiss
随机数据作为向量数据库
d = 128                            # dimension
nb = 10000                         # database size
np.random.
### 如何使用 `bert-base-chinese` 模型进行中文自然语言处理任务 #### 加载模型与分词器 为了能够顺利加载并使用 `bert-base-chinese` 模型,需先安装 Hugging Face 的 Transformers 库。之后可以通过指定路径来初始化 BertModel 和 BertTokenizer 类实例。 ```python from transformers import BertModel, BertTokenizer # 初始化 BERT 模型和分词器 model = BertModel.from_pretrained('/opt/nlp/bert-base-chinese') # 载入本地存储的预训练权重文件[^3] tokenizer = BertTokenizer.from_pretrained('/opt/nlp/bert-base-chinese') # 使用相同的配置创建对应的分词工具 ``` #### 文本编码转换 当准备好了上述组件后,下步就是将待分析的文字转化为适合输入给神经网络的形式——即 token ID 列表形式: ```python text = "你好世界" encoded_input = tokenizer(text, return_tensors='pt') print(encoded_input) ``` 这段代码会输出如下结构的数据字典,其中包含了经过编码后的 tokens id 数组以及 attention mask 等辅助信息。 #### 获取特征向量表示 最后步则是调用已经加载好的 BERT 模型来进行前向传播计算,并提取最后层隐藏状态作为句子级别的语义表达: ```python output = model(**encoded_input) # 取得 [CLS] 标记对应位置上的隐含层激活(通常用于分类任务) cls_embedding = output.last_hidden_state[:,0,:].detach().numpy() print(cls_embedding.shape) # 输出形状应为 (batch_size, hidden_dim),这里 batch_size=1 ``` 通过这种方式可以方便快捷地获得高质量的语言学特征描述子,进而支持下游的各种 NLP 场景应用需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值