Udostępnij za pośrednictwem


Rozpoznawanie jednostek nazwanych

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Rozpoznaje nazwane jednostki w kolumnie tekstowej

Kategoria: analiza tekstu

Uwaga

Dotyczy: tylko Machine Learning Studio (klasyczne)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Omówienie modułu

W tym artykule opisano, jak używać modułu rozpoznawanie jednostek nazwanych w programie Machine Learning Studio (wersja klasyczna) do identyfikowania nazw rzeczy, takich jak osoby, firmy lub lokalizacje w kolumnie tekstu.

Rozpoznawanie jednostek nazwanych jest ważnym obszarem badań nad uczeniem maszynowym i przetwarzaniem języka naturalnego(NLP), ponieważ może służyć do odpowiadania na wiele rzeczywistych pytań, takich jak:

  • Czy tweet zawiera imię i nazwisko osoby? Czy tweet zawiera również bieżącą lokalizację?

  • Które firmy zostały wymienione w artykule z wiadomościami?

  • Czy określone produkty zostały wymienione w skargach lub recenzjach?

Aby uzyskać listę nazwanych jednostek, należy podać zestaw danych jako dane wejściowe zawierające kolumnę tekstową. Moduł rozpoznawanie jednostek nazwanych następnie zidentyfikuje trzy typy jednostek: osoby (PER), lokalizacje (LOC) i organizacje (ORG).

Moduł oznacza również sekwencje według miejsca, w którym te wyrazy zostały znalezione, dzięki czemu można używać terminów w dalszej analizie.

Na przykład w poniższej tabeli przedstawiono proste zdanie wejściowe oraz terminy i wartości wygenerowane przez moduł:

Tekst wejściowy Dane wyjściowe modułu
"Boston to doskonałe miejsce do życia". 0,Boston,0,6,LOC

Dane wyjściowe można interpretować w następujący sposób:

  • Pierwszy "0" oznacza, że ten ciąg jest pierwszym artykułem wejściowym modułu.

    Ponieważ jeden artykuł może mieć wiele jednostek, w tym numer wiersza artykułu w danych wyjściowych, jest ważny w przypadku mapowania funkcji na artykuły.

  • Boston to rozpoznana jednostka.

  • Następujący 0 ciąg oznacza Boston , że jednostka rozpoczyna Boston się od pierwszej litery ciągu wejściowego. Indeksy są od zera.

  • 6 oznacza, że długość jednostki Boston wynosi 6.

  • LOC oznacza, że jednostka Boston jest miejscem lub lokalizacją. Inne obsługiwane nazwane typy jednostek to osoba (PER) i organizacja (ORG).

Jak skonfigurować rozpoznawanie jednostek nazwanych

  1. Dodaj moduł rozpoznawanie jednostek nazwanych do eksperymentu w programie Studio (wersja klasyczna). Moduł można znaleźć w kategorii analiza tekstu kategorii.

  2. W danych wejściowych o nazwie Story połącz zestaw danych zawierający tekst do przeanalizowania.

    Element "story" powinien zawierać tekst, z którego mają zostać wyodrębnione nazwane jednostki.

    Kolumna używana jako story powinna zawierać wiele wierszy, gdzie każdy wiersz składa się z ciągu. Ciąg może być krótki, taki jak zdanie, lub długi, jak artykuł z wiadomościami.

    Możesz połączyć dowolny zestaw danych, który zawiera kolumnę tekstową. Jeśli jednak wejściowy zestaw danych zawiera wiele kolumn, użyj opcji Wybierz kolumny w zestawie danych, aby wybrać tylko kolumnę zawierającą tekst, który chcesz przeanalizować

    Uwaga

    Drugie dane wejściowe, Custom Resources (Zip), nie są obecnie obsługiwane.

    W przyszłości możesz tutaj dodać pliki zasobów niestandardowych, aby identyfikować różne typy jednostek.

  3. Uruchom eksperyment.

Wyniki

Moduł wyprowadza zestaw danych zawierający wiersz dla każdej rozpoznanej jednostki wraz z przesunięciem.

Ponieważ każdy wiersz tekstu wejściowego może zawierać wiele nazwanych jednostek, numer identyfikatora artykułu jest automatycznie generowany i uwzględniany w danych wyjściowych, aby zidentyfikować wiersz wejściowy, który zawierał nazwaną jednostkę. Identyfikator artykułu jest oparty na naturalnej kolejności wierszy w wejściowym zestawie danych.

