建立您自己的模型
Watson Natural Language Processing 中的某些演算法可以使用您自己的資料進行訓練,例如,您可以根據自己的資料來建立自訂模型,以進行實體擷取、分類資料、擷取觀感,以及擷取目標觀感。
從執行時期 23.1 開始,您可以使用新的內建轉換器型 IBM 基礎模型 (稱為 Slate) 來建立您自己的模型。 已根據已預先處理的非常大的資料集來訓練「石板」模型,以過濾仇恨、偏誤及褻瀆。
若要建立您自己的分類、實體擷取模型或觀感模型,您可以根據自己的資料細部調整「Slate」模型。 若要在合理時間內訓練模型,建議使用 GPU 型環境。
自訂模型的語言支援
您可以建立自訂模型,並針對顯示的語言使用下列預先訓練的字典及分類模型。 如需語言碼及對應語言的清單,請參閱 語言碼。
| 自訂模型 | 支援的語言碼 |
|---|---|
| 字典模型 | af、ar、bs、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw (語音標記語法部分中支援的所有語言) |
| 正規表示式 | af、ar、bs、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw (語音標記語法部分中支援的所有語言) |
| 使用 TFIDF 的 SVM 分類 | af、ar、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw |
| 具有 USE 的 SVM 分類 | ar、de、en、es、fr、it、ja、ko、nl、pl、pt、ru、tr、zh_cn、zh_tw |
| 使用 GloVe 的 CNN 分類 | ar、de、en、es、fr、it、ja、ko、nl、pt、zh_cn |
| BERT MULTILINGUAL 分類 | af、ar、ca、cs、da、de、el、en、es、fi、fr、he、hi、hr、it、ja、ko、nb、nl、nn、pl、pt、ro、ru、sk、sr、sv、tr、zh_cn、zh_tw |
| Transformer 模型 | af , ar , bs , ca , cs , da , de , el , en , es , fi , fr , he , hi , hr , it , ja , ko , nb , nl , nn , pl , pt , ro , ru , sk , sr , sv , tr , zh_cn , zh_tw |
| 非索引字清單 | ar、de、en、es、fr、it、ja、ko |
儲存及載入自訂模型
如果您想要在另一個 Notebook 中使用自訂模型,請將它作為「資料資產」儲存至專案。 這樣,您可以將模型匯出為專案匯出的一部分。
使用 ibm-watson-studio-lib 程式庫來儲存並載入自訂模型。
若要將 Notebook 中的自訂模型儲存為要匯出並在另一個專案中使用的資料資產,請執行下列動作:
確保您在專案 管理 標籤上的 存取控制 頁面上具有存取記號。 只有專案管理者才能建立存取記號。 存取記號可以具有檢視者或編輯者存取權。 只有編輯者可以將記號注入 Notebook。
從 Notebook 動作列中按一下 其他> 插入專案記號 ,然後執行 Cell ,以將專案記號新增至 Notebook。 當您執行插入的隱藏程式碼單元時,會建立一個
wslib物件,可用於ibm-waton-studio-lib程式庫中的函數。 如需可用ibm-watson-studio-lib函數的詳細資料,請參閱 Usingibm-watson-studio-libfor Python。執行
train()方法以建立自訂字典、正規表示式或分類模型,並將此自訂模型指派給變數。 例如:custom_block = CNN.train(train_stream, embedding_model.embedding, verbose=2)如果您要儲存自訂字典或正規表示式模型,請將它轉換為 RBRGeneric 區塊。 如果您想要使用 API for Watson Natural Language Processing for Embed來載入並執行模型,則將自訂字典或正規表示式模型轉換為 RBRGeneric 區塊非常有用。 到目前為止, Watson Natural Language Processing for Embed 僅支援以 RBRGeneric 區塊形式執行字典和正規表示式模型。 若要將模型轉換為 RBRGeneric 區塊,請執行下列指令:
# Create the custom regular expression model custom_regex_block = watson_nlp.resources.feature_extractor.RBR.train(module_folder, language='en', regexes=regexes) # Save the model to the local file system custom_regex_model_path = 'some/path' custom_regex_block.save(custom_regex_model_path) # The model was saved in a file "executor.zip" in the provided path, in this case "some/path/executor.zip" model_path = os.path.join(custom_regex_model_path, 'executor.zip') # Re-load the model as a RBRGeneric block custom_block = watson_nlp.blocks.rules.RBRGeneric(watson_nlp.toolkit.rule_utils.RBRExecutor.load(model_path), language='en')使用
ibm-watson-studio-lib將模型作為「資料資產」儲存至專案:wslib.save_data("<model name>", custom_block.as_bytes(), overwrite=True)儲存轉換器模型時,您可以選擇以 CPU 格式儲存模型。 如果您計劃僅在 CPU 環境中使用該模型,則使用此格式將使自訂模型執行更有效率。 若要這麼做,請設定 CPU 格式選項,如下所示:
wslib.save_data('<model name>', data=custom_model.as_bytes(cpu_format=True), overwrite=True)
若要將自訂模型載入至從另一個專案匯入的 Notebook ,請執行下列動作:
確保您在專案 管理 標籤上的 存取控制 頁面上具有存取記號。 只有專案管理者才能建立存取記號。 存取記號可以具有檢視者或編輯者存取權。 只有編輯者可以將記號注入 Notebook。
從 Notebook 動作列中按一下 其他> 插入專案記號 ,然後執行 Cell ,以將專案記號新增至 Notebook。 當您執行插入的隱藏程式碼單元時,會建立
wslib物件,可用於ibm-watson-studio-lib程式庫中的函數。 如需可用ibm-watson-studio-lib函數的詳細資料,請參閱 Usingibm-watson-studio-libfor Python。使用
ibm-watson-studio-lib和watson-nlp來載入模型:custom_block = watson_nlp.load(wslib.load_data("<model name>"))