精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python 教你三分鐘用 Bert 搭建問答搜索引擎

開發 前端
今天我們介紹的這個模塊,能讓你在3分鐘內基于BERT算法搭建一個問答搜索引擎。它就是 bert-as-service 項目。這個開源項目,能夠讓你基于多GPU機器快速搭建BERT服務(支持微調模型),并且能夠讓多個客戶端并發使用。

鼎鼎大名的 Bert 算法相信大部分同學都聽說過,它是Google推出的NLP領域“王炸級”預訓練模型,其在NLP任務中刷新了多項記錄,并取得state of the art的成績。

但是有很多深度學習的新手發現BERT模型并不好搭建,上手難度很高,普通人可能要研究幾天才能勉強搭建出一個模型。

沒關系,今天我們介紹的這個模塊,能讓你在3分鐘內基于BERT算法搭建一個問答搜索引擎。它就是 bert-as-service 項目。這個開源項目,能夠讓你基于多GPU機器快速搭建BERT服務(支持微調模型),并且能夠讓多個客戶端并發使用。

1.準備

開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。

(可選1) 如果你用Python的目的是數據分析,可以直接安裝Anaconda:Python數據分析與挖掘好幫手—Anaconda,它內置了Python和pip.

(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優點:Python 編程的最好搭檔—VSCode 詳細指南。

請選擇以下任一種方式輸入命令安裝依賴:1. Windows 環境 打開 Cmd (開始-運行-CMD)。2. MacOS 環境 打開 Terminal (command+空格輸入Terminal)。3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install bert-serving-server # 服務端
pip install bert-serving-client # 客戶端

請注意,服務端的版本要求:Python >= 3.5,Tensorflow >= 1.10 。

此外還要下載預訓練好的BERT模型,在 https://github.com/hanxiao/bert-as-service#install 上可以下載,如果你無法訪問該網站,也可以在 https://pythondict.com/download/bert-serving-model/ 此處下載。

也可在Python實用寶典后臺回復 bert-as-service 下載這些預訓練好的模型。

下載完成后,將 zip 文件解壓到某個文件夾中,例如 /tmp/uncased_L-24_H-1024_A-16/.

2.Bert-as-service 基本使用

安裝完成后,輸入以下命令啟動BERT服務:

bert-serving-start -model_dir /tmp/uncased_L-24_H-1024_A-16/ -num_worker=4

-num_worker=4 代表這將啟動一個有四個worker的服務,意味著它最多可以處理四個并發請求。超過4個其他并發請求將在負載均衡器中排隊等待處理。

下面顯示了正確啟動時服務器的樣子:

圖片圖片

使用客戶端獲取語句的編碼

現在你可以簡單地對句子進行編碼,如下所示:

from bert_serving.client import BertClient
bc = BertClient()
bc.encode(['First do it', 'then do it right', 'then do it better'])

作為 BERT 的一個特性,你可以通過將它們與 |||(前后有空格)連接來獲得一對句子的編碼,例如

bc.encode(['First do it ||| then do it right'])

圖片圖片

遠程使用 BERT 服務

你還可以在一臺 (GPU) 機器上啟動服務并從另一臺 (CPU) 機器上調用它,如下所示:

# on another CPU machine
from bert_serving.client import BertClient
bc = BertClient(ip='xx.xx.xx.xx') # ip address of the GPU machine
bc.encode(['First do it', 'then do it right', 'then do it better'])

3.搭建問答搜索引擎

我們將通過 bert-as-service 從FAQ 列表中找到與用戶輸入的問題最相似的問題,并返回相應的答案。

FAQ列表其實就是官方文檔的readme.md, 在我提供的下載鏈接里也附帶了。

  • 加載所有問題,并顯示統計數據:
prefix_q = '##### **Q:** '
with open('README.md') as fp:
    questions = [v.replace(prefix_q, '').strip() for v in fp if v.strip() and v.startswith(prefix_q)]
    print('%d questions loaded, avg. len of %d' % (len(questions), np.mean([len(d.split()) for d in questions])))
    # 33 questions loaded, avg. len of 9

一共有33個問題被加載,平均長度是9.

  • 然后使用預訓練好的模型:uncased_L-12_H-768_A-12 啟動一個Bert服務:
bert-serving-start -num_worker=1 -model_dir=/data/cips/data/lab/data/model/uncased_L-12_H-768_A-12
  • 接下來,將我們的問題編碼為向量:
bc = BertClient(port=4000, port_out=4001)
doc_vecs = bc.encode(questions)
  • 最后,我們準備好接收用戶的查詢,并對現有問題執行簡單的“模糊”搜索。

為此,每次有新查詢到來時,我們將其編碼為向量并計算其點積  doc_vecs 然后對結果進行降序排序,返回前N個類似的問題:

while True:
    query = input('your question: ')
    query_vec = bc.encode([query])[0]
    # compute normalized dot product as score
    score = np.sum(query_vec * doc_vecs, axis=1) / np.linalg.norm(doc_vecs, axis=1)
    topk_idx = np.argsort(score)[::-1][:topk]
    for idx in topk_idx:
        print('> %s\t%s' % (score[idx], questions[idx]))

完成!現在運行代碼并輸入你的查詢,看看這個搜索引擎如何處理模糊匹配:

圖片圖片

完整代碼如下,一共23行代碼:

import numpy as np
from bert_serving.client import BertClient
from termcolor import colored

prefix_q = '##### **Q:** '
topk = 5

with open('README.md') as fp:
    questions = [v.replace(prefix_q, '').strip() for v in fp if v.strip() and v.startswith(prefix_q)]
    print('%d questions loaded, avg. len of %d' % (len(questions), np.mean([len(d.split()) for d in questions])))

with BertClient(port=4000, port_out=4001) as bc:
    doc_vecs = bc.encode(questions)

    while True:
        query = input(colored('your question: ', 'green'))
        query_vec = bc.encode([query])[0]
        # compute normalized dot product as score
        score = np.sum(query_vec * doc_vecs, axis=1) / np.linalg.norm(doc_vecs, axis=1)
        topk_idx = np.argsort(score)[::-1][:topk]
        print('top %d questions similar to "%s"' % (topk, colored(query, 'green')))
        for idx in topk_idx:
            print('> %s\t%s' % (colored('%.1f' % score[idx], 'cyan'), colored(questions[idx], 'yellow')))

夠簡單吧?當然,這是一個基于預訓練的Bert模型制造的一個簡單QA搜索模型。

你還可以微調模型,讓這個模型整體表現地更完美,你可以將自己的數據放到某個目錄下,然后執行 run_classifier.py 對模型進行微調,比如這個例子:

https://github.com/google-research/bert#sentence-and-sentence-pair-classification-tasks

責任編輯:武曉燕 來源: Python實用寶典
相關推薦

2021-10-27 05:47:53

通信協議協議網絡技術

2024-05-16 11:13:16

Helm工具release

2024-12-18 10:24:59

代理技術JDK動態代理

2009-11-09 12:55:43

WCF事務

2022-01-06 18:20:20

Scarlet AndroidWebSocket

2021-08-09 10:36:49

Python搜索引擎命令

2021-04-20 13:59:37

云計算

2022-02-17 09:24:11

TypeScript編程語言javaScrip

2023-12-27 08:15:47

Java虛擬線程

2024-01-16 07:46:14

FutureTask接口用法

2024-08-30 08:50:00

2025-10-27 01:35:00

2020-06-30 10:45:28

Web開發工具

2013-06-28 14:30:26

棱鏡計劃棱鏡棱鏡監控項目

2022-02-21 18:16:38

Go語言枚舉

2020-08-17 17:20:36

pythonJAVA代碼

2021-12-17 07:47:37

IT風險框架

2025-02-24 10:40:55

2024-10-15 09:18:30

2020-06-29 07:42:20

邊緣計算云計算技術
點贊
收藏

51CTO技術棧公眾號

97超碰在线免费观看| 精品无码久久久久久久动漫| 极品魔鬼身材女神啪啪精品| 91综合久久爱com| 欧美午夜宅男影院在线观看| 亚洲精品国产系列| 精品国产无码一区二区三区| 国产日韩一区二区三区在线| 中文字幕亚洲欧美日韩在线不卡| 一本之道在线视频| 一区一区三区| 亚洲欧美另类小说视频| 激情五月综合色婷婷一区二区| 久久久久久久亚洲| 欧美精品日本| 在线观看久久av| 精品少妇人妻av一区二区三区| 成人免费福利| 亚洲风情在线资源站| 亚洲二区自拍| 深夜福利视频网站| 韩国三级在线一区| 日韩av手机在线看| 国产无精乱码一区二区三区| 天天做天天爱天天爽综合网| 日韩精品免费看| 国产性生活一级片| 秋霞国产精品| 婷婷国产在线综合| 日本三级中文字幕在线观看| 高h视频在线| 99精品欧美一区二区蜜桃免费| 亚洲a∨日韩av高清在线观看| 亚洲av无码精品一区二区| 伊人精品在线| 欧美黑人国产人伦爽爽爽| 亚洲高潮女人毛茸茸| 亚洲免费毛片| 日韩精品亚洲精品| 欧美xxxxx少妇| 4438全国亚洲精品观看视频| 91精品国产综合久久精品图片| 久久美女福利视频| 久久影院午夜精品| 亚洲一区二区精品3399| 中文字幕中文字幕在线中一区高清 | www.久久色| 国内外成人在线| 国产一区二区香蕉| 在线观看免费观看在线| 久久人人精品| 国产成人精品电影| 国产精品suv一区| 麻豆久久精品| 国产成人精品a视频一区www| 黄色一级视频免费看| 久久久久网站| 国产精品v片在线观看不卡| 狠狠人妻久久久久久综合| 免费中文字幕日韩欧美| 国产精品99久久久久久人| 美女又爽又黄免费视频| 久久亚洲欧美| 国产精品高潮呻吟久久av黑人| 中文字幕日韩免费| 日本成人中文字幕在线视频| 国产精品专区一| 国产免费av电影| 国产精品69久久久久水密桃 | 久久国产精品免费精品3p| 亚洲国产精品久久久久秋霞不卡| 91av在线免费| 国产伦精品一区二区三区视频 | 91成人免费观看| 午夜精品久久久久久久99老熟妇| 成人午夜视频在线| 久久精品国产一区二区三区不卡| 欧美18xxxxx| 欧美国产精品久久| 粉嫩av一区二区三区天美传媒| 丁香高清在线观看完整电影视频| 亚洲图片欧美综合| 欧美精品第三页| 日韩综合av| 精品国精品自拍自在线| 国产激情在线免费观看| 91精品一区二区三区综合| 欧美高清在线视频观看不卡| 丰满少妇xoxoxo视频| 久久se这里有精品| 国产美女99p| www 日韩| 亚洲成a人片综合在线| 日韩a在线播放| 二区三区精品| 国产婷婷97碰碰久久人人蜜臀| 日本一卡二卡在线播放| 在线欧美一区| 国产精品手机播放| 秋霞欧美在线观看| 亚洲国产精品成人久久综合一区| 少妇久久久久久被弄到高潮| 波多视频一区| 欧美一区二区三区电影| 美女被到爽高潮视频| 欧美.www| 国产精品久久久久久一区二区| www.av黄色| 中文字幕av一区二区三区| 97中文字幕在线| 国产福利亚洲| 亚洲美女av网站| 久久精品一级片| 全国精品久久少妇| 九色91在线视频| 日本免费在线观看| 色av成人天堂桃色av| 久草视频福利在线| 国产韩日影视精品| 国产精品户外野外| 色吊丝在线永久观看最新版本| 亚洲激情图片一区| 欧美精品久久久久久久久25p| 嫩草国产精品入口| 欧美俄罗斯性视频| 国产精品日韩无码| 国产精品嫩草久久久久| 男女啪啪网站视频| 亚洲免费专区| 97成人超碰免| 日批视频免费播放| 亚洲高清免费观看高清完整版在线观看| 日本高清久久久| 日本不卡高清| 国产精品极品美女粉嫩高清在线| 三级做a全过程在线观看| 亚洲国产精品久久一线不卡| 男人操女人下面视频| 欧美大片aaaa| 成人福利网站在线观看11| yourporn在线观看视频| 色婷婷精品久久二区二区蜜臂av| 丰满大乳奶做爰ⅹxx视频| 黄色在线成人| 国产手机精品在线| 成人免费观看在线观看| 亚洲国产成人精品电影| 国产精品二区一区二区aⅴ| 成人午夜激情影院| 99热久久这里只有精品| 国产色噜噜噜91在线精品| 久久久久免费视频| 日韩中文字幕综合| 欧美日韩在线免费观看| 午夜一区二区三区免费| 久久尤物视频| 视频在线99re| 亚洲视频自拍| 久久国产精品久久久久久久久久 | frxxee中国xxx麻豆hd| 久久精品国产免费| 亚洲欧美日韩不卡| 一区二区三区亚洲变态调教大结局 | 亚洲一区二区网站| 欧美在线一二三区| 久久人人视频| 欧美理论电影在线播放| 国精产品一品二品国精品69xx| 亚洲不卡一区二区三区| 日韩人妻一区二区三区| 免费高清在线视频一区·| 中文字幕一区二区三区在线乱码 | 蜜桃视频成人| 51一区二区三区| 久久好看免费视频| 亚洲国产视频一区二区三区| 五月婷婷久久丁香| 一级肉体全黄裸片| 韩国视频一区二区| 国产精品后入内射日本在线观看| 欧美**字幕| 91亚洲国产成人精品性色| 国产理论电影在线| 国产午夜精品全部视频在线播放| 国产精品丝袜黑色高跟鞋| 亚洲一区二区三区视频在线| 国产精品高清无码在线观看| 久久99久久久久久久久久久| 草b视频在线观看| 欧美人与拘性视交免费看| 91精品视频在线播放| 九九色在线视频| 亚洲色图偷窥自拍| 精品久久久中文字幕人妻| 疯狂做受xxxx高潮欧美日本| 日本免费网站视频| 99热精品国产| 97人人爽人人| 美女久久网站| 国产制服91一区二区三区制服| 亚洲区小说区图片区qvod按摩| 91丨九色丨国产在线| 亚洲黄色免费av| 蜜臀久久99精品久久久无需会员 | 久久久亚洲成人| 69视频在线观看| 亚洲精品久久久久久久久久久久久 | 色呦呦在线资源| 亚洲人成欧美中文字幕| 蜜臀久久99精品久久久| 欧美另类videos死尸| 男人的天堂一区二区| 亚洲美女淫视频| 性欧美13一14内谢| 成人激情黄色小说| 永久免费黄色片| 免费高清在线一区| 成人观看免费完整观看| 欧美午夜在线视频| 国产麻豆电影在线观看| 日本道不卡免费一区| 久久久免费看| 久久黄色影视| 国产99视频精品免费视频36| 亚洲aⅴ网站| 国产精品久久精品| 成人美女黄网站| 91国在线精品国内播放 | 国产a级全部精品| www.九色在线| 欧美精品情趣视频| av在线下载| 久久精品在线播放| 男人的天堂在线视频免费观看| 亚洲图片制服诱惑| 国产三级电影在线观看| 亚洲欧美另类中文字幕| 国产精品国产高清国产| 亚洲国产日韩一区| 天天干天天爽天天操| 亚洲第一网站免费视频| 女人18毛片水真多18精品| 日韩欧美成人激情| 亚洲精品喷潮一区二区三区| 欧美一区二区在线看| 国产丰满果冻videossex| 欧美一区二区精品| 精品欧美在线观看| 精品国产一区二区三区不卡 | 成人在线观看免费播放| 国产精品久久不能| 久久日本片精品aaaaa国产| 国产在线拍偷自揄拍精品| 亚洲精品aaa| 91久久在线观看| 视频一区中文字幕精品| 国外成人在线视频网站| 蜜桃一区av| 久久综合福利| 青青草原综合久久大伊人精品| 亚洲国产日韩欧美| 亚洲91久久| 日本福利视频一区| 亚洲一区久久| 亚洲天堂网一区| 激情深爱一区二区| 亚洲av综合色区无码另类小说| 成人精品视频一区二区三区 | 亚洲人和日本人hd| 日韩三级电影免费观看| 欧美电影免费播放| 国产一区 在线播放| 欧美亚洲一级| 热久久久久久久久| 成人午夜激情视频| 亚洲午夜久久久久久久国产| 中文字幕在线播放不卡一区| 免费中文字幕在线观看| 欧美视频中文字幕在线| 夜夜爽8888| 亚洲黄色www网站| eeuss影院www在线播放| 欧美成人免费播放| 日韩伦理在线一区| 国产噜噜噜噜噜久久久久久久久| 亚洲精品不卡在线观看| 欧美精品v日韩精品v国产精品| 色135综合网| 可以看毛片的网址| 日本不卡的三区四区五区| wwwxxx色| 国产亚洲欧美日韩在线一区| 欧美性猛交xxxxx少妇| 日韩欧美主播在线| 国产黄a三级三级看三级| 精品亚洲一区二区三区| 成人在线观看免费网站| 日本久久中文字幕| 亚洲一区二区三区中文字幕在线观看 | 国产又粗又猛视频| 日韩国产在线看| 99热国产在线| 国产精品美乳在线观看| 国内精品偷拍| 99精品一区二区三区的区别| 蜜桃伊人久久| 亚洲av人人澡人人爽人人夜夜| 亚洲欧洲精品一区二区三区| 中文字幕视频网| 精品国产乱码久久久久久夜甘婷婷| shkd中文字幕久久在线观看| 欧美一级淫片videoshd| 97久久综合区小说区图片区| 爱爱爱视频网站| 视频在线在亚洲| av黄色一级片| 夜夜嗨av一区二区三区中文字幕 | 亚洲精品成人久久电影| 永久免费网站在线| 成人免费网站在线| 欧美中文字幕一区二区| 各处沟厕大尺度偷拍女厕嘘嘘| 国产精品白丝jk白祙喷水网站| 人妻互换一区二区激情偷拍| 色婷婷精品大在线视频| 国产精品国产高清国产| 性欧美视频videos6一9| 最新国产一区二区| 色一情一乱一乱一区91| 精彩视频一区二区三区| 一区二区三区在线观看免费视频| 欧美日韩亚洲视频| 婷婷五月综合激情| 97国产一区二区精品久久呦 | 青青操国产视频| 91麻豆精品国产91| 男人在线资源站| 国产精品十八以下禁看| 日本a级不卡| 国产原创精品在线| 中文字幕中文字幕中文字幕亚洲无线| 奴色虐av一区二区三区| 亚洲欧洲一区二区三区久久| 亚洲天堂av在线| 欧美日韩在线播放一区二区| 香蕉国产精品偷在线观看不卡| 国产精品久久无码| 欧美日韩美女在线| 嫩草研究院在线观看| 国产成人极品视频| 成人免费在线观看av| 成人日韩在线视频| 亚洲欧洲无码一区二区三区| 91国内精品视频| 美女福利精品视频| 综合激情网...| 青青草成人免费在线视频| 91免费看`日韩一区二区| 亚洲 欧美 成人| 色偷偷av一区二区三区| 精品久久国产一区| 成人精品视频在线播放| 91网站最新网址| 色av性av丰满av| 久久精品国产清自在天天线| 国模大尺度视频一区二区| 成人免费毛片在线观看| 久久综合狠狠综合| 最近中文字幕av| 欧美成人一二三| 欧美电影免费网站| 国产又大又黄又猛| 亚洲欧美另类久久久精品2019| 特黄aaaaaaaaa真人毛片| 国产成人精品电影| 在线一区免费| 国产xxxxxxxxx| 欧美性做爰猛烈叫床潮| 黄色av网站在线播放| 国产日韩一区二区| 男人的天堂久久精品| 久久亚洲av午夜福利精品一区| 精品视频中文字幕| 99视频这里有精品| 国产精品一区二区免费在线观看| 国产日韩视频一区二区三区| 国产精品系列视频| 欧美亚洲成人免费| 久久看人人摘| 蜜臀av粉嫩av懂色av| 欧美日本在线播放| 日产福利视频在线观看| 综合网五月天| 久久久久99精品一区| 精品黑人一区二区三区国语馆| 热re99久久精品国产66热| 综合国产精品| 丁香激情五月少妇| 亚洲国产精品成人一区二区| 日韩在线你懂得|