Możesz przekonwertować ten wyjściowy zestaw danych na plik CSV do pobrania lub zapisać go jako zestaw danych do ponownego użycia.

Używanie rozpoznawania nazwanych jednostek w usłudze internetowej

Jeśli publikujesz usługę internetową z programu Machine Learning Studio (wersja klasyczna) i chcesz korzystać z usługi internetowej przy użyciu języka C#, Python lub innego języka, takiego jak R, musisz najpierw zaimplementować kod usługi podany na stronie pomocy usługi internetowej.

Jeśli usługa internetowa udostępnia wiele wierszy danych wyjściowych, adres URL usługi internetowej, która jest dodawania do kodu języka C#, Python lub R scoremultirowscore, powinien mieć sufiks zamiast .

Załóżmy na przykład, że używasz następującego adresu URL dla usługi internetowej: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score

Aby włączyć dane wyjściowe z wieloma wierszami, zmień adres URL na https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow

Aby opublikować tę usługę internetową, należy dodać dodatkowy moduł Execute R Script (Wykonywanie skryptu R) po module rozpoznawanie jednostek nazwanych , aby przekształcić dane wyjściowe z wieloma wierszami w pojedynczy rozdzielany średnikami (;)). Przyczyną konsolidacji wielu wierszy danych wyjściowych w jednym wierszu jest zwrócenie wielu jednostek na wiersz wejściowy.

Załóżmy na przykład, że masz zdanie wejściowe z dwoma nazwami jednostek. Zamiast zwracać dwa wiersze dla każdego wiersza danych wejściowych, można zwrócić pojedynczy wiersz z wieloma jednostkami oddzielony średnikami, jak pokazano poniżej:

Tekst wejściowy Dane wyjściowe usługi internetowej
Firma Microsoft ma dwie lokalizacje biurowe w Bostonie. 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,;

W poniższym przykładzie kodu pokazano, jak to zrobić:

# Map 1-based optional input ports to variables  
d <- maml.mapInputPort(1) # class: data.frame  
y=length(d) ##size of cols  
x=dim(d)[1] ##size of rows  
longd=matrix("NA",nrow=1,ncol=x*(y+1))  
for (i in 1:x)  
  {   
     for (j in 1:y)  
     {  
       longd[1,j+(i-1)*(y+1)]=toString(d[i,j])   
     }  
     longd[1,j+(i-1)*(y+1)+1]=c(";")  
  }   

final_output=as.data.frame(longd)  
# Select data.frame to be sent to the output Dataset port  
maml.mapOutputPort("final_output");  

Przykłady

Ten blog zawiera rozszerzone wyjaśnienie sposobu działania rozpoznawania nazwanych jednostek, jego tła i możliwych aplikacji:

Ponadto zapoznaj się z następującymi przykładami eksperymentów w Azure AI Gallery, aby uzyskać pokazy użycia metod klasyfikacji tekstu często używanych w uczeniu maszynowym:

Uwagi techniczne

Obsługa języków

Obecnie moduł rozpoznawanie jednostek nazwanych obsługuje tylko tekst w języku angielskim. Może wykrywać nazwy organizacji, nazwiska i lokalizacje w zdaniach w języku angielskim. Jeśli używasz modułu w innych językach, możesz nie otrzymać błędu, ale wyniki nie są tak dobre jak w przypadku tekstu w języku angielskim.

W przyszłości obsługę dodatkowych języków można włączyć, integrując składniki wielojęzyczne dostępne w zestawie narzędzi języka Office naturalnego.

Oczekiwane dane wejściowe

Nazwa Typ Opis
Historia Tabela danych Wejściowy zestaw danych (DataTable) zawierający kolumnę tekstową, którą chcesz przeanalizować.
CustomResources Zip (Opcjonalnie) Plik w formacie ZIP, który zawiera dodatkowe zasoby niestandardowe.

Ta opcja nie jest obecnie dostępna i jest dostępna tylko w celu zapewnienia zgodności do przodu.

Dane wyjściowe

Nazwa Typ Opis
Jednostki Tabela danych Lista przesunięć znaków i jednostek

Zobacz też

Analiza tekstu
Tworzenie skrótów funkcji
Ocena modelu Vowpal Wabbit 7-4
Trenowanie modelu Vowpal Wabbit 7-4