當前位置:
首頁 > 知識 > Chatito-使用簡單的DSL為AI聊天機器人、NLP任務、命名實體識別或文本分類模型生成數據集

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挑戰」即可答題獲取!


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

AutoML工程實踐與大規模行業應用
對話系統中的口語理解(一)

TAG:AI研習社 |