Wyodrębnianie funkcji N-Gram z odwołania do składnika tekstowego

W tym artykule opisano składnik w projektancie usługi Azure Machine Learning. Wyodrębnianie funkcji N-Gram ze składnika tekstowego umożliwia wyczyszowywanie danych tekstowych bez struktury.

Konfiguracja funkcji wyodrębniania N-Grama ze składnika Text

Składnik obsługuje następujące scenariusze użycia słownika n-gram:

Tworzenie nowego słownika n-gramowego

  1. Dodaj do potoku pozycję Wyodrębnij funkcje N-Gram ze składnika Text i połącz zestaw danych zawierający tekst, który chcesz przetworzyć.

  2. Użyj kolumny Tekst , aby wybrać kolumnę typu ciągu zawierającą tekst, który chcesz wyodrębnić. Ponieważ wyniki są pełne, można przetwarzać tylko jedną kolumnę jednocześnie.

  3. Ustaw tryb słownictwa na utwórz , aby wskazać, że tworzysz nową listę funkcji n-gram.

  4. Ustaw rozmiar N-gramów , aby wskazać maksymalny rozmiar n-gramów do wyodrębnienia i przechowywania.

    Jeśli na przykład wprowadzisz 3, zostaną utworzone elementy jednogramów, bigramy i trigramy.

  5. Funkcja ważona określa sposób tworzenia wektora cech dokumentu i wyodrębniania słownictwa z dokumentów.

    • Waga binarna: przypisuje wartość obecności binarnej do wyodrębnionych n-gramów. Wartość dla każdego n-grama wynosi 1, gdy istnieje w dokumencie, a w przeciwnym razie 0.

    • Waga TF: przypisuje ocenę częstotliwości terminów (TF) do wyodrębnionych n-gramów. Wartość dla każdego n-grama to jego częstotliwość występowania w dokumencie.

    • Waga IDF: przypisuje wynik odwrotnej częstotliwości dokumentu (IDF) do wyodrębnionych n-gramów. Wartość dla każdego n-grama jest dziennik rozmiaru korpusu podzielonego przez jego częstotliwość występowania w całym korpusie.

      IDF = log of corpus_size / document_frequency

    • Waga tf-IDF: przypisuje wynik częstotliwości/odwrotnej częstotliwości dokumentu (TF/IDF) do wyodrębnionych n-gramów. Wartość dla każdego n-grama jest współczynnik TF pomnożony przez jego wynik IDF.

  6. Ustaw minimalną długość wyrazu na minimalną liczbę liter, które mogą być używane w dowolnym pojedynczym słowie w n-gramie.

  7. Użyj opcji Maksymalna długość słowa , aby ustawić maksymalną liczbę liter, które mogą być używane w dowolnym pojedynczym słowie w n-gramie.

    Domyślnie dozwolone jest maksymalnie 25 znaków na wyraz lub token.

  8. Użyj minimalnej częstotliwości bezwzględnej dokumentu n-gram , aby ustawić minimalne wystąpienia wymagane do dowolnego n-grama, które mają być uwzględnione w słowniku n-gram.

    Na przykład, jeśli używasz wartości domyślnej 5, każdy n-gram musi pojawić się co najmniej pięć razy w korpusie, aby zostać uwzględniony w słowniku n-gram.

  9. Ustaw maksymalny stosunek dokumentu n-gram do maksymalnej liczby wierszy, które zawierają określony n-gram, w stosunku do liczby wierszy w ogólnym korpusie.

    Na przykład współczynnik 1 wskazuje, że nawet jeśli określony n-gram jest obecny w każdym wierszu, n-gram można dodać do słownika n-gram. Zazwyczaj słowo występujące w każdym wierszu będzie traktowane jako wyraz szumu i zostanie usunięte. Aby odfiltrować wyrazy szumu zależne od domeny, spróbuj zmniejszyć ten współczynnik.

    Ważne

    Szybkość występowania określonych wyrazów nie jest jednolita. Różni się on od dokumentu do dokumentu. Jeśli na przykład analizujesz komentarze klientów dotyczące określonego produktu, nazwa produktu może być bardzo wysoka i bliska wyrazu szumu, ale być znaczącym terminem w innych kontekstach.

  10. Wybierz opcję Normalizuj wektory funkcji n-gram, aby znormalizować wektory cech. Jeśli ta opcja jest włączona, każdy wektor funkcji n-gram jest podzielony przez normę L2.

  11. Prześlij potok.

