Chatito-使用簡單的DSL為AI聊天機器人、NLP任務、命名實體識別或文本分類模型生成數據集
Chatito - Generate datasets for AI chatbots, NLP tasks, named entity recognition or text classification models using a simple DSL!
到在線IDE上試試吧!Link
https://github.com/rodrigopivi/Chatito
概覽
Chatito可幫助你生成用於訓練的數據集,並使用簡約的DSL驗證聊天機器人模型。
如果你使用商業模型、開源框架或編寫自己的自然語言處理模型來構建聊天機器人,則需要訓練示例。 Chatito隨時為你提供幫助。
該項目包含:
Online chatito IDE- 在線聊天的IDE
Chatito DSL specification- Chatito DSL規範
DSL AST parser in pegjs format- pegjs格式的DSL AST解析器
Generator implemented in typescript npm package- 在typescript npm包中實現生成器
Chatito語言
有關完整的語言規範和文檔,請參閱DSL規範文檔。
適配器
該語言獨立於生成的輸出格式,並且由於每個模型都可以接收不同的參數和設置,因此在這裡提供了3種數據格式的適配器。 本節介紹適配器及其特定行為和用例:
默認格式
如果你計劃訓練自定義模型或正在編寫自定義的適配器,建議使用默認格式。 這是最靈活的格式,因為您可以使用自定義實體參數來注釋Slots和Intents,並且它們都將出現在生成的輸出結果中,因此舉個例子,你還可以使用dsl包含對話/響應生成邏輯。 例如:
輸出中將提供「context」、required」和「type」等自定義實體,因此你可以根據需要處理此自定義參數。
Rasa NLU
Rasa NLU是一個用於訓練NLU模型的優秀開源框架。 Rasa適配器的一個特定行為是,當slot定義語句僅包含一個別名時,生成的rasa數據集將會把這個別名映射為同義詞。 例如:
在示例中,生成的rasa數據集將包含synonym 1的entity_synonyms和synonym 2映射到some slot synonyms。
Snips NLU
Snips NLU是另一個非常棒的NLU開源框架。 Snips適配器的一個特定行為是你可以為slot定義實體類型。 例如:
在前面的示例中,所有@[date]值都將使用snips/datetime實體標記進行標記。
NPM包
Chatito支持v8.11.2 LTS或更高版本的nodejs。
全局安裝:
或者本地安裝:
然後用你的代碼創建一個定義文件(例如:trainclimatebert .chatito)。
運行npm生成器:
生成的數據集應該在定義文件旁可用。
以下是完整的npm生成器選項:
表示.chatito文件的路徑或包含.chatito文件的目錄。如果它是一個目錄,將會遞歸搜索內部所有的*.chatito文件,並使用它們來生成數據集。例如:lightsChange.chatito或./chatitoFilesFolder
可選。格式可以是default、rasa或者snips
可選。每個適配器可選使用的.json文件路徑
可選。保存生成數據集的目錄。默認使用當前目錄。
作者和維護者
Rodrigo Pimentel
捐贈
設計和維護chatito需要時間和精力,如果它對你有用,請考慮捐款並與我們分享!:)
項目地址:https://github.com/rodrigopivi/Chatito
【AI求職百題斬 - 每日一題】
趕緊來看看今天的題目吧!
想知道正確答案?
點擊今日推文【第3條】或在公眾號回復「0121挑戰」即可答題獲取!
※AutoML工程實踐與大規模行業應用
※對話系統中的口語理解(一)
TAG:AI研習社 |