TextAnalyticsClient Klass
Språktjänst-API:et är en uppsättning kunskaper för bearbetning av naturligt språk (NLP) som skapats med Microsofts förstklassiga maskininlärningsalgoritmer. API:et kan användas för att analysera ostrukturerad text för uppgifter som attitydanalys, extrahering av nyckelfraser, entitetsigenkänning och språkidentifiering med mera.
Mer dokumentation finns i https://docs.microsoft.com/azure/cognitive-services/language-service/overview
- Arv
-
azure.ai.textanalytics._base_client.TextAnalyticsClientBaseTextAnalyticsClient
Konstruktor
TextAnalyticsClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, *, default_language: str | None = None, default_country_hint: str | None = None, api_version: str | TextAnalyticsApiVersion | None = None, **kwargs: Any)
Parametrar
- endpoint
- str
Cognitive Services eller språkresursslutpunkter som stöds (protokoll och värdnamn, till exempel: "https://.cognitiveservices.azure.com").
- credential
- AzureKeyCredential eller TokenCredential
Autentiseringsuppgifter som krävs för att klienten ska kunna ansluta till Azure. Detta kan vara en instans av AzureKeyCredential om du använder en Cognitive Services/Language API-nyckel eller en tokenautentiseringsuppgift från identity.
- default_country_hint
- str
Anger standard country_hint som ska användas för alla åtgärder. Standardvärdet är "US". Om du inte vill använda ett landstips skickar du strängen "none".
- default_language
- str
Anger standardspråket som ska användas för alla åtgärder. Standardvärdet är "en".
- api_version
- str eller TextAnalyticsApiVersion
API-versionen av tjänsten som ska användas för begäranden. Standardinställningen är den senaste tjänstversionen. Om du anger en äldre version kan funktionskompatibiliteten minska.
Exempel
Skapa TextAnalyticsClient med slutpunkt och API-nyckel.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint, AzureKeyCredential(key))
Skapa TextAnalyticsClient med slutpunkt och tokenautentiseringsuppgifter från Azure Active Directory.
import os
from azure.ai.textanalytics import TextAnalyticsClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
credential = DefaultAzureCredential()
text_analytics_client = TextAnalyticsClient(endpoint, credential=credential)
Metoder
analyze_sentiment |
Analysera sentiment för en batch med dokument. Aktivera åsiktsutvinning med show_opinion_mining. Returnerar en attitydförutsägelse samt sentimentpoäng för varje sentimentklass (positiv, negativ och neutral) för dokumentet och varje mening i det. Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i . Ny i version v3.1: Nyckelordsargumenten show_opinion_mining, disable_service_logs och string_index_type . |
begin_abstract_summary |
Starta en tidskrävande abstrakt sammanfattningsåtgärd. En konceptuell diskussion om abstrakt sammanfattning finns i tjänstdokumentationen: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview Ny i version 2023-04-01: Den begin_abstract_summary-klientmetoden . |
begin_analyze_actions |
Starta en tidskrävande åtgärd för att utföra en mängd olika textanalysåtgärder i en batch med dokument. Vi rekommenderar att du använder den här funktionen om du vill analysera större dokument och/eller kombinera flera textanalysåtgärder i ett anrop. Annars rekommenderar vi att du använder åtgärdsspecifika slutpunkter, till exempel analyze_sentiment. Anteckning Se tjänstdokumentationen för regionalt stöd för anpassade åtgärdsfunktioner: Nytt i version v3.1: Den begin_analyze_actions-klientmetoden . Ny i version 2022-05-01: Indataalternativen RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction och AnalyzeHealthcareEntitiesAction och motsvarande RecognizeCustomEntitiesResult, ClassifyDocumentResult och AnalyzeHealthcareEntitiesResult resultatobjekt Ny i version 2023-04-01: Indataalternativen ExtractiveSummaryAction och AbstractiveSummaryAction och motsvarande ExtractiveSummaryResult - och AbstractiveSummaryResult-resultatobjekt . |
begin_analyze_healthcare_entities |
Analysera sjukvårdsentiteter och identifiera relationer mellan dessa entiteter i en batch med dokument. Entiteter är associerade med referenser som finns i befintliga kunskapsbaser, till exempel UMLS, CHV, MSH osv. Vi extraherar också relationerna mellan entiteter, till exempel i "Ämnet tog 100 mg ibuprofen", skulle vi extrahera förhållandet mellan doseringen "100 mg" och "ibuprofen" medicinering. Ny i version v3.1: Den begin_analyze_healthcare_entities-klientmetoden . Nytt i version 2022-05-01: Det display_name nyckelordsargumentet. |
begin_extract_summary |
Starta en tidskrävande sammanfattningsåtgärd för extrahering. En konceptuell diskussion om extraheringssammanfattning finns i tjänstdokumentationen: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview Ny i version 2023-04-01: den begin_extract_summary-klientmetoden . |
begin_multi_label_classify |
Starta en långvarig anpassad klassificeringsåtgärd med flera etiketter. Information om regionalt stöd för anpassade funktioner och hur du tränar en modell för att klassificera dina dokument finns i https://aka.ms/azsdk/textanalytics/customfunctionalities Ny i version 2022-05-01: den begin_multi_label_classify-klientmetoden . |
begin_recognize_custom_entities |
Starta en långvarig anpassad, namngiven entitetsigenkänningsåtgärd. Information om regionalt stöd för anpassade funktioner och hur du tränar en modell att identifiera anpassade entiteter finns i https://aka.ms/azsdk/textanalytics/customentityrecognition Ny i version 2022-05-01: den begin_recognize_custom_entities-klientmetoden . |
begin_single_label_classify |
Starta en tidskrävande anpassad klassificeringsåtgärd för en enskild etikett. Information om regionalt stöd för anpassade funktioner och hur du tränar en modell för att klassificera dina dokument finns i https://aka.ms/azsdk/textanalytics/customfunctionalities Nytt i version 2022-05-01: begin_single_label_classify-klientmetoden. |
close |
Stäng sockets som öppnats av klienten. Det är inte nödvändigt att anropa den här metoden när klienten används som kontexthanterare. |
detect_language |
Identifiera språk för en batch med dokument. Returnerar det identifierade språket och ett numeriskt värde mellan noll och ett. Poäng nära ett indikerar 100 % säkerhet om att det identifierade språket är sant. Se https://aka.ms/talangs för listan över aktiverade språk. Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i . Nytt i version v3.1: Nyckelordsargumentet disable_service_logs . |
extract_key_phrases |
Extrahera nyckelfraser från en batch med dokument. Returnerar en lista med strängar som anger nyckelfraserna i indatatexten. För indatatexten "Maten var utsökt och personalen var underbar" returnerar API:et de viktigaste diskussionspunkterna: "mat" och "underbar personal" Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i . Nytt i version v3.1: Nyckelordsargumentet disable_service_logs . |
recognize_entities |
Identifiera entiteter för en batch med dokument. Identifierar och kategoriserar entiteter i din text som personer, platser, organisationer, datum/tid, kvantiteter, procenttal, valutor med mera. En lista över entitetstyper som stöds finns i: https://aka.ms/taner Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i . Nytt i version v3.1: Nyckelordsargumenten disable_service_logs och string_index_type . |
recognize_linked_entities |
Identifiera länkade entiteter från en välkänd kunskapsbas för en batch med dokument. Identifierar och särskiljer identiteten för varje entitet som finns i text (till exempel att avgöra om en förekomst av ordet Mars refererar till planeten eller till den romerska krigsguden). Identifierade entiteter är associerade med URL:er till en välkänd kunskapsbas, till exempel Wikipedia. Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i . Nytt i version v3.1: Nyckelordsargumenten disable_service_logs och string_index_type . |
recognize_pii_entities |
Identifiera entiteter som innehåller personlig information för en batch med dokument. Returnerar en lista över personliga informationsentiteter ("SSN", "bankkonto" osv.) i dokumentet. En lista över entitetstyper som stöds finns i https://aka.ms/azsdk/language/pii Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i . Ny i version v3.1: Den recognize_pii_entities-klientmetoden . |
analyze_sentiment
Analysera sentiment för en batch med dokument. Aktivera åsiktsutvinning med show_opinion_mining.
Returnerar en attitydförutsägelse samt sentimentpoäng för varje sentimentklass (positiv, negativ och neutral) för dokumentet och varje mening i det.
Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i .
Ny i version v3.1: Nyckelordsargumenten show_opinion_mining, disable_service_logs och string_index_type .
analyze_sentiment(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_opinion_mining: bool | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[AnalyzeSentimentResult | DocumentError]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- show_opinion_mining
- bool
Om du vill bryta åsikterna i en mening och utföra mer detaljerad analys kring aspekter av en produkt eller tjänst (även kallat aspektbaserad attitydanalys). Om värdet är true har de returnerade SentenceSentiment objekten egenskapen mined_opinions som innehåller resultatet av den här analysen. Endast tillgängligt för API-version v3.1 och senare.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- model_version
- str
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå i statistikfältet för svaret på dokumentnivå.
- string_index_type
- str
Anger den metod som används för att tolka strängförskjutningar. UnicodeCodePoint, Python-kodningen, är standardinställningen. Om du vill åsidosätta Python-standardvärdet kan du även skicka In Utf16CodeUnit eller TextElement_v8. Mer information finns i https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
Returer
Den kombinerade listan över AnalyzeSentimentResult och DocumentError i den ordning de ursprungliga dokumenten skickades.
Returtyp
Undantag
Exempel
Analysera sentiment i en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""I had the best day of my life. I decided to go sky-diving and it made me appreciate my whole life so much more.
I developed a deep-connection with my instructor as well, and I feel as if I've made a life-long friend in her.""",
"""This was a waste of my time. All of the views on this drop are extremely boring, all I saw was grass. 0/10 would
not recommend to any divers, even first timers.""",
"""This was pretty good! The sights were ok, and I had fun with my instructors! Can't complain too much about my experience""",
"""I only have one word for my experience: WOW!!! I can't believe I have had such a wonderful skydiving company right
in my backyard this whole time! I will definitely be a repeat customer, and I want to take my grandmother skydiving too,
I know she'll love it!"""
]
result = text_analytics_client.analyze_sentiment(documents, show_opinion_mining=True)
docs = [doc for doc in result if not doc.is_error]
print("Let's visualize the sentiment of each of these documents")
for idx, doc in enumerate(docs):
print(f"Document text: {documents[idx]}")
print(f"Overall sentiment: {doc.sentiment}")
begin_abstract_summary
Starta en tidskrävande abstrakt sammanfattningsåtgärd.
En konceptuell diskussion om abstrakt sammanfattning finns i tjänstdokumentationen: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview
Ny i version 2023-04-01: Den begin_abstract_summary-klientmetoden .
begin_abstract_summary(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, model_version: str | None = None, string_index_type: str | None = None, sentence_count: int | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[AbstractiveSummaryResult | DocumentError]]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå.
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Väntetid mellan två omröstningar för LRO-åtgärder om det inte finns någon Retry-After sidhuvud. Standardvärdet är 5 sekunder.
- continuation_token
- str
Anropa continuation_token() på pollerobjektet för att spara det långvariga åtgärdstillståndet (LRO) i en täckande token. Skicka värdet som continuation_token nyckelordsargument för att starta om LRO från ett sparat tillstånd.
- display_name
- str
Ett valfritt visningsnamn som ska anges för den begärda analysen.
Returer
En instans av en TextAnalysisLROPoller. Anropa result() på det här objektet för att returnera en heterogen växlingsbar av AbstractiveSummaryResult och DocumentError.
Returtyp
Undantag
Exempel
Utför abstrakt sammanfattning på en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
document = [
"At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, "
"human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI Cognitive "
"Services, I have been working with a team of amazing scientists and engineers to turn this quest into a "
"reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of "
"human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the "
"intersection of all three, there's magic-what we call XYZ-code as illustrated in Figure 1-a joint "
"representation to create more powerful AI that can speak, hear, see, and understand humans better. "
"We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, "
"spanning modalities and languages. The goal is to have pretrained models that can jointly learn "
"representations to support a broad range of downstream AI tasks, much in the way humans do today. "
"Over the past five years, we have achieved human performance on benchmarks in conversational speech "
"recognition, machine translation, conversational question answering, machine reading comprehension, "
"and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious "
"aspiration to produce a leap in AI capabilities, achieving multisensory and multilingual learning that "
"is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational "
"component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
]
poller = text_analytics_client.begin_abstract_summary(document)
abstract_summary_results = poller.result()
for result in abstract_summary_results:
if result.kind == "AbstractiveSummarization":
print("Summaries abstracted:")
[print(f"{summary.text}\n") for summary in result.summaries]
elif result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
result.error.code, result.error.message
))
begin_analyze_actions
Starta en tidskrävande åtgärd för att utföra en mängd olika textanalysåtgärder i en batch med dokument.
Vi rekommenderar att du använder den här funktionen om du vill analysera större dokument och/eller kombinera flera textanalysåtgärder i ett anrop. Annars rekommenderar vi att du använder åtgärdsspecifika slutpunkter, till exempel analyze_sentiment.
Anteckning
Se tjänstdokumentationen för regionalt stöd för anpassade åtgärdsfunktioner:
Nytt i version v3.1: Den begin_analyze_actions-klientmetoden .
Ny i version 2022-05-01: Indataalternativen RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction och AnalyzeHealthcareEntitiesAction och motsvarande RecognizeCustomEntitiesResult, ClassifyDocumentResult och AnalyzeHealthcareEntitiesResult resultatobjekt
Ny i version 2023-04-01: Indataalternativen ExtractiveSummaryAction och AbstractiveSummaryAction och motsvarande ExtractiveSummaryResult - och AbstractiveSummaryResult-resultatobjekt .
begin_analyze_actions(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], actions: List[RecognizeEntitiesAction | RecognizeLinkedEntitiesAction | RecognizePiiEntitiesAction | ExtractKeyPhrasesAction | AnalyzeSentimentAction | RecognizeCustomEntitiesAction | SingleLabelClassifyAction | MultiLabelClassifyAction | AnalyzeHealthcareEntitiesAction | ExtractiveSummaryAction | AbstractiveSummaryAction], *, continuation_token: str | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[List[RecognizeEntitiesResult | RecognizeLinkedEntitiesResult | RecognizePiiEntitiesResult | ExtractKeyPhrasesResult | AnalyzeSentimentResult | RecognizeCustomEntitiesResult | ClassifyDocumentResult | AnalyzeHealthcareEntitiesResult | ExtractiveSummaryResult | AbstractiveSummaryResult | DocumentError]]]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- actions
- list[RecognizeEntitiesAction eller RecognizePiiEntitiesAction eller ExtractKeyPhrasesAction eller RecognizeLinkedEntitiesAction eller AnalyzeSentimentAction eller RecognizeCustomEntitiesAction eller SingleLabelClassifyAction eller MultiLabelClassifyAction eller AnalyzeHealthcareEntitiesAction eller ExtractiveSummaryAction eller AbstractiveSummaryAction]
En heterogen lista över åtgärder som ska utföras på indatadokumenten. Varje åtgärdsobjekt kapslar in de parametrar som används för den specifika åtgärdstypen. Åtgärdsresultatet kommer att vara i samma ordning som indataåtgärderna.
- display_name
- str
Ett valfritt visningsnamn som ska anges för den begärda analysen.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå.
- polling_interval
- int
Väntetid mellan två omröstningar för LRO-åtgärder om det inte finns någon Retry-After sidhuvud. Standardvärdet är 5 sekunder.
- continuation_token
- str
Anropa continuation_token() på pollerobjektet för att spara det långvariga åtgärdstillståndet (LRO) i en täckande token. Skicka värdet som continuation_token nyckelordsargument för att starta om LRO från ett sparat tillstånd.
Returer
En instans av en TextAnalysisLROPoller. Anropa result() i pollerobjektet för att returnera en växlingsbar heterogen lista med listor. Den här listan med listor sorteras först efter de dokument som du anger och sorteras sedan efter de åtgärder som du anger. Om du till exempel har dokumentindata ["Hello", "world"] och åtgärder RecognizeEntitiesAction och AnalyzeSentimentAction, när du itererar över listan över listor, itererar du först över åtgärdsresultatet för "Hello"-dokumentet, hämtar RecognizeEntitiesResult "Hello" och sedan AnalyzeSentimentResult "Hello". Då får RecognizeEntitiesResult du och AnalyzeSentimentResult av "världen".
Returtyp
Undantag
Exempel
Starta en tidskrävande åtgärd för att utföra en mängd olika textanalysåtgärder i en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import (
TextAnalyticsClient,
RecognizeEntitiesAction,
RecognizeLinkedEntitiesAction,
RecognizePiiEntitiesAction,
ExtractKeyPhrasesAction,
AnalyzeSentimentAction,
)
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
documents = [
'We went to Contoso Steakhouse located at midtown NYC last week for a dinner party, and we adore the spot! '
'They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) '
'and he is super nice, coming out of the kitchen and greeted us all.'
,
'We enjoyed very much dining in the place! '
'The Sirloin steak I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their '
'online menu at www.contososteakhouse.com, call 312-555-0176 or send email to order@contososteakhouse.com! '
'The only complaint I have is the food didn\'t come fast enough. Overall I highly recommend it!'
]
poller = text_analytics_client.begin_analyze_actions(
documents,
display_name="Sample Text Analysis",
actions=[
RecognizeEntitiesAction(),
RecognizePiiEntitiesAction(),
ExtractKeyPhrasesAction(),
RecognizeLinkedEntitiesAction(),
AnalyzeSentimentAction(),
],
)
document_results = poller.result()
for doc, action_results in zip(documents, document_results):
print(f"\nDocument text: {doc}")
for result in action_results:
if result.kind == "EntityRecognition":
print("...Results of Recognize Entities Action:")
for entity in result.entities:
print(f"......Entity: {entity.text}")
print(f".........Category: {entity.category}")
print(f".........Confidence Score: {entity.confidence_score}")
print(f".........Offset: {entity.offset}")
elif result.kind == "PiiEntityRecognition":
print("...Results of Recognize PII Entities action:")
for pii_entity in result.entities:
print(f"......Entity: {pii_entity.text}")
print(f".........Category: {pii_entity.category}")
print(f".........Confidence Score: {pii_entity.confidence_score}")
elif result.kind == "KeyPhraseExtraction":
print("...Results of Extract Key Phrases action:")
print(f"......Key Phrases: {result.key_phrases}")
elif result.kind == "EntityLinking":
print("...Results of Recognize Linked Entities action:")
for linked_entity in result.entities:
print(f"......Entity name: {linked_entity.name}")
print(f".........Data source: {linked_entity.data_source}")
print(f".........Data source language: {linked_entity.language}")
print(
f".........Data source entity ID: {linked_entity.data_source_entity_id}"
)
print(f".........Data source URL: {linked_entity.url}")
print(".........Document matches:")
for match in linked_entity.matches:
print(f"............Match text: {match.text}")
print(f"............Confidence Score: {match.confidence_score}")
print(f"............Offset: {match.offset}")
print(f"............Length: {match.length}")
elif result.kind == "SentimentAnalysis":
print("...Results of Analyze Sentiment action:")
print(f"......Overall sentiment: {result.sentiment}")
print(
f"......Scores: positive={result.confidence_scores.positive}; \
neutral={result.confidence_scores.neutral}; \
negative={result.confidence_scores.negative} \n"
)
elif result.is_error is True:
print(
f"...Is an error with code '{result.error.code}' and message '{result.error.message}'"
)
print("------------------------------------------")
begin_analyze_healthcare_entities
Analysera sjukvårdsentiteter och identifiera relationer mellan dessa entiteter i en batch med dokument.
Entiteter är associerade med referenser som finns i befintliga kunskapsbaser, till exempel UMLS, CHV, MSH osv.
Vi extraherar också relationerna mellan entiteter, till exempel i "Ämnet tog 100 mg ibuprofen", skulle vi extrahera förhållandet mellan doseringen "100 mg" och "ibuprofen" medicinering.
Ny i version v3.1: Den begin_analyze_healthcare_entities-klientmetoden .
Nytt i version 2022-05-01: Det display_name nyckelordsargumentet.
begin_analyze_healthcare_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, model_version: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> AnalyzeHealthcareEntitiesLROPoller[ItemPaged[AnalyzeHealthcareEntitiesResult | DocumentError]]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- model_version
- str
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- display_name
- str
Ett valfritt visningsnamn som ska anges för den begärda analysen.
- string_index_type
- str
Anger den metod som används för att tolka strängförskjutningar. UnicodeCodePoint, Python-kodningen, är standardinställningen. Om du vill åsidosätta Python-standardvärdet kan du även skicka In Utf16CodeUnit eller TextElement_v8. Mer information finns i https://aka.ms/text-analytics-offsets
- polling_interval
- int
Väntetid mellan två omröstningar för LRO-åtgärder om det inte finns någon Retry-After sidhuvud. Standardvärdet är 5 sekunder.
- continuation_token
- str
Anropa continuation_token() på pollerobjektet för att spara det långvariga åtgärdstillståndet (LRO) i en täckande token. Skicka värdet som continuation_token nyckelordsargument för att starta om LRO från ett sparat tillstånd.
- disable_service_logs
- bool
Standardvärdet är true, vilket innebär att språktjänsten inte loggar indatatexten på tjänstsidan för felsökning. Om värdet är Falskt loggar språktjänsten indatatexten i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
Returer
En instans av en AnalyzeHealthcareEntitiesLROPoller. Anropa result() på det här objektet för att returnera en heterogen växlingsbar av AnalyzeHealthcareEntitiesResult och DocumentError.
Returtyp
Undantag
Exempel
Identifiera hälso- och sjukvårdsentiteter i en batch med dokument.
import os
import typing
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient, HealthcareEntityRelation
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
documents = [
"""
Patient needs to take 100 mg of ibuprofen, and 3 mg of potassium. Also needs to take
10 mg of Zocor.
""",
"""
Patient needs to take 50 mg of ibuprofen, and 2 mg of Coumadin.
"""
]
poller = text_analytics_client.begin_analyze_healthcare_entities(documents)
result = poller.result()
docs = [doc for doc in result if not doc.is_error]
print("Let's first visualize the outputted healthcare result:")
for doc in docs:
for entity in doc.entities:
print(f"Entity: {entity.text}")
print(f"...Normalized Text: {entity.normalized_text}")
print(f"...Category: {entity.category}")
print(f"...Subcategory: {entity.subcategory}")
print(f"...Offset: {entity.offset}")
print(f"...Confidence score: {entity.confidence_score}")
if entity.data_sources is not None:
print("...Data Sources:")
for data_source in entity.data_sources:
print(f"......Entity ID: {data_source.entity_id}")
print(f"......Name: {data_source.name}")
if entity.assertion is not None:
print("...Assertion:")
print(f"......Conditionality: {entity.assertion.conditionality}")
print(f"......Certainty: {entity.assertion.certainty}")
print(f"......Association: {entity.assertion.association}")
for relation in doc.entity_relations:
print(f"Relation of type: {relation.relation_type} has the following roles")
for role in relation.roles:
print(f"...Role '{role.name}' with entity '{role.entity.text}'")
print("------------------------------------------")
print("Now, let's get all of medication dosage relations from the documents")
dosage_of_medication_relations = [
entity_relation
for doc in docs
for entity_relation in doc.entity_relations if entity_relation.relation_type == HealthcareEntityRelation.DOSAGE_OF_MEDICATION
]
begin_extract_summary
Starta en tidskrävande sammanfattningsåtgärd för extrahering.
En konceptuell diskussion om extraheringssammanfattning finns i tjänstdokumentationen: https://learn.microsoft.com/azure/cognitive-services/language-service/summarization/overview
Ny i version 2023-04-01: den begin_extract_summary-klientmetoden .
begin_extract_summary(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, model_version: str | None = None, string_index_type: str | None = None, max_sentence_count: int | None = None, order_by: Literal['Rank', 'Offset'] | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ExtractiveSummaryResult | DocumentError]]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå.
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Väntetid mellan två omröstningar för LRO-åtgärder om det inte finns någon Retry-After sidhuvud. Standardvärdet är 5 sekunder.
- continuation_token
- str
Anropa continuation_token() på pollerobjektet för att spara det långvariga åtgärdstillståndet (LRO) i en täckande token. Skicka värdet som continuation_token nyckelordsargument för att starta om LRO från ett sparat tillstånd.
- display_name
- str
Ett valfritt visningsnamn som ska anges för den begärda analysen.
Returer
En instans av en TextAnalysisLROPoller. Anropa result() på det här objektet för att returnera en heterogen växlingsbar av ExtractiveSummaryResult och DocumentError.
Returtyp
Undantag
Exempel
Utför extraheringssammanfattning på en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
document = [
"At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, "
"human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI Cognitive "
"Services, I have been working with a team of amazing scientists and engineers to turn this quest into a "
"reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of "
"human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the "
"intersection of all three, there's magic-what we call XYZ-code as illustrated in Figure 1-a joint "
"representation to create more powerful AI that can speak, hear, see, and understand humans better. "
"We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, "
"spanning modalities and languages. The goal is to have pretrained models that can jointly learn "
"representations to support a broad range of downstream AI tasks, much in the way humans do today. "
"Over the past five years, we have achieved human performance on benchmarks in conversational speech "
"recognition, machine translation, conversational question answering, machine reading comprehension, "
"and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious "
"aspiration to produce a leap in AI capabilities, achieving multisensory and multilingual learning that "
"is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational "
"component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
]
poller = text_analytics_client.begin_extract_summary(document)
extract_summary_results = poller.result()
for result in extract_summary_results:
if result.kind == "ExtractiveSummarization":
print("Summary extracted: \n{}".format(
" ".join([sentence.text for sentence in result.sentences]))
)
elif result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
result.error.code, result.error.message
))
begin_multi_label_classify
Starta en långvarig anpassad klassificeringsåtgärd med flera etiketter.
Information om regionalt stöd för anpassade funktioner och hur du tränar en modell för att klassificera dina dokument finns i https://aka.ms/azsdk/textanalytics/customfunctionalities
Ny i version 2022-05-01: den begin_multi_label_classify-klientmetoden .
begin_multi_label_classify(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ClassifyDocumentResult | DocumentError]]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå.
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Väntetid mellan två omröstningar för LRO-åtgärder om det inte finns någon Retry-After sidhuvud. Standardvärdet är 5 sekunder.
- continuation_token
- str
Anropa continuation_token() på pollerobjektet för att spara det långvariga åtgärdstillståndet (LRO) i en täckande token. Skicka värdet som continuation_token nyckelordsargument för att starta om LRO från ett sparat tillstånd.
- display_name
- str
Ett valfritt visningsnamn som ska anges för den begärda analysen.
Returer
En instans av en TextAnalysisLROPoller. Anropa result() på det här objektet för att returnera en heterogen växlingsbar av ClassifyDocumentResult och DocumentError.
Returtyp
Undantag
Exempel
Utför klassificering med flera etiketter på en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["MULTI_LABEL_CLASSIFY_PROJECT_NAME"]
deployment_name = os.environ["MULTI_LABEL_CLASSIFY_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_classify_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_multi_label_classify(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for doc, classification_result in zip(document, document_results):
if classification_result.kind == "CustomDocumentClassification":
classifications = classification_result.classifications
print(f"\nThe movie plot '{doc}' was classified as the following genres:\n")
for classification in classifications:
print("'{}' with confidence score {}.".format(
classification.category, classification.confidence_score
))
elif classification_result.is_error is True:
print("Movie plot '{}' has an error with code '{}' and message '{}'".format(
doc, classification_result.error.code, classification_result.error.message
))
begin_recognize_custom_entities
Starta en långvarig anpassad, namngiven entitetsigenkänningsåtgärd.
Information om regionalt stöd för anpassade funktioner och hur du tränar en modell att identifiera anpassade entiteter finns i https://aka.ms/azsdk/textanalytics/customentityrecognition
Ny i version 2022-05-01: den begin_recognize_custom_entities-klientmetoden .
begin_recognize_custom_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[RecognizeCustomEntitiesResult | DocumentError]]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå.
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
- string_index_type
- str
Anger den metod som används för att tolka strängförskjutningar. UnicodeCodePoint, Python-kodningen, är standardinställningen. Om du vill åsidosätta Python-standardvärdet kan du även skicka In Utf16CodeUnit eller TextElement_v8. Mer information finns i https://aka.ms/text-analytics-offsets
- polling_interval
- int
Väntetid mellan två omröstningar för LRO-åtgärder om det inte finns någon Retry-After sidhuvud. Standardvärdet är 5 sekunder.
- continuation_token
- str
Anropa continuation_token() på pollerobjektet för att spara det långvariga åtgärdstillståndet (LRO) i en täckande token. Skicka värdet som continuation_token nyckelordsargument för att starta om LRO från ett sparat tillstånd.
- display_name
- str
Ett valfritt visningsnamn som ska anges för den begärda analysen.
Returer
En instans av en TextAnalysisLROPoller. Anropa result() på det här objektet för att returnera en heterogen växlingsbar av RecognizeCustomEntitiesResult och DocumentError.
Returtyp
Undantag
Exempel
Identifiera anpassade entiteter i en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["CUSTOM_ENTITIES_PROJECT_NAME"]
deployment_name = os.environ["CUSTOM_ENTITIES_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_entities_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_recognize_custom_entities(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for custom_entities_result in document_results:
if custom_entities_result.kind == "CustomEntityRecognition":
for entity in custom_entities_result.entities:
print(
"Entity '{}' has category '{}' with confidence score of '{}'".format(
entity.text, entity.category, entity.confidence_score
)
)
elif custom_entities_result.is_error is True:
print("...Is an error with code '{}' and message '{}'".format(
custom_entities_result.error.code, custom_entities_result.error.message
)
)
begin_single_label_classify
Starta en tidskrävande anpassad klassificeringsåtgärd för en enskild etikett.
Information om regionalt stöd för anpassade funktioner och hur du tränar en modell för att klassificera dina dokument finns i https://aka.ms/azsdk/textanalytics/customfunctionalities
Nytt i version 2022-05-01: begin_single_label_classify-klientmetoden.
begin_single_label_classify(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], project_name: str, deployment_name: str, *, continuation_token: str | None = None, disable_service_logs: bool | None = None, display_name: str | None = None, language: str | None = None, polling_interval: int | None = None, show_stats: bool | None = None, **kwargs: Any) -> TextAnalysisLROPoller[ItemPaged[ClassifyDocumentResult | DocumentError]]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå.
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
- polling_interval
- int
Väntetid mellan två omröstningar för LRO-åtgärder om det inte finns någon Retry-After sidhuvud. Standardvärdet är 5 sekunder.
- continuation_token
- str
Anropa continuation_token() på pollerobjektet för att spara det långvariga åtgärdstillståndet (LRO) i en täckande token. Skicka värdet som continuation_token nyckelordsargument för att starta om LRO från ett sparat tillstånd.
- display_name
- str
Ett valfritt visningsnamn som ska anges för den begärda analysen.
Returer
En instans av en TextAnalysisLROPoller. Anropa result() på det här objektet för att returnera en heterogen växlingsbar av ClassifyDocumentResult och DocumentError.
Returtyp
Undantag
Exempel
Utför klassificering av en enskild etikett på en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
project_name = os.environ["SINGLE_LABEL_CLASSIFY_PROJECT_NAME"]
deployment_name = os.environ["SINGLE_LABEL_CLASSIFY_DEPLOYMENT_NAME"]
path_to_sample_document = os.path.abspath(
os.path.join(
os.path.abspath(__file__),
"..",
"./text_samples/custom_classify_sample.txt",
)
)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
poller = text_analytics_client.begin_single_label_classify(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = poller.result()
for doc, classification_result in zip(document, document_results):
if classification_result.kind == "CustomDocumentClassification":
classification = classification_result.classifications[0]
print("The document text '{}' was classified as '{}' with confidence score {}.".format(
doc, classification.category, classification.confidence_score)
)
elif classification_result.is_error is True:
print("Document text '{}' has an error with code '{}' and message '{}'".format(
doc, classification_result.error.code, classification_result.error.message
))
close
Stäng sockets som öppnats av klienten. Det är inte nödvändigt att anropa den här metoden när klienten används som kontexthanterare.
close() -> None
Undantag
detect_language
Identifiera språk för en batch med dokument.
Returnerar det identifierade språket och ett numeriskt värde mellan noll och ett. Poäng nära ett indikerar 100 % säkerhet om att det identifierade språket är sant. Se https://aka.ms/talangs för listan över aktiverade språk.
Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i .
Nytt i version v3.1: Nyckelordsargumentet disable_service_logs .
detect_language(documents: List[str] | List[DetectLanguageInput] | List[Dict[str, str]], *, country_hint: str | None = None, disable_service_logs: bool | None = None, model_version: str | None = None, show_stats: bool | None = None, **kwargs: Any) -> List[DetectLanguageResult | DocumentError]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och country_hint per objekt måste du använda som indata för en lista[DetectLanguageInput] eller en lista med diktamensrepresentationer av DetectLanguageInput, som {"id": "1", "country_hint": "us", "text": "hello world"}.
- country_hint
- str
Tips om ursprungsland för hela batchen. Accepterar landskoder med två bokstäver som anges av ISO 3166-1 alpha-2. Landtips per dokument har företräde framför hela batchtips. Standardvärdet är "US". Om du inte vill använda ett landstips skickar du strängen "none".
- model_version
- str
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå i statistikfältet för svaret på dokumentnivå.
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
Returer
Den kombinerade listan över DetectLanguageResult och DocumentError i den ordning de ursprungliga dokumenten skickades.
Returtyp
Undantag
Exempel
Identifiera språk i en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""
The concierge Paulette was extremely helpful. Sadly when we arrived the elevator was broken, but with Paulette's help we barely noticed this inconvenience.
She arranged for our baggage to be brought up to our room with no extra charge and gave us a free meal to refurbish all of the calories we lost from
walking up the stairs :). Can't say enough good things about my experience!
""",
"""
最近由于工作压力太大,我们决定去富酒店度假。那儿的温泉实在太舒服了,我跟我丈夫都完全恢复了工作前的青春精神!加油!
"""
]
result = text_analytics_client.detect_language(documents)
reviewed_docs = [doc for doc in result if not doc.is_error]
print("Let's see what language each review is in!")
for idx, doc in enumerate(reviewed_docs):
print("Review #{} is in '{}', which has ISO639-1 name '{}'\n".format(
idx, doc.primary_language.name, doc.primary_language.iso6391_name
))
extract_key_phrases
Extrahera nyckelfraser från en batch med dokument.
Returnerar en lista med strängar som anger nyckelfraserna i indatatexten. För indatatexten "Maten var utsökt och personalen var underbar" returnerar API:et de viktigaste diskussionspunkterna: "mat" och "underbar personal"
Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i .
Nytt i version v3.1: Nyckelordsargumentet disable_service_logs .
extract_key_phrases(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, **kwargs: Any) -> List[ExtractKeyPhrasesResult | DocumentError]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- model_version
- str
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå i statistikfältet för svaret på dokumentnivå.
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
Returer
Den kombinerade listan över ExtractKeyPhrasesResult och DocumentError i den ordning de ursprungliga dokumenten skickades.
Returtyp
Undantag
Exempel
Extrahera nyckelfraserna i en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
articles = [
"""
Washington, D.C. Autumn in DC is a uniquely beautiful season. The leaves fall from the trees
in a city chock-full of forests, leaving yellow leaves on the ground and a clearer view of the
blue sky above...
""",
"""
Redmond, WA. In the past few days, Microsoft has decided to further postpone the start date of
its United States workers, due to the pandemic that rages with no end in sight...
""",
"""
Redmond, WA. Employees at Microsoft can be excited about the new coffee shop that will open on campus
once workers no longer have to work remotely...
"""
]
result = text_analytics_client.extract_key_phrases(articles)
for idx, doc in enumerate(result):
if not doc.is_error:
print("Key phrases in article #{}: {}".format(
idx + 1,
", ".join(doc.key_phrases)
))
recognize_entities
Identifiera entiteter för en batch med dokument.
Identifierar och kategoriserar entiteter i din text som personer, platser, organisationer, datum/tid, kvantiteter, procenttal, valutor med mera. En lista över entitetstyper som stöds finns i: https://aka.ms/taner
Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i .
Nytt i version v3.1: Nyckelordsargumenten disable_service_logs och string_index_type .
recognize_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizeEntitiesResult | DocumentError]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- model_version
- str
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå i statistikfältet för svaret på dokumentnivå.
- string_index_type
- str
Anger den metod som används för att tolka strängförskjutningar. UnicodeCodePoint, Python-kodningen, är standardinställningen. Om du vill åsidosätta Python-standardvärdet kan du även skicka In Utf16CodeUnit eller TextElement_v8. Mer information finns i https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
Returer
Den kombinerade listan över RecognizeEntitiesResult och DocumentError i den ordning de ursprungliga dokumenten skickades.
Returtyp
Undantag
Exempel
Identifiera entiteter i en batch med dokument.
import os
import typing
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
reviews = [
"""I work for Foo Company, and we hired Contoso for our annual founding ceremony. The food
was amazing and we all can't say enough good words about the quality and the level of service.""",
"""We at the Foo Company re-hired Contoso after all of our past successes with the company.
Though the food was still great, I feel there has been a quality drop since their last time
catering for us. Is anyone else running into the same problem?""",
"""Bar Company is over the moon about the service we received from Contoso, the best sliders ever!!!!"""
]
result = text_analytics_client.recognize_entities(reviews)
result = [review for review in result if not review.is_error]
organization_to_reviews: typing.Dict[str, typing.List[str]] = {}
for idx, review in enumerate(result):
for entity in review.entities:
print(f"Entity '{entity.text}' has category '{entity.category}'")
if entity.category == 'Organization':
organization_to_reviews.setdefault(entity.text, [])
organization_to_reviews[entity.text].append(reviews[idx])
for organization, reviews in organization_to_reviews.items():
print(
"\n\nOrganization '{}' has left us the following review(s): {}".format(
organization, "\n\n".join(reviews)
)
)
recognize_linked_entities
Identifiera länkade entiteter från en välkänd kunskapsbas för en batch med dokument.
Identifierar och särskiljer identiteten för varje entitet som finns i text (till exempel att avgöra om en förekomst av ordet Mars refererar till planeten eller till den romerska krigsguden). Identifierade entiteter är associerade med URL:er till en välkänd kunskapsbas, till exempel Wikipedia.
Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i .
Nytt i version v3.1: Nyckelordsargumenten disable_service_logs och string_index_type .
recognize_linked_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, disable_service_logs: bool | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizeLinkedEntitiesResult | DocumentError]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- model_version
- str
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå i statistikfältet för svaret på dokumentnivå.
- string_index_type
- str
Anger den metod som används för att tolka strängförskjutningar. UnicodeCodePoint, Python-kodningen, är standardinställningen. Om du vill åsidosätta Python-standardvärdet kan du även skicka In Utf16CodeUnit eller TextElement_v8. Mer information finns i https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Om värdet är true avanmäler du dig från att ha dina textindata inloggade på tjänstsidan för felsökning. Som standard loggar Språktjänsten din indatatext i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Om den här parametern anges till true inaktiveras indataloggning och kan begränsa vår möjlighet att åtgärda problem som inträffar. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
Returer
Den kombinerade listan över RecognizeLinkedEntitiesResult och DocumentError i den ordning de ursprungliga dokumenten skickades.
Returtyp
Undantag
Exempel
Identifiera länkade entiteter i en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
documents = [
"""
Microsoft was founded by Bill Gates with some friends he met at Harvard. One of his friends,
Steve Ballmer, eventually became CEO after Bill Gates as well. Steve Ballmer eventually stepped
down as CEO of Microsoft, and was succeeded by Satya Nadella.
Microsoft originally moved its headquarters to Bellevue, Washington in January 1979, but is now
headquartered in Redmond.
"""
]
result = text_analytics_client.recognize_linked_entities(documents)
docs = [doc for doc in result if not doc.is_error]
print(
"Let's map each entity to it's Wikipedia article. I also want to see how many times each "
"entity is mentioned in a document\n\n"
)
entity_to_url = {}
for doc in docs:
for entity in doc.entities:
print("Entity '{}' has been mentioned '{}' time(s)".format(
entity.name, len(entity.matches)
))
if entity.data_source == "Wikipedia":
entity_to_url[entity.name] = entity.url
recognize_pii_entities
Identifiera entiteter som innehåller personlig information för en batch med dokument.
Returnerar en lista över personliga informationsentiteter ("SSN", "bankkonto" osv.) i dokumentet. En lista över entitetstyper som stöds finns i https://aka.ms/azsdk/language/pii
Information om https://aka.ms/azsdk/textanalytics/data-limits tjänstdatabegränsningar finns i .
Ny i version v3.1: Den recognize_pii_entities-klientmetoden .
recognize_pii_entities(documents: List[str] | List[TextDocumentInput] | List[Dict[str, str]], *, categories_filter: List[str | PiiEntityCategory] | None = None, disable_service_logs: bool | None = None, domain_filter: str | PiiEntityDomain | None = None, language: str | None = None, model_version: str | None = None, show_stats: bool | None = None, string_index_type: str | None = None, **kwargs: Any) -> List[RecognizePiiEntitiesResult | DocumentError]
Parametrar
Den uppsättning dokument som ska bearbetas som en del av den här batchen. Om du vill ange ID och språk per objekt måste du använda som indata för en lista[TextDocumentInput] eller en lista med diktamensrepresentationer av TextDocumentInput, som {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
2-bokstaven ISO 639-1-representation av språket för hela batchen. Använd till exempel "en" för engelska; "es" för spanska etc. Om det inte anges används "en" för engelska som standard. Språk per dokument har företräde framför hela batchspråket. Se https://aka.ms/talangs för språk som stöds i Språk-API.
- model_version
- str
Den modellversion som ska användas för analysen, t.ex. "senaste". Om en modellversion inte har angetts kommer API:et som standard att vara den senaste versionen som inte är en förhandsversion. Mer information finns här: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
Om värdet är true innehåller svaret statistik på dokumentnivå i statistikfältet för svaret på dokumentnivå.
- domain_filter
- str eller PiiEntityDomain
Filtrerar svarsentiteterna till de som endast ingår i den angivna domänen. Om värdet är "phi" returneras endast entiteter i domänen Skyddad hälso- och sjukvårdsinformation. Mer information finns i https://aka.ms/azsdk/language/pii.
- categories_filter
- list[str eller PiiEntityCategory]
I stället för att filtrera över alla PII-entitetskategorier kan du skicka in en lista över de specifika PII-entitetskategorier som du vill filtrera bort. Om du till exempel bara vill filtrera bort amerikanska personnummer i ett dokument kan du skicka in [PiiEntityCategory.US_SOCIAL_SECURITY_NUMBER] för denna kwarg.
- string_index_type
- str
Anger den metod som används för att tolka strängförskjutningar. UnicodeCodePoint, Python-kodningen, är standardinställningen. Om du vill åsidosätta Python-standardvärdet kan du även skicka In Utf16CodeUnit eller TextElement_v8. Mer information finns i https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Standardvärdet är true, vilket innebär att språktjänsten inte loggar indatatexten på tjänstsidan för felsökning. Om värdet är Falskt loggar språktjänsten indatatexten i 48 timmar, enbart för att tillåta felsökning av problem med att tillhandahålla tjänstens bearbetningsfunktioner för naturligt språk. Mer information finns i Efterlevnads- och sekretessanteckningar för Cognitive Services på https://aka.ms/cs-compliance och Microsofts ansvarsfulla AI-principer på https://www.microsoft.com/ai/responsible-ai.
Returer
Den kombinerade listan över RecognizePiiEntitiesResult och DocumentError i den ordning de ursprungliga dokumenten skickades.
Returtyp
Undantag
Exempel
Identifiera personligt identifierbara informationsentiteter i en batch med dokument.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint, credential=AzureKeyCredential(key)
)
documents = [
"""Parker Doe has repaid all of their loans as of 2020-04-25.
Their SSN is 859-98-0987. To contact them, use their phone number
555-555-5555. They are originally from Brazil and have Brazilian CPF number 998.214.865-68"""
]
result = text_analytics_client.recognize_pii_entities(documents)
docs = [doc for doc in result if not doc.is_error]
print(
"Let's compare the original document with the documents after redaction. "
"I also want to comb through all of the entities that got redacted"
)
for idx, doc in enumerate(docs):
print(f"Document text: {documents[idx]}")
print(f"Redacted document text: {doc.redacted_text}")
for entity in doc.entities:
print("...Entity '{}' with category '{}' got redacted".format(
entity.text, entity.category
))
Azure SDK for Python