Dokumentacja składnika tworzenia skrótów funkcji

W tym artykule opisano składnik zawarty w projektancie usługi Azure Machine Learning.

Użyj składnika wyznaczania wartości skrótu funkcji, aby przekształcić strumień tekstu w języku angielskim na zestaw funkcji całkowitych. Następnie można przekazać ten zestaw skrótów 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 podobna do następującej:

Termin (bigrams) Częstotliwość
Ta książka 3
Kochałem 1
Nienawidziłem 1
Kocham 1

Rozmiar n-gramów można kontrolować za pomocą właściwości N-gramów . W przypadku wybrania bigramów obliczane są również unigramy. Słownik będzie również zawierać 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 zwraca 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:

Klasyfikacja Funkcja tworzenia skrótów 1 Funkcja tworzenia skrótów 2 Funkcja tworzenia skrótów 3
4 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ę.

Funkcja skrótu umożliwia 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 całkowitych, a nie porównań ciągów, uzyskanie wag funkcji jest również znacznie szybsze.

Konfigurowanie składnika tworzenia skrótów funkcji

  1. Dodaj składnik tworzenia skrótów funkcji do potoku w projektancie.

  2. Połącz zestaw danych zawierający tekst, który chcesz przeanalizować.

    Porada

    Ponieważ skróty funkcji nie wykonują operacji leksykalnych, takich jak stemming lub obcinanie, czasami można uzyskać lepsze wyniki dzięki wstępnemu przetwarzaniu tekstu przed zastosowaniem tworzenia skrótów funkcji.

  3. 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.

    • Wybór wielu kolumn tekstowych może mieć znaczący wpływ na wymiarowość cech. Na przykład liczba kolumn skrótu 10-bitowego jest liczbą z 1024 dla pojedynczej kolumny do 2048 w przypadku dwóch kolumn.

  4. Użyj skrótu bitsize , 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ć konieczne więcej miejsca, aby uniknąć kolizji, w zależności od rozmiaru słownictwa n-gramowego w tekście treningowym.

  5. W polu N-gramy 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 3, zostaną utworzone elementy jednogramów, bigramy i trigramy.

  6. 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 skrótu 2 Kolumna funkcji skrótu
USERTEXT — funkcja skrótu n Kolumna funkcji skrótu
USERTEXT — funkcja skrótu 1024 Kolumna funkcji skrótu

Po utworzeniu przekształconego zestawu danych można go użyć jako danych wejściowych składnika Train Model ( Trenowanie modelu).

Najlepsze rozwiązania

Poniższe najlepsze rozwiązania mogą pomóc w wyrejeowaniu z składnika skrótów funkcji:

  • Dodaj składnik Tekst przed użyciem skrótu funkcji, aby wstępnie przetworzyć tekst wejściowy.

  • Dodaj składnik Select Columns po składniku skrótu 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 poprawić dokładność:

    • Niezgodność wyrazów
    • Zatrzymywanie usuwania wyrazów
    • Normalizacja przypadku
    • 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