Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležitý
Tato funkce je ve verzi Preview.
Azure AI Language je služba Azure AI , která umožňuje provádět dolování textu a analýzu textu pomocí funkcí NLP (Natural Language Processing).
V tomto článku se dozvíte, jak pomocí služeb Azure AI Language přímo v Microsoft Fabric analyzovat text. Na konci tohoto článku můžete:
- Rozpoznání popisků mínění na úrovni věty nebo dokumentu
- Identifikace jazyka pro daný textový vstup
- Extrakce klíčových frází z textu
- Identifikace různých entit v textu a jejich kategorizace do předdefinovaných tříd nebo typů
Požadavky
Získejte předplatné Microsoft Fabric. Nebo si zaregistrujte bezplatnou zkušební verzi Microsoft Fabricu.
Přihlaste se k Microsoft Fabric.
Pomocí přepínače zážitků v levém dolním rohu vaší domovské stránky přepněte na Fabric.
- Vytvořte nový poznámkový blok.
- Připojte poznámkový blok k jezeru. Na levé straně poznámkového bloku vyberte Přidat a přidejte existující jezero nebo vytvořte nový.
Poznámka:
Tento článek používá předdefinované služby AI microsoft Fabric, které zpracovávají ověřování automaticky. Nepotřebujete získat samostatný klíč služeb Azure AI – ověřování se spravuje prostřednictvím pracovního prostoru Prostředky infrastruktury. Další informace najdete v tématu Předem připravené modely AI v Prostředcích infrastruktury (Preview).
Ukázky kódu v tomto článku používají knihovny, které jsou předinstalované v poznámkových blocích Microsoft Fabric:
- SynapseML: Předinstalované v poznámkových blocích Fabric pro možnosti strojového učení
- PySpark: Ve výchozím nastavení je k dispozici ve výpočetních prostředcích Fabric Spark
-
Standardní knihovny Pythonu: jsou
jsonsoučástí standardní knihovny Pythonu.uuid
Poznámka:
Poznámkové bloky Microsoft Fabric jsou předinstalované s mnoha běžnými knihovnami. Knihovna SynapseML, která poskytuje funkce integrace MLflow a analýzy textu, je automaticky dostupná v prostředí Sparku.
Volba přístupu
Tento článek obsahuje dva způsoby použití služeb Azure AI Language v prostředcích infrastruktury:
- Přístup k rozhraní REST API: Přímé volání HTTP do služby (doporučeno pro začátečníky)
- Přístup SynapseML: Použití datových rámců Sparku pro rozsáhlejší zpracování
Tip
Noví uživatelé by měli začít s přístupem k rozhraní REST API , protože je jednodušší porozumět a ladit. Přístup SynapseML je lepší pro zpracování velkých datových sad pomocí Sparku.
Nastavení ověřování a koncových bodů
Zkopírujte a vložte tento kód do první buňky poznámkového bloku Fabric a nastavte připojení ke službám Azure AI Language:
Poznámka:
Tento kód používá integrované ověřování Fabric. Funkce get_fabric_env_config automaticky načte přihlašovací údaje vašeho pracovního prostoru a připojí se k předem připraveným službám AI. Nevyžaduje se žádný klíč rozhraní API.
# Get workload endpoints and access token
from synapse.ml.fabric.service_discovery import get_fabric_env_config
from synapse.ml.fabric.token_utils import TokenUtils
import json
import requests
fabric_env_config = get_fabric_env_config().fabric_env_config
auth_header = TokenUtils().get_openai_auth_header()
# Make a RESful request to AI service
prebuilt_AI_base_host = fabric_env_config.ml_workload_endpoint + "cognitive/textanalytics/"
print("Workload endpoint for AI service: \n" + prebuilt_AI_base_host)
service_url = prebuilt_AI_base_host + "language/:analyze-text?api-version=2022-05-01"
print("Service URL: \n" + service_url)
auth_headers = {
"Authorization" : auth_header
}
def print_response(response):
if response.status_code == 200:
print(json.dumps(response.json(), indent=2))
else:
print(f"Error: {response.status_code}, {response.content}")
Analýza mínění
Funkce Analýza mínění poskytuje způsob, jak detekovat popisky mínění (například negativní, neutrální a pozitivní) a skóre spolehlivosti na úrovni věty a dokumentu. Tato funkce také vrací skóre spolehlivosti mezi 0 a 1 pro každý dokument a věty v něm pro pozitivní, neutrální a negativní mínění. Seznam povolených jazyků najdete v podpoře jazyka pro Sentiment Analysis and Opinion Mining.
Analýza mínění v textu
Zkopírujte tento kód do nové buňky v poznámkovém bloku a analyzujte mínění ukázkového textu:
payload = {
"kind": "SentimentAnalysis",
"parameters": {
"modelVersion": "latest",
"opinionMining": "True"
},
"analysisInput":{
"documents":[
{
"id":"1",
"language":"en",
"text": "The food and service were unacceptable. The concierge was nice, however."
}
]
}
}
response = requests.post(service_url, json=payload, headers=auth_headers)
# Output all information of the request process
print_response(response)
Tip
Text v poli "text" můžete nahradit vlastním obsahem, který chcete analyzovat. Služba vrátí skóre mínění a identifikuje, které části textu jsou kladné, záporné nebo neutrální.
Očekávaný výstup
Když úspěšně spustíte následující kód, měl by se zobrazit výstup podobný tomuto:
{
"kind": "SentimentAnalysisResults",
"results": {
"documents": [
{
"id": "1",
"sentiment": "negative",
"confidenceScores": {
"positive": 0.0,
"neutral": 0.0,
"negative": 1.0
},
"sentences": [
{
"sentiment": "negative",
"confidenceScores": {
"positive": 0.0,
"neutral": 0.0,
"negative": 1.0
},
"offset": 0,
"length": 40,
"text": "The food and service were unacceptable. ",
"targets": [
{
"sentiment": "negative",
"confidenceScores": {
"positive": 0.01,
"negative": 0.99
},
"offset": 4,
"length": 4,
"text": "food",
"relations": [
{
"relationType": "assessment",
"ref": "#/documents/0/sentences/0/assessments/0"
}
]
},
{
"sentiment": "negative",
"confidenceScores": {
"positive": 0.01,
"negative": 0.99
},
"offset": 13,
"length": 7,
"text": "service",
"relations": [
{
"relationType": "assessment",
"ref": "#/documents/0/sentences/0/assessments/0"
}
]
}
],
"assessments": [
{
"sentiment": "negative",
"confidenceScores": {
"positive": 0.01,
"negative": 0.99
},
"offset": 26,
"length": 12,
"text": "unacceptable",
"isNegated": false
}
]
},
{
"sentiment": "neutral",
"confidenceScores": {
"positive": 0.22,
"neutral": 0.75,
"negative": 0.04
},
"offset": 40,
"length": 32,
"text": "The concierge was nice, however.",
"targets": [
{
"sentiment": "positive",
"confidenceScores": {
"positive": 1.0,
"negative": 0.0
},
"offset": 44,
"length": 9,
"text": "concierge",
"relations": [
{
"relationType": "assessment",
"ref": "#/documents/0/sentences/1/assessments/0"
}
]
}
],
"assessments": [
{
"sentiment": "positive",
"confidenceScores": {
"positive": 1.0,
"negative": 0.0
},
"offset": 58,
"length": 4,
"text": "nice",
"isNegated": false
}
]
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2025-01-01"
}
}
Detektor jazyka
Detektor jazyka vyhodnocuje textový vstup pro každý dokument a vrací identifikátory jazyka se skóre, které označuje sílu analýzy. Tato funkce je užitečná pro úložiště obsahu, která shromažďují libovolný text, kde jazyk není znám. Seznam povolených jazyků najdete v podporovaných jazycích pro rozpoznávání jazyka.
payload = {
"kind": "LanguageDetection",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id":"1",
"text": "This is a document written in English."
}
]
}
}
response = requests.post(service_url, json=payload, headers=auth_headers)
# Output all information of the request process
print_response(response)
Výstup
{
"kind": "LanguageDetectionResults",
"results": {
"documents": [
{
"id": "1",
"warnings": [],
"detectedLanguage": {
"name": "English",
"iso6391Name": "en",
"confidenceScore": 0.95
}
}
],
"errors": [],
"modelVersion": "2024-11-01"
}
}
Extrakce klíčových frází
Extrakce klíčových frází vyhodnocuje nestrukturovaný text a vrátí seznam klíčových frází. Tato funkce je užitečná, pokud potřebujete rychle identifikovat hlavní body v kolekci dokumentů. Seznam povolených jazyků najdete v podporovaných jazycích pro extrakci klíčových frází.
payload = {
"kind": "KeyPhraseExtraction",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id":"1",
"language":"en",
"text": "Dr. Smith has a very modern medical office, and she has great staff."
}
]
}
}
response = requests.post(service_url, json=payload, headers=auth_headers)
# Output all information of the request process
print_response(response)
Výstup
{
"kind": "KeyPhraseExtractionResults",
"results": {
"documents": [
{
"id": "1",
"keyPhrases": [
"modern medical office",
"Dr. Smith",
"great staff"
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}
}
Rozpoznávání pojmenovaných entit (NER)
Pojmenované rozpoznávání entit (NER) je schopnost identifikovat různé entity v textu a kategorizovat je do předdefinovaných tříd nebo typů, jako jsou například osoba, umístění, událost, produkt a organizace. Podívejte se na jazykovou podporu NER pro seznam povolených jazyků.
payload = {
"kind": "EntityRecognition",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id":"1",
"language": "en",
"text": "I had a wonderful trip to Seattle last week."
}
]
}
}
response = requests.post(service_url, json=payload, headers=auth_headers)
# Output all information of the request process
print_response(response)
Výstup
{
"kind": "EntityRecognitionResults",
"results": {
"documents": [
{
"id": "1",
"entities": [
{
"text": "trip",
"category": "Event",
"offset": 18,
"length": 4,
"confidenceScore": 0.66
},
{
"text": "Seattle",
"category": "Location",
"subcategory": "City",
"offset": 26,
"length": 7,
"confidenceScore": 1.0
},
{
"text": "last week",
"category": "DateTime",
"subcategory": "DateRange",
"offset": 34,
"length": 9,
"confidenceScore": 1.0
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2025-02-01"
}
}
Propojení entit
V této části nejsou žádné kroky pro rozhraní REST API.
Související obsah
- Použijte předpřipravené Text Analytics v Fabric se SynapseML
- Použití předem připraveného nástroje Azure AI Translator v rámci Fabric s využitím rozhraní REST API
- Použití předem vytvořené služby Azure AI Translator na platformě Fabric se SynapseML
- Použití předpřipraveného Azure OpenAI ve Fabric s využitím rozhraní REST API
- Použití předpřipraveného Azure OpenAI ve Fabric s Python SDK
- Využití předem připraveného Azure OpenAI v platformě Fabric se SynapseML
- Úložiště GitHub SynapseML – zdrojový kód a dokumentace pro SynapseML
- Dokumentace k jazyku Azure AI – Kompletní referenční informace ke službě Azure AI Language