文 / 創(chuàng)意技術(shù)專家 Philip Bayer;軟件工程師 Ping Yu 和開發(fā)技術(shù)推廣工程師 Jason Mayes
在探索 BERT 針對語言的有益用例時,我們發(fā)現(xiàn)了許多令人興奮的研究。我們想知道:如果我們可以讓您更方便地在網(wǎng)絡(luò)瀏覽器中使用 BERT,將會怎么樣?這將實現(xiàn)哪些可能的有趣用例?
在 Google 中搜索提出類似于“自由女神像有多高?”的問題,并從網(wǎng)絡(luò)中得到答案(305 英尺)很容易。但是,還沒有辦法可以輕松針對具體內(nèi)容(例如,新聞報道、研究論文或文章)用自然語言提問。您或許可以嘗試使用瀏覽器中的“在網(wǎng)頁中查找”這一搜索功能 (CTRL + F),但此功能依賴于字詞的直接匹配(通過搜索的關(guān)鍵字進行匹配)。那么,輸入一個完整的問題而不是要查找的關(guān)鍵字,期待頁面上能夠突出顯示答案,會不會更易實現(xiàn)?
為了探索這一想法,我們使用 MobileBERT 問答模型制作了 Chrome 擴展程序的原型,可以在瀏覽網(wǎng)頁時提出任何問題。通過 TensorFlow.js ,該擴展程序會根據(jù)頁面內(nèi)容返回答案。模型完全在設(shè)備端的瀏覽器會話中運行,因此,無需向服務(wù)器發(fā)送內(nèi)容,這樣可以保護隱私。
MobileBERT 問答模型
https://github.com/tensorflow/tfjs-models/tree/master/qna
本文將介紹我們的早期試驗,并分享我們的發(fā)現(xiàn),闡述如何通過開源的 TensorFlow.js BERT 模型來構(gòu)建此類應(yīng)用。探索示例很有幫助,在一些示例中,我們得到了所需的答案,而在一些示例中,我們沒有得到所期待的結(jié)果。這讓我們得以了解模型的潛力及其當前限制。我們希望這些示例可以幫助所有人都參與進來,并讓每個人都能思考機器學(xué)習(xí)可以怎樣為語言提供幫助。
TensorFlow.js BERT 模型
https://github.com/tensorflow/tfjs-models/tree/master/qna
△ 使用 Chrome 擴展程序,問一個有關(guān)文章的問題,并得到答案
我們的發(fā)現(xiàn)
以下是我們獲得了有用答案的一些結(jié)果:
介紹螃蟹(鏈接見文末)- 問題:“How do they move?”答案:“Crabs typically walk sideways”
某產(chǎn)品照明燈介紹頁- 問題:“Can it get wet?”答案:“submersion in up to 1m of water for 30min”
某汽車測評 - 問題:“Gas mileage”答案:“19 miles per gallon in the city”
介紹木質(zhì)摩天樓 - 問題:“How tall is it”答案:“280 feet in height”
千層面配方介紹 - 問題:“How long in the oven”答案:“25 minutes”
在一些示例中,模型沒有返回我們期待的答案,但探索這些示例一樣有趣。以下是我們找到的幾個示例:
某產(chǎn)品介紹頁 - 問題:“What is the pitcher made of?”返回的答案是“Ice mode pulses at staggered intervals to uniformly crush a pitcher of ice in seconds”,而不是“BPA-free polycarbonate pitcher”
某文章 - 問題:“Were the sharks real?”返回的文字是“sharks! sharks”,但問到相關(guān)問題“How did the sharks work?”時,給出的答案較為有用:“mechanical sharks often malfunctioned”
機器學(xué)習(xí)模型的工作原理
MobileBERT 問答模型可用于構(gòu)建一套可用自然語言來回答用戶問題的系統(tǒng)。模型使用預(yù)訓(xùn)練的 BERT 模型創(chuàng)建,后者基于 SQuAD 1.1 (Stanford Question Answering Dataset) 進行了微調(diào)。這是一種預(yù)訓(xùn)練語言表征的新方法,語言表示可以在各種自然語言處理 (NLP) 任務(wù)中獲取最前沿 (SOTA) 的結(jié)果。
MobileBERT 問答模型
https://github.com/tensorflow/tfjs-models/tree/master/qna
BERT 模型
https://github.com/google-research/bert
我們很高興地宣布,此模型現(xiàn)在可以在 TensorFlow.js 中供您的用例使用。MobileBERT 模型是一個緊湊型 BERT 變體,可以部署到資源有限的設(shè)備上。
TensorFlow.js 中
https://tensorflow.google.cn/js/models/
該模型將段落和問題作為輸入,然后返回一段最有可能回答問題的段落。由于我們使用的是 TensorFlow.js,所有操作均在客戶端的網(wǎng)絡(luò)瀏覽器中進行。這意味著,用戶隱私可以得到保護,不會將您的檢索文本發(fā)送到服務(wù)器。
TensorFlow.js
https://tensorflow.google.cn/js
TensorFlow.js BERT API
該模型使用起來超級簡單。請看下面的代碼段:
正如您看到的,前兩行用于從托管腳本中加載 TensorFlow.js 庫和 Q&A(問答)模型,因此,我們可以執(zhí)行問答搜索。這只需要調(diào)用一次 - 模型位于內(nèi)存中時,將保持加載狀態(tài)。然后,我們可以重復(fù)調(diào)用 findAnswers(),向其傳遞兩個字符串。第一個字符串是用戶要提出的問題,第二個字符串是我們想要用來進行搜索的文字(例如,頁面上的文字)。之后,我們將返回 results 對象,其結(jié)構(gòu)如下所示:
[ { text: string, score: number, startIndex: number, endIndex: number } ]
您將獲得一組對象,表示可以最好地解答問題的段落的各個部分,同時還會獲得一個分數(shù),表示回答正確的置信度。另外,我們還會得到答案文字的索引,便于定位答案文字在上下文字符串中的位置。這就是全部內(nèi)容!借助此數(shù)據(jù),您現(xiàn)在可以突出顯示找到的文字,返回一些較豐富的結(jié)果,或?qū)崿F(xiàn)一些創(chuàng)造性的應(yīng)用。
如果您想自己嘗試 MobileBERT 問答模型,我們很高興地告訴您,該模型現(xiàn)已開放源代碼,您可以在我們的 GitHub 倉庫中找到它。如果您實現(xiàn)了一些有趣應(yīng)用,請與我們分享,我們期待看到有更多豐富的應(yīng)用與創(chuàng)意!
GitHub
https://github.com/tensorflow/tfjs-models/tree/master/qna
分享
http://services.google.cn/fb/forms/TFCS/?channel=wechat
如果您想詳細了解 本文提及 的相關(guān)內(nèi)容,請參閱以下文檔。這些文檔深入探討了這篇文章中提及的許多主題:
介紹螃蟹
https://en.wikipedia.org/wiki/Crab
某產(chǎn)品頁介紹照明燈
https://www.rei.com/rei-garage/product/167000/black-diamond-spot-headlamp
某汽車測評
https://www.autotrader.com/car-reviews/2020-infiniti-q60-review-281474979991514
介紹木質(zhì)摩天樓
https://www.cnn.com/style/article/wooden-skyscraper-revolution-timber/index.html
千層面配方介紹
https://www.allrecipes.com/recipe/23600/worlds-best-lasagna/?internalSource=hub%20recipe&referringContentType=Search
某產(chǎn)品介紹頁
https://www.bedbathandbeyond.com/store/product/kitchenaid-reg-5-speed-diamond-blender/3242409
某文章
https://en.wikipedia.org/wiki/Jaws_(film)
責任編輯:xj
原文標題:用 TensorFlow.js 探索 BERT 在瀏覽器中的趣味實踐
文章出處:【微信公眾號:TensorFlow】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
網(wǎng)絡(luò)瀏覽器
+關(guān)注
關(guān)注
0文章
10瀏覽量
6246 -
tensorflow
+關(guān)注
關(guān)注
13文章
329瀏覽量
60633 -
自然語言
+關(guān)注
關(guān)注
1文章
291瀏覽量
13402
原文標題:用 TensorFlow.js 探索 BERT 在瀏覽器中的趣味實踐
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型
利用TensorFlow實現(xiàn)基于深度神經(jīng)網(wǎng)絡(luò)的文本分類模型
TensorFlow是什么?TensorFlow怎么用?
使用TensorFlow進行神經(jīng)網(wǎng)絡(luò)模型更新
PyTorch神經(jīng)網(wǎng)絡(luò)模型構(gòu)建過程
tensorflow簡單的模型訓(xùn)練
keras模型轉(zhuǎn)tensorflow session
如何使用Tensorflow保存或加載模型
如何在TensorFlow中構(gòu)建并訓(xùn)練CNN模型
TensorFlow的定義和使用方法
谷歌模型框架是什么軟件?谷歌模型框架怎么用?
谷歌發(fā)布最先進的開放模型Gemma
![谷歌發(fā)布最先進的開放<b class='flag-5'>模型</b>Gemma](https://file1.elecfans.com/web2/M00/C0/B2/wKgZomXX_-iAZSoJAABGuA-9VKI834.png)
谷歌大型模型終于開放源代碼,遲到但重要的開源戰(zhàn)略
![谷歌大型<b class='flag-5'>模型</b>終于開放源代碼,遲到但重要的<b class='flag-5'>開源</b>戰(zhàn)略](https://file1.elecfans.com/web2/M00/C1/91/wKgaomXXHzeAD75WAAAovhJaCuU492.png)
評論