如何安装BERT-As-Service?
0 1318
0
该提问暂无详细描述
收藏
2021-02-26 08:31 更新 阿托 •  17089
共 1 个回答
高赞 时间
0

BERT-As-Service以简单的方式工作。 它会创建一个BERT服务器,我们可以使用Python代码进行访问。 每次我们将句子作为列表发送时,它将发送所有句子的嵌入内容。

我们可以通过pip安装服务器和客户端。 它们可以单独安装,甚至可以安装在不同的计算机上:

pip install bert-serving-server  # server
pip install bert-serving-client  # client, independent of `bert-serving-server`

请注意,服务器必须在Python> = 3.5上使用TensorFlow> = 1.10运行。

另外,由于运行BERT是GPU的一项繁重任务,因此建议你在基于云的GPU或其他具有高计算能力的计算机上安装bert-serving-server。

现在,返回终端并下载下面列出的模型。 然后,将zip文件解压缩到某个文件夹,例如/ tmp / english_L-12_H-768_A-12 /。

以下是已发布的经过预训练的BERT模型的列表:

我们将下载BERT Uncased,然后解压缩该zip文件:

wget https://storage.googleapis.com/bert_models/2018_10_18/uncased_L-12_H-768_A-12.zip && unzip uncased_L-12_H-768_A-12.zip

将所有文件提取到一个文件夹中之后,就该启动BERT服务了:

bert-serving-start -model_dir uncased_L-12_H-768_A-12/ -num_worker=2 -max_seq_len 50

现在,你可以简单地从Python代码中调用BERT-As-Service(使用客户端库)。 接下来看一下代码。

打开一个新的Jupyter笔记本,尝试获取以下句子的内容:“I love data science and analytics vidhya”。

from bert_serving.client import BertClient

# make a connection with the BERT server using it's ip address; do not give any ip if same computer
bc = BertClient(ip="SERVER_IP_HERE")
# get the embedding
embedding = bc.encode(["I love data science and analytics vidhya."])
# check the shape of embedding, it should be 1x768
print(embedding.shape)

在这里,IP地址是你的服务器或云的IP。 如果在同一台计算机上使用,则不需要此字段。

返回的嵌入图形的形状为(1,768),因为只有一个句子,由BERT的体系结构中的768个隐藏单元表示。

参考https://www.analyticsvidhya.com/blog/2019/09/demystifying-bert-groundbreaking-nlp-framework/

收藏
2021-02-26 08:33 更新 正直的烤面包 •  4006