Tworzenie własnych modeli
Niektóre algorytmy w produkcie Watson Natural Language Processing mogą być wyszkolone z wykorzystaniem własnych danych, na przykład można tworzyć niestandardowe modele na podstawie własnych danych dotyczących wyodrębniania jednostek, klasyfikowania danych, wyodrębniania odczuć i wyodrębniania odczuć docelowych.
Począwszy od środowiska wykonawczego 23.1 , można użyć nowego wbudowanego modelu opartego na transformatorze IBM o nazwie Slate, aby utworzyć własne modele. Model Slate został przeszkolony w zakresie bardzo dużego zestawu danych, który został wstępnie przetworzony w celu filtrowania nienawiści, uprzedzeńi profanacji.
Aby utworzyć własną klasyfikację, model ekstrakcji jednostki lub model sentymentu, można precyzyjnie dostroić model Slate na podstawie własnych danych. Aby trenować model w rozsądnym czasie, zaleca się korzystanie ze środowisk opartych na GPU.
- Wykrywanie obiektów ze słownikiem niestandardowym
- Wykrywanie obiektów z wyrażeniami regularnymi
- Wykrywanie obiektów za pomocą niestandardowego modelu transformatora
- Klasyfikowanie tekstu przy użyciu niestandardowego modelu klasyfikacji
- Wyodrębnianie sentymentu za pomocą niestandardowego modelu transformatora
- Wyodrębnianie nastrojów docelowych z niestandardowym modelem transformatora
Obsługa języków dla modeli niestandardowych
Użytkownik może tworzyć modele niestandardowe i używać następujących wstępnie wyszkolonych modeli słownika i klasyfikacji dla wyświetlanych języków. Lista kodów języków i odpowiadających im języków znajduje się w sekcji Kody języków.
| Model użytkownika | Obsługiwane kody języków |
|---|---|
| Modele słowników | 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 (wszystkie języki obsługiwane w części składni znakowania mowy) |
| Regex | 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 (wszystkie języki obsługiwane w części składni znakowania mowy) |
| Klasyfikacja SVM z TFIDF | 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 |
| Klasyfikacja SVM z USE | ar, de, en, es, fr, it, ja, ko, nl, pl, pt, ru, tr, zh_cn, zh_tw |
| Klasyfikacja CNN z GloVe | ar, de, en, es, fr, it, ja, ko, nl, pt, zh_cn |
| BERT, klasyfikacja wielojęzyczna | 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 |
| Model transformatora | 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 |
| Listy stopów | ar, de, en, es, fr, it, ja, ko |
Zapisywanie i ładowanie modeli niestandardowych
Aby użyć modelu niestandardowego w innym notatniku, należy zapisać go jako zasób danych w projekcie. W ten sposób można wyeksportować model w ramach eksportu projektu.
Biblioteka ibm-watson-studio-lib służy do zapisywania i ładowania modeli niestandardowych.
Aby zapisać model niestandardowy w notatniku jako zasób danych do wyeksportowania i użyć w innym projekcie:
Upewnij się, że na stronie Kontrola dostępu znajduje się znacznik dostępu na karcie Zarządzanie w projekcie. Tokeny dostępu mogą tworzyć tylko administratorzy projektu. Znacznik dostępu może mieć uprawnienia dostępu do przeglądarki lub edytora. Tylko edytujący mogą wstrzyknąć znacznik do notatnika.
Dodaj znacznik projektu do notatnika, klikając opcję Więcej > Wstaw znacznik projektu z paska działań notatnika, a następnie uruchom komórkę. Po uruchomieniu wstawionej komórki ukrytej kodu tworzony jest obiekt
wslib, który może być używany dla funkcji w bibliotece produktuibm-waton-studio-lib. Szczegółowe informacje na temat dostępnych funkcji produktuibm-watson-studio-libzawiera sekcja Korzystanie z produktuibm-watson-studio-libdla języka Python.Uruchom metodę
train()w celu utworzenia niestandardowego słownika, wyrażenia regularnego lub modelu klasyfikacji i przypisz ten model niestandardowy do zmiennej. Na przykład:custom_block = CNN.train(train_stream, embedding_model.embedding, verbose=2)Jeśli chcesz zapisać niestandardowy słownik lub model wyrażenia regularnego, przekształć go w blok RBRGeneric. Przekształcenie niestandardowego słownika lub modelu wyrażenia regularnego w blok RBRGeneric jest przydatne, jeśli model ma być ładowany i wykonywany przy użyciu interfejsu API for Watson Natural Language Processing for Embed. Do tej pory Watson Natural Language Processing for Embed obsługuje uruchamianie modeli słowników i wyrażeń regularnych tylko w postaci bloków RBRGeneric. Aby przekształcić model w blok RBRGeneric, należy uruchomić następujące komendy:
# 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')Zapisz model jako zasób danych w projekcie przy użyciu produktu
ibm-watson-studio-lib:wslib.save_data("<model name>", custom_block.as_bytes(), overwrite=True)Podczas zapisywania modeli transformatorów dostępna jest opcja zapisania modelu w formacie CPU. Jeśli model ma być używany tylko w środowiskach procesorów, użycie tego formatu spowoduje, że model niestandardowy będzie przebiegał bardziej wydajnie. Aby to zrobić, należy ustawić opcję formatu procesora w następujący sposób:
wslib.save_data('<model name>', data=custom_model.as_bytes(cpu_format=True), overwrite=True)
Aby załadować model niestandardowy do notatnika, który został zaimportowany z innego projektu:
Upewnij się, że na stronie Kontrola dostępu znajduje się znacznik dostępu na karcie Zarządzanie w projekcie. Tokeny dostępu mogą tworzyć tylko administratorzy projektu. Znacznik dostępu może mieć uprawnienia dostępu do przeglądarki lub edytora. Tylko edytujący mogą wstrzyknąć znacznik do notatnika.
Dodaj znacznik projektu do notatnika, klikając opcję Więcej > Wstaw znacznik projektu z paska działań notatnika, a następnie uruchom komórkę. Po uruchomieniu wstawionej komórki ukrytej kodu tworzony jest obiekt
wslib, który może być używany dla funkcji w bibliotece produktuibm-watson-studio-lib. Szczegółowe informacje na temat dostępnych funkcji produktuibm-watson-studio-libzawiera sekcja Korzystanie z produktuibm-watson-studio-libdla języka Python.Załaduj model za pomocą
ibm-watson-studio-libiwatson-nlp:custom_block = watson_nlp.load(wslib.load_data("<model name>"))
Temat nadrzędny: Watson Natural Language Processing library