Rozpoznawanie jednostek
Rozpoznawanie nazwanych jednostek to funkcja oferowana przez język azure AI. Identyfikuje i kategoryzuje jednostki w tekście bez struktury. Obsługuje ona kilka kategorii jednostek, w tym osób, lokalizacji, zdarzeń, produktów, organizacji itp.
Istnieje kilka sposobów wywoływania interfejsu API rozpoznawania nazwanych jednostek. W tym miejscu używasz azure_ai
rozszerzenia do rozpoznawania jednostek z tekstu w zapytaniach SQL.
Wymagania wstępne
Potrzebujesz serwera elastycznego usługi Azure Database for PostgreSQL z włączonym i skonfigurowanym azure_ai
rozszerzeniem. Należy również autoryzować ją za pomocą usług Azure Cognitive Services, ustawiając klucz i punkt końcowy zasobu języka.
Scenariusze
Rozpoznawanie jednostek jest przydatne w kilku domenach, takich jak:
- Wyszukiwanie i indeksowanie: automatycznie twórz wykresy wiedzy i katalogi tagów z zidentyfikowanymi jednostkami.
- Automatyzacja procesów: automatycznie rozpoznaje produkty i lokalizacje w tekście bez struktury i kieruje je do żądań pomocy technicznej klientów.
- Analiza rynku: Mierzy najczęściej używane jednostki i klastry jednostek z mediów społecznościowych, przeglądy klientów, bilety pomocy technicznej itp., aby określić odpowiednie tematy i przewidywać trendy.
Używanie rozpoznawania nazwanych jednostek w programie SQL z usługami Azure Cognitive Services
Rozszerzenie azure_ai serwera elastycznego usługi Azure Database for PostgreSQL udostępnia funkcje zdefiniowane przez użytkownika (UDF) umożliwiające bezpośredni dostęp do funkcji sztucznej inteligencji z poziomu programu SQL. Dostęp do nazwanego interfejsu API rozpoznawania jednostek jest uzyskiwany za pomocą funkcji udostępnionej przez azure_ai
usługę azure_cognitive.recognize_entities
:
azure_cognitive.recognize_entities(
text text,
language text,
timeout_ms integer DEFAULT 3600000,
throw_on_error boolean DEFAULT true,
disable_service_logs boolean DEFAULT false
)
Wymagane parametry to text
, dane wejściowe i language
, język, w którym jest zapisywany text
. Na przykład en-us
jest to angielski USA i fr
francuski. Zobacz Obsługa języków, aby uzyskać pełną listę dostępnych języków.
Domyślnie rozpoznawanie jednostek jest zatrzymywane, jeśli nie kończy się na 3600 000 ms = 1 godzinę. To opóźnienie można dostosować, zmieniając zmienną timeout_ms
.
Jeśli wystąpi błąd, domyślnym zachowaniem jest zgłoszenie wyjątku, co spowoduje wycofanie transakcji. To zachowanie można wyłączyć, ustawiając wartość throw_on_error
false.
Aby uzyskać pełną dokumentację parametrów, zobacz dokumentację rozszerzenia usług Azure Cognitive Services.
Na przykład wywołanie tego zapytania:
SELECT azure_cognitive.recognize_entities('For more information, see Cognitive Services Compliance and Privacy notes.', 'en-us');
Daje ten wynik:
{"(\"Cognitive Services\",Skill,\"\",0.94)"}
Wskazuje, że nazwa jednostki to "Cognitive Services", jest identyfikowana jako umiejętność z współczynnikiem ufności 0,94.
Możesz użyć kolumn tabeli dla tekstu wejściowego:
SELECT description, azure_cognitive.recognize_entities(description, 'en-us')
FROM listings LIMIT 1;
Które zwraca:
{"(house,Location,\"\",0.77)","(2013.,DateTime,DateRange,1)","(\"rooftop deck\",Location,\"\",0.88)","(\"lounge area\",Location,Structural,0.97)","(tub,Product,\"\",0.52)","
(5,Quantity,Number,0.8)","(bedrooms,Location,\"\",0.92)","(\"gourmet kitchen\",Location,\"\",0.87)","(2-3,Quantity,NumberRange,0.87)","(downtown,Location,Structural,0.8)","(\
"Queen Anne neighborhood\",Location,\"\",0.74)","(house,Location,\"\",0.96)","(barnwood,Product,\"\",0.61)","(steel,Product,\"\",0.73)","(concrete,Product,\"\",0.7)","(living
,Location,Structural,0.53)","(\"gourmet kitchen\",Location,\"\",0.7)","(kitchen,Location,\"\",0.77)","(reading,Skill,\"\",0.54)","(half,Quantity,Number,0.8)","(\"tv room\",Lo
cation,\"\",0.89)","(kitchen,Location,\"\",0.64)","(Fireplace,Product,\"\",0.91)","(sofa,Product,\"\",0.98)","(\"sitting area\",Location,\"\",0.93)","(\"Basement room\",Locat
ion,\"\",0.98)","(kids,PersonType,\"\",0.73)","(room,Location,Structural,0.78)","(patio,Location,Structural,0.75)","(basketball,Product,\"\",0.57)","(bedroom,Location,\"\",0.
8)","(basement,Location,\"\",0.94)","(\"concrete heated floors\",Product,\"\",0.95)","(\"queen sleeper sofa\",Product,\"\",0.86)","(tv,Location,\"\",0.54)","(basement,Locatio
n,\"\",0.92)","(room,Location,Structural,0.9)","(\"a second\",DateTime,Duration,0.85)","(family,PersonType,\"\",0.71)","(kids,PersonType,\"\",0.65)","(\"2nd floor\",Location,
Structural,0.56)","(4,Quantity,Number,0.8)","(bedrooms,Location,\"\",0.66)","(one,Quantity,Number,0.8)","(one,Quantity,Number,0.8)","(bedroom,Location,\"\",0.54)","(\"twin bu
nk beds\",Product,\"\",0.67)"}
Podsumowanie
Rozpoznawanie nazwanych jednostek identyfikuje i kategoryzuje jednostki w tekście wejściowym. Model językowy usług Azure Cognitive Services wykonuje duże przetwarzanie języka naturalnego. azure_ai
Rozszerzenie usługi Azure Database for PostgreSQL zapewnia azure_cognitive.recognize_entities
interfejs API umożliwiający dostęp do rozpoznawania nazwanych jednostek bezpośrednio w zapytaniach SQL.