1. 程式人生 > 其它 >Prodigy,從根本上有效的自主學習驅動的註釋工具

Prodigy,從根本上有效的自主學習驅動的註釋工具

Prodigy是一種非常高效的機器教學工具,資料科學家可以在無需外部註釋的情況下,為新功能建立端到端原型,並且可以順利地進行生產。無論你是在進行實體識別、意圖檢測還是影象分類,Prodigy都可以幫助你更快地訓練和評估你的模型。

註釋通常是專案停滯的部分。有了Prodigy,你可以在吃早餐的時候生成一個想法,並在午餐之前就能為你的想法得到結果。一旦模型得到了訓練,你就可以將其匯出為一個版本化的Python包,從而使系統更容易地投入生產。

1. 開啟並快速執行。你可以直接開箱使用Prodigy——你所需要的就是Python和網路瀏覽器。如果以這種方式執行,則使用SQLite將註釋儲存在本地檔案中。對於遠端使用,你可以使用內建的SQLite、MySQL或PostgreSQL後端。

prodigy dataset my_dataset "New dataset" 
 Created dataset 'my_dataset'.

2. 使用內建的註釋Recipe或編寫自己的註釋。Recipe控制了註釋示例和處理邏輯的流,並定義瞭如何更新你的模型。

Prodigy提供了很多有用的元件,包括用於通用格式的載入器、實時API流、儲存後端和用於一系列任務的神經網路模型。

由於Recipe是作為Python函式實現的,所以很容易整合你自己的解決方案。無論你的ETL邏輯多麼複雜,如果你可以從Python函式呼叫它,你就可以在Prodigy中使用它。

RECIPE.PY
import prodigy
from prodigy.components.loaders import NewYorkTimes

@prodigy.recipe('news_headlines', dataset=("ID"), query=("Query"))
def news_headlines(dataset, query):
 return {
 'dataset': dataset,
 'stream': NewYorkTimes(query=query, key='xxx')
 }

3. 從命令列執行Recipe,並開始註釋。Recipe裝飾器使用你的函式的簽名來生成一個命令列介面,使你可以輕鬆地使用不同的設定來執行相同的Recipe,並在你的註釋專案中重用Recipe。當你執行Recipe命令時,Prodigy將啟動一個web伺服器,這樣你就可以開始註釋了。

prodigy news_headlines my_dataset "Silicon Valley" -F recipe.py 
 Starting the web server on port 8080...

4.在modern web應用程式中保持高效。Prodigy的web應用可以讓你直接從瀏覽器,甚至是在移動裝置上標註文字、實體、分類和圖片。它的modern UI介面讓你專注,並且只要求你一次做一個二元決策。

當你點選或瀏覽這些例子時,註釋會通過REST API被髮送回Prodigy。Prodigy可以實時更新你的模型,並選擇最重要的問題在下一次回答。

Prodigy的有效註釋Recipe Prodigy將模型放在迴圈中,這樣它就可以積極地參與到訓練過程中,並在訓練過程中學習。該模型使用它已經知道的東西來找出接下來要問的內容,並根據所提供的答案進行更新。沒有複雜的配置系統可以使用:你只需編寫一個Python函式,它將元件作為一個字典返回。Prodigy有各種各樣的內建Recipe,可以被連結在一起構建複雜的系統。

RECIPE.PY
@prodigy.recipe('custom_recipe', dataset=("ID"))
def custom_recipe(dataset):
 # text source, processing logic and model
 return {'dataset': dataset}

註釋介面 大多數註釋工具都避免向用戶提出任何建議,以避免對註釋產生偏差。Prodigy採取了相反的方法:儘可能少地詢問使用者。你的模型所生成的結構越複雜,你就能從Prodigy的二進位制介面中獲得更多的好處。

內建的神經網路模型 Prodigy為許多常用的應用程式提供高質量的統計模型。你也可以使用Prodigy來訓練或評估你自己的解決方案——它可以與任何統計模型一起工作。

  • 命名實體識別:從現有的模型開始並調整其準確性,新增一個新的實體型別或從頭開始訓練一個新的模式。Prodigy支援建立術語列表的新模式,並使用它們來引導NER模型。
  • 文字分類:分類文字的意圖,情緒,話題,或任何其他計劃。在長文件中,可以使用一種注意力機制,這樣你只需要閱讀它認為最相關的句子。
  • 文字相似度:將一個數值相似的分數分配給兩段文字。有了Prodigy,你可以判斷兩個句子中的哪一個更好。
  • 影象分類:根據物件、樣式、上下文或任何其他你感興趣的度量對影象進行分類。

立即匯出並使用你的模型 Prodigy可以匯出現成的模型,這使得測試結果很容易,並將其投入生產。內建的NLP Recipes輸出spaCy模型,你可以將其打包到可安裝的模組中。你也可以通過定製的Recipe來使用任何機器學習庫。內建對TensorFlow、Keras、PyTorch和scikit-learn模式的支援也很快就會投入使用。

USE A MODEL WITH SPACY V2.0
prodigy textcat.batch-train dataset /tmp/model

>>> import spacy
>>> nlp = spacy.load('/tmp/model')
>>> doc = nlp(u"Try the text classification model")
>>> print(doc.cats)

選擇儲存後端 你可以使用你最喜歡的資料庫來儲存所收集的所有註釋的副本。要麼連線到一個內建選項,要麼整合你自己的選項。

對各種檔案格式的支援 Prodigy支援最常用的檔案格式,並將檢測到從檔案擴充套件中使用的載入器。

資料科學工作流中的缺失部分 Prodigy彙集了來自機器學習和使用者體驗的最先進的見解。有了持續的活動學習系統,你只需要註釋那些模型還不知道答案的例子。web應用程式是強大的、可擴充套件的,並且遵循了現代使用者體驗原則。原因非常簡單:它的設計目的是幫助你一次只關注一個決定。

  • 嘗試動態演示:https://prodi.gy/demo

作為在Python中最流行的自然語言處理開源庫spaCy的製造商,我們看到越來越多的公司意識到他們需要投資建立自己的人工智慧技術。人工智慧不是你可以從第三方供應商大量購買的商品。你需要構建自己的系統,擁有自己的工具並控制你的資料。Prodigy具有同樣的思想。該工具是自包含的、可擴充套件的,並且永遠是你的。無論你的管道有多複雜——如果你可以從Python函式中呼叫它,那麼你就可以在Prodigy中使用它。

你可以和Prodigy做什麼? Prodigy的可插式架構使你可以很容易地使用你自己的元件來儲存、載入、分類、示例選擇甚至註釋。它的內建功能支援簡單而強大的工作流:

  • 建立、改進或評估情緒分析、意圖檢測和任何其他文字分類任務的模型。
  • 擴充套件spaCy最先進的命名實體識別器。
  • 在你正在研究的文字上,提高spaCy模型的準確性。
  • A/B測試機器翻譯、字幕或影象處理系統。
  • 註釋影象分割和物件檢測資料。

個人使用 適合自由職業者,獨立開發人員,業餘愛好者。內容包括:

  • 使用12個月免費升級的終身許可。
  • 個人和專業專案的無限制使用。
  • Prodigy安裝程式、web應用程式和廣泛的文件。

售價:290美元

企業使用 適合創業公司,資料科學團隊。內容包括:

  • 使用12個月免費升級的終身許可。
  • 為你和你的團隊提供靈活且可轉換的浮動許可證。
  • Prodigy安裝程式、web應用程式和廣泛的文件。

售價:390美元,總共5個名額。

Prodigy官網:https://prodi.gy/