跳到主要內容

【Hugging Face】Ep.6 解決問題的專業級破關知識家(Question Answering)

 

圖片來源

QA問答是自然語言處理NLP中蠻困難的一項任務, 必須從一段文本中識別出使用者的提問,像搜尋引擎就是一種QA的應用, 從眾多的問題中找答案, 那就讓我們親手來打造一下自己專屬的QA系統吧!

找看看有哪些可用模型

在「【Hugging Face】Ep.3 前往Dataset掏金趣」我們有介紹過HuggingFace平台如何精準的找出我們需要的模型, 那這次我們要找的任務是「Question Answering」,語言為「Chinese」, 我們就來選用最多人使用的「timpal0l/mdeberta-v3-base-squad2」吧!

圖片來源

安裝套件

!pip install transformers

給予知識文章

這邊透過Chatgpt幫我們產生Google的基礎知識並做為問答系統的基礎知識。

context = """
Google是一家全球知名的科技公司,成立於1998年,總部位於美國加利福尼亞州的山景城。Google以其在搜尋引擎技術方面的卓越表現而聞名,早期推出的Google搜尋引擎迅速成為全球最受歡迎和廣泛使用的搜尋引擎之一。

除了搜尋引擎外,Google還開發和提供了許多其他互聯網產品和服務。其中包括谷歌地圖、谷歌郵箱(Gmail)、谷歌翻譯、谷歌雲端硬碟(Google Drive)等。此外,Google還擁有Android操作系統,該操作系統目前是全球最受歡迎的移動操作系統之一。

Google也涉足硬體領域,推出了自己的智慧型手機系列Pixel,以及Pixelbook筆記型電腦、Google Home智慧音箱等產品。此外,Google還在人工智慧(AI)和機器學習領域投入了大量資源,並推出了許多與AI相關的產品和服務,如Google Assistant智慧助理和Google Lens圖像識別技術。

除了互聯網產品和服務,Google還在廣告業務方面表現出色。其廣告平台Google Ads為廣告客戶提供了廣告投放和行銷解決方案,並通過廣告收入成為Google的主要盈利來源之一。

Google在全球範圍內擁有廣泛的影響力和使用者基礎。其創始人之一拉里·佩奇(Larry Page)和謝爾蓋·布林(Sergey Brin)一直是科技行業的知名人物,Google也是全球最具價值的品牌之一。公司在全球各地設有辦事處和數據中心,員工遍布世界各地。

Google一直秉持著使訊息普遍可用和受人們歡迎的使命,致力於提供高質量的產品和服務,並不斷推動科技的創新和發展。
"""

打造QA任務機器人

這邊我們選用timpal0l/mdeberta-v3-base-squad2這個模型進行任務。

from transformers import pipeline, AutoTokenizer, AutoModelForQuestionAnswering
tokenizer = AutoTokenizer.from_pretrained("timpal0l/mdeberta-v3-base-squad2")
model = AutoModelForQuestionAnswering.from_pretrained("timpal0l/mdeberta-v3-base-squad2")
qa = pipeline("question-answering", model=model, tokenizer=tokenizer)

問與答

回答雖然不盡完美, 但已經能夠精確的理解我們的問題並給予接近正確的回答, 見到如此成效, 對於商業嗅覺敏感的朋友來說, 或許已經想到要如何打造一個知識庫問答機器人了吧!

後面的章節也會介紹如何自行訓練私有資料庫,並真正的打造私有的專屬問答知識家。

questions = [
    '請問Google的主要產品是什麼?',
    '請問創始人是誰?',
    '請問什麼時候開始的?'
]

for question in questions:
  result = qa(question = question, context = context)
  print(result['answer'])

圖片來源

今天的範例都在這裡「📦huggingface/huggingface_qa.ipynb」歡迎自行取用。

如何使用請參閱「【Google Colab系列】台股分析預備式: Colab平台與Python如何擦出火花?」。

結語

藉由Hugging Face平台, 我們可以親手打造各式各樣的AI機器人, 上面也已經有許多前輩分享的模型可供使用, 對於我們來說只要站在巨人的肩膀上即可, 也期望有朝一日我們也能訓練出對這世界更有幫助的AI模型。

喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 - 為什麼要加入?

歡迎加入一起練習寫作,賺取知識!

更多關於【Hugging Face 系列】…

留言

這個網誌中的熱門文章

java西元民國轉換_各種不同格式

C#資料庫操作(新增、修改、刪除、查詢)

【Excel好好玩】 自己的資產自己管!善用Google Sheet來幫我們評估貸款

這次介紹的主題是關於Excel的貸款還款計畫試算,我們人生中總會遇到需要大筆金額的花費,但當資金不夠時就得進行貸款,而貸款之前如果我們能夠審慎評估,並分析自己的還款能力之後在進行凍作,相信風險會小很多,因此就自己動動手來使用Google Sheet進行試算吧! 基本資料 ● 貸款總額: 1000000 ● 貸款期數: 84月 ● 年利率: 2.11% ● 月利率: 0.18% P.S 月利率 = 年利率 / 12 重要函式 PMT : 這是Google Sheet內建的重要年金計算公式,我們可以善用這個公式來計算固定利率及期數的固定攤還本息。因為PMT函式計算出的結果為負數,所以前面加上-號轉成正數。 動手做 首先我們在Excel表上列出我們的基本資料 圖片來源 其中月利率的部分就使用公式「=B4/12」 接著我們填上第一列的期數跟餘額 圖片來源 =B2 =B3 使用關鍵PMT函數來計算本息的部分 因為PMT函式計算出的結果為負數,所以前面加上-號轉成正數。 -PMT(貸款利率(月利率), 貸款期數, 貸款總額) =-PMT($B$5,$B$3,$B$2) 圖片來源 計算利息 利息 = 貸款餘額 x 月利率 =B8*$B$5 圖片來源 計算本金 本金 = 本息 - 利息 =C8-D8 圖片來源 製作第二列餘額的部分 餘額的部分 = 上一期的餘額 - 上一期的本金 圖片來源 接著拖曳該兩列往下拉,即可查看每一期的利息與本金 圖片來源 結語 雖然市面上已經有很多貸款銀行都提供了試算功能,但如果我們想要進一步管理自己的資產時,就需要將每一期的金額給計算出來,因此才會將公式運用在Excel表,讓我們的資產管理表能夠結合負債,進一步評估我們理財行動的下一步,希望這樣的經驗可以幫助到正在理財道路上打拼的夥伴,讓我們透過有效的管理,幫助荷包長大吧! 喜歡撰寫文章的你,不妨來了解一下: Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入? 歡迎加入一起練習寫作,賺取知識,累積財富!