Używanie istniejącego słownika n-gramowego

  1. Dodaj do potoku pozycję Wyodrębnij funkcje N-Gram ze składnika Text i połącz zestaw danych zawierający tekst, który chcesz przetworzyć z portem zestawu danych .

  2. Użyj kolumny Text , aby wybrać kolumnę tekst, która zawiera tekst, który ma zostać wyczysztywy. Domyślnie składnik wybiera wszystkie kolumny typu ciąg. Aby uzyskać najlepsze wyniki, przetwarzaj pojedynczą kolumnę jednocześnie.

  3. Dodaj zapisany zestaw danych zawierający wcześniej wygenerowany słownik n-gram i połącz go ze słownictwem wejściowym . Możesz również połączyć dane wyjściowe słownictwa wynikowego wystąpienia nadrzędnego funkcji wyodrębniania N-Grama ze składnika Text.

  4. W obszarze Tryb słownictwa wybierz opcję ReadOnly update z listy rozwijanej.

    Opcja ReadOnly reprezentuje korpus wejściowy słownictwa wejściowego. Zamiast obliczania częstotliwości terminów z nowego zestawu danych tekstowych (po lewej stronie), wagi n-gramowe ze słownictwa wejściowego są stosowane w następujący sposób.

    Porada

    Użyj tej opcji podczas oceniania klasyfikatora tekstu.

  5. Aby zapoznać się ze wszystkimi innymi opcjami, zobacz opisy właściwości w poprzedniej sekcji.

  6. Prześlij potok.

Potok wnioskowania kompilacji, który używa n-gramów do wdrożenia punktu końcowego w czasie rzeczywistym

Potok trenowania, który zawiera funkcję wyodrębniania N-gramów z tekstu i generowania wyników modelu w celu przewidywania na testowym zestawie danych, jest wbudowany w następującą strukturę:

Przykładowy potok trenowania wyodrębniania N-gramów

Tryb słownictwa funkcji wyodrębniania N-gramów z elementu tekstowego to Tworzenie, a tryb słownictwa składnika, który łączy się ze składnikiem Score Model (Generowanie wyników dla modelu ) jest ReadOnly.

Po pomyślnym przesłaniu powyższego potoku trenowania możesz zarejestrować dane wyjściowe składnika w okręgu jako zestaw danych.

rejestrowanie zestawu danych

Następnie możesz utworzyć potok wnioskowania w czasie rzeczywistym. Po utworzeniu potoku wnioskowania należy ręcznie dostosować potok wnioskowania w następujący sposób:

Potok wnioskowania

Następnie prześlij potok wnioskowania i wdróż punkt końcowy w czasie rzeczywistym.

Wyniki

Funkcja wyodrębniania N-Grama ze składnika Text tworzy dwa typy danych wyjściowych:

  • Zestaw danych wyników: te dane wyjściowe są podsumowaniem analizowanego tekstu połączonego z wyodrębnionym n-gramami. Kolumny, które nie zostały wybrane w opcji Kolumna tekstowa , są przekazywane do danych wyjściowych. Dla każdej kolumny tekstu, którą analizujesz, składnik generuje następujące kolumny:

    • Macierz wystąpień n-gram: składnik generuje kolumnę dla każdego n-grama znalezionego w łącznym korpusie i dodaje wynik w każdej kolumnie, aby wskazać wagę n-grama dla tego wiersza.
  • Słownictwo wyników: słownictwo zawiera rzeczywisty słownik n-gram, wraz z terminem oceny częstotliwości, które są generowane w ramach analizy. Zestaw danych można zapisać do ponownego użycia przy użyciu innego zestawu danych wejściowych lub do późniejszej aktualizacji. Możesz również ponownie używać słownictwa do modelowania i oceniania.

Słownictwo wyników

Słownictwo zawiera słownik n-gram z terminem oceny częstotliwości, które są generowane w ramach analizy. Wyniki systemu plików DF i IDF są generowane niezależnie od innych opcji.

  • IDENTYFIKATOR: identyfikator wygenerowany dla każdego unikatowego n-grama.
  • NGram: n-gram. Spacje lub inne separatory wyrazów są zastępowane znakiem podkreślenia.
  • DF: wynik częstotliwości terminu n-gram w oryginalnym korpusie.
  • IDF: wynik częstotliwości odwrotnej częstotliwości dokumentu dla n-gram w oryginalnym korpusie.

Możesz ręcznie zaktualizować ten zestaw danych, ale mogą wystąpić błędy. Przykład:

  • Jeśli składnik znajdzie zduplikowane wiersze z tym samym kluczem w słownictwie wejściowym, zostanie zgłoszony błąd. Upewnij się, że w słownictwie nie ma dwóch wierszy.
  • Schemat wejściowy zestawów danych słownictwa musi być dokładnie zgodny, w tym nazwy kolumn i typy kolumn.
  • Kolumna ID i kolumna DF muszą być typu liczba całkowita.
  • Kolumna IDF musi być typu zmiennoprzecinkowego.

Uwaga

Nie należy łączyć danych wyjściowych bezpośrednio ze składnikiem Train Model (Trenowanie modelu). Przed wprowadzeniem ich do modelu trenowania należy usunąć wolne kolumny tekstowe. W przeciwnym razie wolne kolumny tekstowe będą traktowane jako funkcje kategorii.

Następne kroki

Zobacz zestaw składników dostępnych dla usługi Azure Machine Learning.