Dokumentacja składnika skrótu funkcji
Ostrzeżenie
Ten składnik ZOSTAŁ PRZESTARZAŁY , ponieważ jego zależność , projekt NimbusML , nie jest już aktywnie utrzymywana. W związku z tym ten składnik nie będzie otrzymywać przyszłych aktualizacji ani poprawek zabezpieczeń. Planujemy usunąć ten składnik w nadchodzących wersjach. Zaleca się migrowanie użytkowników do alternatywnych rozwiązań w celu zapewnienia ciągłej obsługi i zabezpieczeń.
W tym artykule opisano składnik zawarty w projektancie usługi Azure Machine Learning.
Użyj składnika Skrót funkcji, aby przekształcić strumień tekstu w języku angielskim na zestaw funkcji całkowitych. Następnie można przekazać tę funkcję skrótu do algorytmu uczenia maszynowego w celu wytrenowania modelu analizy tekstu.
Funkcja tworzenia skrótów udostępniona w tym składniku jest oparta na strukturze nimbusml. Aby uzyskać więcej informacji, zobacz NgramHash, klasa.
Co to jest skrót funkcji?
Funkcja skrótów działa przez konwertowanie unikatowych tokenów na liczby całkowite. Działa on na dokładnych ciągach, które podajesz jako dane wejściowe i nie wykonuje żadnej analizy językowej ani przetwarzania wstępnego.
Na przykład weź zestaw prostych zdań, takich jak te, a następnie wynik tonacji. Załóżmy, że chcesz użyć tego tekstu do utworzenia modelu.
Tekst użytkownika | Opinia |
---|---|
Kochałem tę książkę | 3 |
Nienawidziłem tej książki | 1 |
Ta książka była świetna | 3 |
Uwielbiam książki | 2 |
Wewnętrznie składnik tworzenia skrótów funkcji tworzy słownik n-gramów. Na przykład lista bigramów dla tego zestawu danych będzie wyglądać następująco:
Termin (bigrams) | Częstotliwość |
---|---|
Ta książka | 3 |
Kochałem | 1 |
Nienawidziłem | 1 |
Kocham | 1 |
Można kontrolować rozmiar n-gramów za pomocą właściwości N-gramów . W przypadku wybrania bigramów obliczane są również pojedynczegramy. Słownik zawiera również pojedyncze terminy, takie jak następujące:
Termin (unigramy) | Częstotliwość |
---|---|
książka | 3 |
I | 3 |
Książki | 1 |
Został | 1 |
Po skompilowaniu słownika składnik skrótu funkcji konwertuje terminy słownika na wartości skrótu. Następnie oblicza, czy funkcja została użyta w każdym przypadku. Dla każdego wiersza danych tekstowych składnik generuje zestaw kolumn, jedną kolumnę dla każdej funkcji skrótu.
Na przykład po dokonaniu skrótu kolumny funkcji mogą wyglądać mniej więcej tak:
Rating | Funkcja tworzenia skrótów 1 | Funkcja tworzenia skrótów 2 | Funkcja tworzenia skrótów 3 |
---|---|---|---|
100 | 1 | 1 | 0 |
5 | 0 | 0 | 0 |
- Jeśli wartość w kolumnie wynosi 0, wiersz nie zawiera funkcji skrótu.
- Jeśli wartość to 1, wiersz zawierał funkcję.
Skróty funkcji umożliwiają reprezentowanie dokumentów tekstowych o zmiennej długości jako wektorów cech liczbowych o równej długości w celu zmniejszenia wymiarowości. Jeśli próbowano użyć kolumny tekstowej do trenowania w taki sposób, będzie ona traktowana jako kolumna cech kategorii z wieloma odrębnymi wartościami.
Dane wyjściowe liczbowe umożliwiają również używanie typowych metod uczenia maszynowego, w tym klasyfikacji, klastrowania i pobierania informacji. Ponieważ operacje wyszukiwania mogą używać wartości skrótów liczb całkowitych, a nie porównań ciągów, uzyskanie wag funkcji jest również znacznie szybsze.
Konfigurowanie składnika skrótów funkcji
Dodaj składnik Skrót funkcji do potoku w projektancie.
Połącz zestaw danych zawierający tekst, który chcesz przeanalizować.
Napiwek
Ponieważ skróty funkcji nie wykonują operacji leksykalnych, takich jak stemming lub obcinanie, czasami można uzyskać lepsze wyniki przez wstępne przetwarzanie tekstu przed zastosowaniem skrótu funkcji.
Ustaw kolumny target na kolumny tekstowe, które chcesz przekonwertować na funkcje skrótów. Pamiętaj, że:
Kolumny muszą być typem danych ciągu.
Wybranie wielu kolumn tekstowych może mieć znaczący wpływ na wymiarowość cech. Na przykład liczba kolumn dla skrótu 10-bitowego jest liczbą z 1024 dla pojedynczej kolumny do 2048 dla dwóch kolumn.
Użyj skrótu bitowego, aby określić liczbę bitów do użycia podczas tworzenia tabeli skrótów.
Domyślny rozmiar bitu to 10. W przypadku wielu problemów ta wartość jest odpowiednia. Może być potrzebna większa ilość miejsca, aby uniknąć kolizji, w zależności od rozmiaru słownictwa n-gramowego w tekście treningowym.
W przypadku N-gramów wprowadź liczbę, która definiuje maksymalną długość n-gramów do dodania do słownika treningowego. N-gram to sekwencja n słów, traktowana jako unikatowa jednostka.
Jeśli na przykład wprowadzisz wartość 3, zostaną utworzone jednogramy, bigramy i trigramy.
Prześlij potok.
Wyniki
Po zakończeniu przetwarzania składnik generuje przekształcony zestaw danych, w którym oryginalna kolumna tekstowa została przekonwertowana na wiele kolumn. Każda kolumna reprezentuje funkcję w tekście. W zależności od tego, jak znaczący jest słownik, wynikowy zestaw danych może być duży:
Nazwa kolumny 1 | Typ kolumny 2 |
---|---|
TEKST UŻYTKOWNIKA | Oryginalna kolumna danych |
SENTYMENT | Oryginalna kolumna danych |
USERTEXT — funkcja tworzenia skrótów 1 | Kolumna funkcji skrótu |
USERTEXT — funkcja tworzenia skrótów 2 | Kolumna funkcji skrótu |
USERTEXT — funkcja tworzenia skrótów n | Kolumna funkcji skrótu |
USERTEXT — funkcja tworzenia skrótów 1024 | Kolumna funkcji skrótu |
Po utworzeniu przekształconego zestawu danych można go użyć jako danych wejściowych do składnika Train Model (Trenowanie modelu).
Najlepsze rozwiązania
Poniższe najlepsze rozwiązania mogą pomóc w jak największej części składnika tworzenia skrótów funkcji:
Dodaj składnik Preprocess Text przed użyciem skrótu funkcji, aby wstępnie przetworzyć tekst wejściowy.
Dodaj składnik Select Columns (Wybieranie kolumn) po składniku tworzenia skrótów funkcji, aby usunąć kolumny tekstowe z wyjściowego zestawu danych. Nie potrzebujesz kolumn tekstowych po wygenerowaniu funkcji tworzenia skrótów.
Rozważ użycie tych opcji przetwarzania wstępnego tekstu, aby uprościć wyniki i zwiększyć dokładność:
- Dzielenie wyrazów
- Zatrzymywanie usuwania wyrazów
- Normalizacja wielkości liter
- Usuwanie znaków interpunkcyjnych i znaków specjalnych
- Wynikające
Optymalny zestaw metod przetwarzania wstępnego do zastosowania w dowolnym rozwiązaniu zależy od domeny, słownictwa i potrzeb biznesowych. potok z danymi, aby zobaczyć, które metody przetwarzania tekstu są najbardziej skuteczne.
Następne kroki
Zobacz zestaw składników dostępnych dla usługi Azure Machine Learning