TextAnalyticsClient Sınıf
Dil hizmeti API'si, sınıfının en iyisi Microsoft makine öğrenmesi algoritmalarıyla oluşturulmuş bir doğal dil işleme (NLP) becerileri paketidir. API, yaklaşım analizi, anahtar ifade ayıklama, varlık tanıma ve dil algılama gibi görevler için yapılandırılmamış metinleri analiz etmek için kullanılabilir.
Daha fazla belge için bkz. https://docs.microsoft.com/azure/cognitive-services/language-service/overview
- Devralma
-
azure.ai.textanalytics.aio._base_client_async.AsyncTextAnalyticsClientBaseTextAnalyticsClient
Oluşturucu
TextAnalyticsClient(endpoint: str, credential: AzureKeyCredential | AsyncTokenCredential, *, default_language: str | None = None, default_country_hint: str | None = None, api_version: str | TextAnalyticsApiVersion | None = None, **kwargs: Any)
Parametreler
- endpoint
- str
Desteklenen Bilişsel Hizmetler veya Dil kaynak uç noktaları (protokol ve ana bilgisayar adı, örneğin: 'https://.cognitiveservices.azure.com').
- credential
- AzureKeyCredential veya AsyncTokenCredential
İstemcinin Azure'a bağlanması için gereken kimlik bilgileri. Bu, Bilişsel Hizmetler/Dil API anahtarı veya belirteç identitykimlik bilgisi kullanıyorsanız AzureKeyCredential örneği olabilir.
- default_country_hint
- str
Tüm işlemler için kullanılacak varsayılan country_hint ayarlar. Varsayılan olarak "US" kullanılır. Ülke ipucu kullanmak istemiyorsanız "none" dizesini geçirin.
- default_language
- str
Tüm işlemler için kullanılacak varsayılan dili ayarlar. Varsayılan olarak "en" kullanılır.
- api_version
- str veya TextAnalyticsApiVersion
İstekler için kullanılacak hizmetin API sürümü. Varsayılan olarak en son hizmet sürümünü kullanır. Eski bir sürüme ayarlamak özellik uyumluluğunu azaltabilir.
Örnekler
Uç nokta ve API anahtarıyla TextAnalyticsClient oluşturma.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio import TextAnalyticsClient
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
key = os.environ["AZURE_LANGUAGE_KEY"]
text_analytics_client = TextAnalyticsClient(endpoint, AzureKeyCredential(key))
Azure Active Directory'den uç nokta ve belirteç kimlik bilgileriyle TextAnalyticsClient oluşturma.
import os
from azure.ai.textanalytics.aio import TextAnalyticsClient
from azure.identity.aio import DefaultAzureCredential
endpoint = os.environ["AZURE_LANGUAGE_ENDPOINT"]
credential = DefaultAzureCredential()
text_analytics_client = TextAnalyticsClient(endpoint, credential=credential)
Yöntemler
analyze_sentiment |
Bir grup belge için yaklaşımı analiz etme. show_opinion_mining ile fikir madenciliği özelliğini açın. Belge ve içindeki her cümle için yaklaşım tahminini ve her yaklaşım sınıfı için yaklaşım puanlarını (Pozitif, Negatif ve Nötr) döndürür. Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits . v3.1 sürümündeki yenilikler: show_opinion_mining, disable_service_logs ve string_index_type anahtar sözcük bağımsız değişkenleri. |
begin_abstract_summary |
Uzun süre çalışan bir soyut özetleme işlemi başlatın. Soyut özetlemenin kavramsal bir tartışması için hizmet belgelerine bakın: https://video2.skills-academy.com/azure/cognitive-services/language-service/summarization/overview Sürüm 2023-04-01'de yeni: begin_abstract_summary istemci yöntemi. |
begin_analyze_actions |
Bir grup belge üzerinde çeşitli metin çözümleme eylemleri gerçekleştirmek için uzun süre çalışan bir işlem başlatın. Daha büyük belgeleri analiz etmek ve / veya birden çok metin çözümleme eylemini tek bir çağrıda birleştirmek istiyorsanız bu işlevi kullanmanızı öneririz. Aksi takdirde, eyleme özgü uç noktaları kullanmanızı öneririz, örneğin analyze_sentiment. Not Özel eylem özelliklerinin bölgesel desteği için hizmet belgelerine bakın: Sürüm v3.1'de yeni: begin_analyze_actions istemci yöntemi. Sürüm 2022-05-01'de yeni: RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction ve AnalyzeHealthcareEntitiesAction giriş seçenekleri ve ilgili RecognizeCustomEntitiesResult, ClassifyDocumentResult ve AnalyzeHealthcareEntitiesResult sonuç nesneleri Sürüm 2023-04-01'de yeni: ExtractiveSummaryAction ve AbstractiveSummaryAction giriş seçenekleri ve karşılık gelen ExtractiveSummaryResult ve AbstractiveSummaryResult sonuç nesneleri. |
begin_analyze_healthcare_entities |
Bir grup belge içinde sağlık varlıklarını analiz edin ve bu varlıklar arasındaki ilişkileri belirleyin. Varlıklar UMLS, CHV, MSH gibi mevcut bilgi bankalarında bulunabilen başvurularla ilişkilendirilir. Varlıklar arasında bulunan ilişkileri de ayıklıyoruz, örneğin "Konu 100 mg ibuprofen aldı", "100 mg" dozajı ile "ibuprofen" ilacı arasındaki ilişkiyi ayıklarız. Sürüm v3.1'de yeni: begin_analyze_healthcare_entities istemci yöntemi. Sürüm 2022-05-01'de yeni: display_name anahtar sözcük bağımsız değişkeni. |
begin_extract_summary |
Uzun süre çalışan bir ayıklayıcı özetleme işlemi başlatın. Ayıklayıcı özetlemenin kavramsal bir tartışması için hizmet belgelerine bakın: https://video2.skills-academy.com/azure/cognitive-services/language-service/summarization/overview Sürüm 2023-04-01'de yeni: begin_extract_summary istemci yöntemi. |
begin_multi_label_classify |
Uzun süre çalışan özel bir çoklu etiket sınıflandırma işlemi başlatın. Özel özelliklerin bölgesel desteği ve belgelerinizi sınıflandırmak için model eğitme hakkında bilgi için bkz. https://aka.ms/azsdk/textanalytics/customfunctionalities Sürüm 2022-05-01'de yeni: begin_multi_label_classify istemci yöntemi. |
begin_recognize_custom_entities |
Uzun süre çalışan özel adlandırılmış varlık tanıma işlemi başlatın. Özel özelliklerin bölgesel desteği ve modeli özel varlıkları tanıyacak şekilde eğitme hakkında bilgi için bkz. https://aka.ms/azsdk/textanalytics/customentityrecognition Sürüm 2022-05-01'de yeni: begin_recognize_custom_entities istemci yöntemi. |
begin_single_label_classify |
Uzun süre çalışan özel bir tek etiket sınıflandırma işlemi başlatın. Özel özelliklerin bölgesel desteği ve belgelerinizi sınıflandırmak için model eğitme hakkında bilgi için bkz. https://aka.ms/azsdk/textanalytics/customfunctionalities Sürüm 2022-05-01'de yeni: begin_single_label_classify istemci yöntemi. |
close |
İstemci tarafından açılan yuvaları kapatın. İstemciyi bağlam yöneticisi olarak kullanırken bu yöntemi çağırmak gereksizdir. |
detect_language |
Bir grup belge için dili algılama. Algılanan dili ve sıfır ile bir arasındaki sayısal puanı döndürür. Birine yakın puanlar, tanımlanan dilin doğru olduğundan %100 emin olduğunu gösterir. Etkin dillerin listesi için bkz https://aka.ms/talangs . Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits . Sürüm v3.1'de yeni: disable_service_logs anahtar sözcük bağımsız değişkeni. |
extract_key_phrases |
Bir grup belgeden anahtar ifadeleri ayıklayın. Giriş metnindeki anahtar ifadeleri belirten dizelerin listesini döndürür. Örneğin, "Yemekler lezzetliydi ve harika personel vardı" giriş metni için API ana konuşma noktalarını döndürür: "yemek" ve "harika personel" Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits . Sürüm v3.1'de yeni: disable_service_logs anahtar sözcük bağımsız değişkeni. |
recognize_entities |
Bir grup belge için varlıkları tanıma. Metninizdeki varlıkları kişiler, yerler, kuruluşlar, tarih/saat, miktarlar, yüzdeler, para birimleri ve daha fazlası olarak tanımlar ve kategorilere ayırır. Desteklenen varlık türlerinin listesi için şunları denetleyin: https://aka.ms/taner Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits . v3.1 sürümündeki yenilikler: disable_service_logs ve string_index_type anahtar sözcük bağımsız değişkenleri. |
recognize_linked_entities |
Bir grup belge için iyi bilinen bir bilgi bankası bağlı varlıkları tanıyın. Metinde bulunan her varlığın kimliğini tanımlar ve kesinliklerini belirler (örneğin, Mars sözcüğünün bir oluşumunun gezegene mi yoksa Roma savaş tanrısına mı başvurduğuna karar verme). Tanınan varlıklar Wikipedia gibi tanınmış bir bilgi bankası URL'leriyle ilişkilendirilir. Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits . v3.1 sürümündeki yenilikler: disable_service_logs ve string_index_type anahtar sözcük bağımsız değişkenleri. |
recognize_pii_entities |
Bir grup belge için kişisel bilgiler içeren varlıkları tanıma. Belgedeki kişisel bilgi varlıklarının ("SSN", "Banka Hesabı" vb.) listesini döndürür. Desteklenen varlık türlerinin listesi için https://aka.ms/azsdk/language/pii Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits . Sürüm v3.1'de yeni: recognize_pii_entities istemci yöntemi. |
analyze_sentiment
Bir grup belge için yaklaşımı analiz etme. show_opinion_mining ile fikir madenciliği özelliğini açın.
Belge ve içindeki her cümle için yaklaşım tahminini ve her yaklaşım sınıfı için yaklaşım puanlarını (Pozitif, Negatif ve Nötr) döndürür.
Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits .
v3.1 sürümündeki yenilikler: show_opinion_mining, disable_service_logs ve string_index_type anahtar sözcük bağımsız değişkenleri.
async 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]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- show_opinion_mining
- bool
Bir cümlenin görüşlerini mayınlama ve bir ürün veya hizmetin yönleri hakkında daha ayrıntılı analiz yapılıp yapılmayacağını (en boy tabanlı yaklaşım analizi olarak da bilinir). true olarak ayarlanırsa, döndürülen SentenceSentiment nesneler bu çözümlemenin sonucunu içeren özellik mined_opinions sahip olur. Yalnızca API sürümü v3.1 ve sonrasında kullanılabilir.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- model_version
- str
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi yanıtının istatistik alanında belge düzeyi istatistiklerini içerir.
- string_index_type
- str
Dize uzaklıklarını yorumlamak için kullanılan yöntemi belirtir. Python kodlaması olan UnicodeCodePoint varsayılan değerdir. Python varsayılanını geçersiz kılmak için Utf16CodeUnit veya TextElement_v8 de geçirebilirsiniz. Daha fazla bilgi için bkz. https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
Döndürülenler
özgün belgelerin geçiriliş sırasına göre ve DocumentError birleşik listesiAnalyzeSentimentResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belge içinde yaklaşımı analiz etme.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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!"""
]
async with text_analytics_client:
result = await text_analytics_client.analyze_sentiment(documents)
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
Uzun süre çalışan bir soyut özetleme işlemi başlatın.
Soyut özetlemenin kavramsal bir tartışması için hizmet belgelerine bakın: https://video2.skills-academy.com/azure/cognitive-services/language-service/summarization/overview
Sürüm 2023-04-01'de yeni: begin_abstract_summary istemci yöntemi.
async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[AbstractiveSummaryResult | DocumentError]]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi istatistiklerini içerir.
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
- polling_interval
- int
Retry-After üst bilgisi yoksa LRO işlemleri için iki yoklama arasında bekleme süresi. Varsayılan olarak 5 saniyedir.
- continuation_token
- str
Uzun süre çalışan işlem (LRO) durumunu opak bir belirteçte kaydetmek için poller nesnesinde continuation_token() öğesini çağırın. LRO'yu kaydedilmiş durumdan yeniden başlatmak için değeri continuation_token anahtar sözcük bağımsız değişkeni olarak geçirin.
- display_name
- str
İstenen analiz için ayarlanacağı isteğe bağlı bir görünen ad.
Döndürülenler
AsyncTextAnalysisLROPoller örneği. ve DocumentErrorheterojen bir disk belleği döndürebilmek için bu nesnede result() öğesini çağırınAbstractiveSummaryResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belge üzerinde soyut özetleme gerçekleştirin.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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."
]
async with text_analytics_client:
poller = await text_analytics_client.begin_abstract_summary(document)
abstract_summary_results = await poller.result()
async 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
Bir grup belge üzerinde çeşitli metin çözümleme eylemleri gerçekleştirmek için uzun süre çalışan bir işlem başlatın.
Daha büyük belgeleri analiz etmek ve / veya birden çok metin çözümleme eylemini tek bir çağrıda birleştirmek istiyorsanız bu işlevi kullanmanızı öneririz. Aksi takdirde, eyleme özgü uç noktaları kullanmanızı öneririz, örneğin analyze_sentiment.
Not
Özel eylem özelliklerinin bölgesel desteği için hizmet belgelerine bakın:
Sürüm v3.1'de yeni: begin_analyze_actions istemci yöntemi.
Sürüm 2022-05-01'de yeni: RecognizeCustomEntitiesAction, SingleLabelClassifyAction, MultiLabelClassifyAction ve AnalyzeHealthcareEntitiesAction giriş seçenekleri ve ilgili RecognizeCustomEntitiesResult, ClassifyDocumentResult ve AnalyzeHealthcareEntitiesResult sonuç nesneleri
Sürüm 2023-04-01'de yeni: ExtractiveSummaryAction ve AbstractiveSummaryAction giriş seçenekleri ve karşılık gelen ExtractiveSummaryResult ve AbstractiveSummaryResult sonuç nesneleri.
async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[List[RecognizeEntitiesResult | RecognizeLinkedEntitiesResult | RecognizePiiEntitiesResult | ExtractKeyPhrasesResult | AnalyzeSentimentResult | RecognizeCustomEntitiesResult | ClassifyDocumentResult | AnalyzeHealthcareEntitiesResult | ExtractiveSummaryResult | AbstractiveSummaryResult | DocumentError]]]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- actions
- list[RecognizeEntitiesAction veya RecognizePiiEntitiesAction veya ExtractKeyPhrasesAction veya RecognizeLinkedEntitiesAction veya AnalyzeSentimentAction veya RecognizeCustomEntitiesAction veya SingleLabelClassifyAction veya MultiLabelClassifyAction veya AnalyzeHealthcareEntitiesAction veya AbstractiveSummaryAction veya ExtractiveSummaryAction]
Giriş belgelerinde gerçekleştirilecek eylemlerin heterojen listesi. Her eylem nesnesi, belirli bir eylem türü için kullanılan parametreleri kapsüller. Eylem sonuçları, giriş eylemlerinin aynı sırasına göre olacaktır.
- display_name
- str
İstenen analiz için ayarlanacağı isteğe bağlı bir görünen ad.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi istatistiklerini içerir.
- polling_interval
- int
Retry-After üst bilgisi yoksa LRO işlemleri için iki yoklama arasında bekleme süresi. Varsayılan olarak 5 saniyedir.
- continuation_token
- str
Uzun süre çalışan işlem (LRO) durumunu opak bir belirteçte kaydetmek için poller nesnesinde continuation_token() öğesini çağırın. LRO'yu kaydedilmiş durumdan yeniden başlatmak için değeri continuation_token anahtar sözcük bağımsız değişkeni olarak geçirin.
Döndürülenler
AsyncTextAnalysisLROPoller örneği. Disk belleğine alınabilen heterojen liste listesini döndürmek için poller nesnesinde result() öğesini çağırın. Bu liste listesi önce girdiğiniz belgelere göre sıralanır, sonra da girdiğiniz eylemlere göre sıralanır. Örneğin, ["Hello", "world"] ve eylemleri RecognizeEntitiesAction ve belge girişiniz varsa ve AnalyzeSentimentActionliste listesinde yinelenirken, önce "Hello" belgesinin RecognizeEntitiesResult eylem sonuçlarını yineleyip "Hello" ve ardından AnalyzeSentimentResult "Hello" ifadesini alırsınız. Sonra da ve AnalyzeSentimentResult dünyasını RecognizeEntitiesResult elde edersiniz.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belge üzerinde çeşitli metin çözümleme eylemleri gerçekleştirmek için uzun süre çalışan bir işlem başlatın.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio import TextAnalyticsClient
from azure.ai.textanalytics import (
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!'
]
async with text_analytics_client:
poller = await text_analytics_client.begin_analyze_actions(
documents,
display_name="Sample Text Analysis",
actions=[
RecognizeEntitiesAction(),
RecognizePiiEntitiesAction(),
ExtractKeyPhrasesAction(),
RecognizeLinkedEntitiesAction(),
AnalyzeSentimentAction(),
]
)
pages = await poller.result()
# To enumerate / zip for async, unless you install a third party library,
# you have to read in all of the elements into memory first.
# If you're not looking to enumerate / zip, we recommend you just asynchronously
# loop over it immediately, without going through this step of reading them into memory
document_results = []
async for page in pages:
document_results.append(page)
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
Bir grup belge içinde sağlık varlıklarını analiz edin ve bu varlıklar arasındaki ilişkileri belirleyin.
Varlıklar UMLS, CHV, MSH gibi mevcut bilgi bankalarında bulunabilen başvurularla ilişkilendirilir.
Varlıklar arasında bulunan ilişkileri de ayıklıyoruz, örneğin "Konu 100 mg ibuprofen aldı", "100 mg" dozajı ile "ibuprofen" ilacı arasındaki ilişkiyi ayıklarız.
Sürüm v3.1'de yeni: begin_analyze_healthcare_entities istemci yöntemi.
Sürüm 2022-05-01'de yeni: display_name anahtar sözcük bağımsız değişkeni.
async 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) -> AsyncAnalyzeHealthcareEntitiesLROPoller[AsyncItemPaged[AnalyzeHealthcareEntitiesResult | DocumentError]]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- model_version
- str
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi istatistiklerini içerir.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- display_name
- str
İstenen analiz için ayarlanacağı isteğe bağlı bir görünen ad.
- string_index_type
- str
Dize uzaklıklarını yorumlamak için kullanılan yöntemi belirtir. 'UnicodeCodePoint' (varsayılan), 'Utf16CodeUnit' veya 'TextElement_v8' olabilir. Daha fazla bilgi için bkz. https://aka.ms/text-analytics-offsets
- polling_interval
- int
Retry-After üst bilgisi yoksa LRO işlemleri için iki yoklama arasında bekleme süresi. Varsayılan olarak 5 saniyedir.
- continuation_token
- str
Uzun süre çalışan işlem (LRO) durumunu opak bir belirteçte kaydetmek için poller nesnesinde continuation_token() öğesini çağırın. LRO'yu kaydedilmiş durumdan yeniden başlatmak için değeri continuation_token anahtar sözcük bağımsız değişkeni olarak geçirin.
- disable_service_logs
- bool
Varsayılan değer true'dır; başka bir deyişle Dil hizmeti, sorun giderme için giriş metninizi hizmet tarafında günlüğe kaydetmez. False olarak ayarlanırsa, Dil hizmeti giriş metninizi yalnızca Metin Analizi doğal dil işleme işlevlerini sağlamadaki sorunları gidermeye izin vermek için 48 saat boyunca günlüğe kaydeder. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
Döndürülenler
AsyncAnalyzeHealthcareEntitiesLROPoller örneği. ve DocumentErrorheterojen bir disk belleği döndürebilmek için poller nesnesinde result() öğesini çağırınAnalyzeHealthcareEntitiesResult.
Dönüş türü
Özel durumlar
Örnekler
Sağlık varlıklarını bir grup belge halinde analiz edin.
import os
import typing
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import HealthcareEntityRelation
from azure.ai.textanalytics.aio import TextAnalyticsClient
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.
"""
]
async with text_analytics_client:
poller = await text_analytics_client.begin_analyze_healthcare_entities(documents)
result = await poller.result()
docs = [doc async 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
Uzun süre çalışan bir ayıklayıcı özetleme işlemi başlatın.
Ayıklayıcı özetlemenin kavramsal bir tartışması için hizmet belgelerine bakın: https://video2.skills-academy.com/azure/cognitive-services/language-service/summarization/overview
Sürüm 2023-04-01'de yeni: begin_extract_summary istemci yöntemi.
async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[ExtractiveSummaryResult | DocumentError]]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi istatistiklerini içerir.
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
- polling_interval
- int
Retry-After üst bilgisi yoksa LRO işlemleri için iki yoklama arasında bekleme süresi. Varsayılan olarak 5 saniyedir.
- continuation_token
- str
Uzun süre çalışan işlem (LRO) durumunu opak bir belirteçte kaydetmek için poller nesnesinde continuation_token() öğesini çağırın. LRO'yu kaydedilmiş durumdan yeniden başlatmak için değeri continuation_token anahtar sözcük bağımsız değişkeni olarak geçirin.
- display_name
- str
İstenen analiz için ayarlanacağı isteğe bağlı bir görünen ad.
Döndürülenler
AsyncTextAnalysisLROPoller örneği. ve DocumentErrorheterojen bir disk belleği döndürebilmek için bu nesnede result() öğesini çağırınExtractiveSummaryResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belge üzerinde ayıklayıcı özetleme gerçekleştirin.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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."
]
async with text_analytics_client:
poller = await text_analytics_client.begin_extract_summary(document)
extract_summary_results = await poller.result()
async 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
Uzun süre çalışan özel bir çoklu etiket sınıflandırma işlemi başlatın.
Özel özelliklerin bölgesel desteği ve belgelerinizi sınıflandırmak için model eğitme hakkında bilgi için bkz. https://aka.ms/azsdk/textanalytics/customfunctionalities
Sürüm 2022-05-01'de yeni: begin_multi_label_classify istemci yöntemi.
async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[ClassifyDocumentResult | DocumentError]]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi istatistiklerini içerir.
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
- polling_interval
- int
Retry-After üst bilgisi yoksa LRO işlemleri için iki yoklama arasında bekleme süresi. Varsayılan olarak 5 saniyedir.
- continuation_token
- str
Uzun süre çalışan işlem (LRO) durumunu opak bir belirteçte kaydetmek için poller nesnesinde continuation_token() öğesini çağırın. LRO'yu kaydedilmiş durumdan yeniden başlatmak için değeri continuation_token anahtar sözcük bağımsız değişkeni olarak geçirin.
- display_name
- str
İstenen analiz için ayarlanacağı isteğe bağlı bir görünen ad.
Döndürülenler
AsyncTextAnalysisLROPoller örneği. ve DocumentErrorheterojen bir disk belleği döndürebilmek için bu nesnede result() öğesini çağırınClassifyDocumentResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belge üzerinde çok etiketli sınıflandırma gerçekleştirin.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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",
)
)
with open(path_to_sample_document) as fd:
document = [fd.read()]
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=AzureKeyCredential(key),
)
async with text_analytics_client:
poller = await text_analytics_client.begin_multi_label_classify(
document,
project_name=project_name,
deployment_name=deployment_name
)
pages = await poller.result()
document_results = []
async for page in pages:
document_results.append(page)
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
Uzun süre çalışan özel adlandırılmış varlık tanıma işlemi başlatın.
Özel özelliklerin bölgesel desteği ve modeli özel varlıkları tanıyacak şekilde eğitme hakkında bilgi için bkz. https://aka.ms/azsdk/textanalytics/customentityrecognition
Sürüm 2022-05-01'de yeni: begin_recognize_custom_entities istemci yöntemi.
async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[RecognizeCustomEntitiesResult | DocumentError]]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi istatistiklerini içerir.
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
- string_index_type
- str
Dize uzaklıklarını yorumlamak için kullanılan yöntemi belirtir. Python kodlaması olan UnicodeCodePoint varsayılan değerdir. Python varsayılanını geçersiz kılmak için Utf16CodeUnit veya TextElement_v8 de geçirebilirsiniz. Daha fazla bilgi için bkz. https://aka.ms/text-analytics-offsets
- polling_interval
- int
Retry-After üst bilgisi yoksa LRO işlemleri için iki yoklama arasında bekleme süresi. Varsayılan olarak 5 saniyedir.
- continuation_token
- str
Uzun süre çalışan işlem (LRO) durumunu opak bir belirteçte kaydetmek için poller nesnesinde continuation_token() öğesini çağırın. LRO'yu kaydedilmiş durumdan yeniden başlatmak için değeri continuation_token anahtar sözcük bağımsız değişkeni olarak geçirin.
- display_name
- str
İstenen analiz için ayarlanacağı isteğe bağlı bir görünen ad.
Döndürülenler
AsyncTextAnalysisLROPoller örneği. ve DocumentErrorheterojen bir disk belleği döndürebilmek için bu nesnede result() öğesini çağırınRecognizeCustomEntitiesResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belgedeki özel varlıkları tanıma.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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()]
async with text_analytics_client:
poller = await text_analytics_client.begin_recognize_custom_entities(
document,
project_name=project_name,
deployment_name=deployment_name
)
document_results = await poller.result()
async 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
Uzun süre çalışan özel bir tek etiket sınıflandırma işlemi başlatın.
Özel özelliklerin bölgesel desteği ve belgelerinizi sınıflandırmak için model eğitme hakkında bilgi için bkz. https://aka.ms/azsdk/textanalytics/customfunctionalities
Sürüm 2022-05-01'de yeni: begin_single_label_classify istemci yöntemi.
async 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) -> AsyncTextAnalysisLROPoller[AsyncItemPaged[ClassifyDocumentResult | DocumentError]]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi istatistiklerini içerir.
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
- polling_interval
- int
Retry-After üst bilgisi yoksa LRO işlemleri için iki yoklama arasında bekleme süresi. Varsayılan olarak 5 saniyedir.
- continuation_token
- str
Uzun süre çalışan işlem (LRO) durumunu opak bir belirteçte kaydetmek için poller nesnesinde continuation_token() öğesini çağırın. LRO'yu kaydedilmiş durumdan yeniden başlatmak için değeri continuation_token anahtar sözcük bağımsız değişkeni olarak geçirin.
- display_name
- str
İstenen analiz için ayarlanacağı isteğe bağlı bir görünen ad.
Döndürülenler
AsyncTextAnalysisLROPoller örneği. ve DocumentErrorheterojen bir disk belleği döndürebilmek için bu nesnede result() öğesini çağırınClassifyDocumentResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belge üzerinde tek etiket sınıflandırması gerçekleştirme.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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()]
async with text_analytics_client:
poller = await text_analytics_client.begin_single_label_classify(
document,
project_name=project_name,
deployment_name=deployment_name
)
pages = await poller.result()
document_results = []
async for page in pages:
document_results.append(page)
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
İstemci tarafından açılan yuvaları kapatın. İstemciyi bağlam yöneticisi olarak kullanırken bu yöntemi çağırmak gereksizdir.
async close() -> None
Özel durumlar
detect_language
Bir grup belge için dili algılama.
Algılanan dili ve sıfır ile bir arasındaki sayısal puanı döndürür. Birine yakın puanlar, tanımlanan dilin doğru olduğundan %100 emin olduğunu gösterir. Etkin dillerin listesi için bkz https://aka.ms/talangs .
Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits .
Sürüm v3.1'de yeni: disable_service_logs anahtar sözcük bağımsız değişkeni.
async 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]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimliği ve country_hint öğe temelinde belirtmek istiyorsanız, giriş listesi[] veya {"id": "1", "country_hint": "us", "text": "hello world"}gibi bir dikte gösterimleri DetectLanguageInputlistesi olarak kullanmanız gerekir.DetectLanguageInput
- country_hint
- str
Toplu iş için çıkış noktası ülkesi ipucu. ISO 3166-1 alfa-2 tarafından belirtilen iki harfli ülke kodunu kabul eder. Belge başına ülke ipuçları, toplu iş ipuçlarının tamamına göre önceliklidir. Varsayılan olarak "US" kullanılır. Ülke ipucu kullanmak istemiyorsanız "none" dizesini geçirin.
- model_version
- str
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi yanıtının istatistik alanında belge düzeyi istatistiklerini içerir.
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
Döndürülenler
özgün belgelerin geçiriliş sırasına göre ve DocumentError birleşik listesiDetectLanguageResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belgedeki dili algılama.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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!
""",
"""
最近由于工作压力太大,我们决定去富酒店度假。那儿的温泉实在太舒服了,我跟我丈夫都完全恢复了工作前的青春精神!加油!
"""
]
async with text_analytics_client:
result = await 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
Bir grup belgeden anahtar ifadeleri ayıklayın.
Giriş metnindeki anahtar ifadeleri belirten dizelerin listesini döndürür. Örneğin, "Yemekler lezzetliydi ve harika personel vardı" giriş metni için API ana konuşma noktalarını döndürür: "yemek" ve "harika personel"
Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits .
Sürüm v3.1'de yeni: disable_service_logs anahtar sözcük bağımsız değişkeni.
async 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]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- model_version
- str
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi yanıtının istatistik alanında belge düzeyi istatistiklerini içerir.
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
Döndürülenler
özgün belgelerin geçiriliş sırasına göre ve DocumentError birleşik listesiExtractKeyPhrasesResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belgedeki anahtar ifadeleri ayıklayın.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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...
"""
]
async with text_analytics_client:
result = await text_analytics_client.extract_key_phrases(articles)
articles_that_mention_microsoft = []
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
Bir grup belge için varlıkları tanıma.
Metninizdeki varlıkları kişiler, yerler, kuruluşlar, tarih/saat, miktarlar, yüzdeler, para birimleri ve daha fazlası olarak tanımlar ve kategorilere ayırır. Desteklenen varlık türlerinin listesi için şunları denetleyin: https://aka.ms/taner
Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits .
v3.1 sürümündeki yenilikler: disable_service_logs ve string_index_type anahtar sözcük bağımsız değişkenleri.
async 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]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- model_version
- str
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi yanıtının istatistik alanında belge düzeyi istatistiklerini içerir.
- string_index_type
- str
Dize uzaklıklarını yorumlamak için kullanılan yöntemi belirtir. Python kodlaması olan UnicodeCodePoint varsayılan değerdir. Python varsayılanını geçersiz kılmak için Utf16CodeUnit veya TextElement_v8 de geçirebilirsiniz. Daha fazla bilgi için bkz. https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
Döndürülenler
özgün belgelerin geçiriliş sırasına göre ve DocumentError birleşik listesiRecognizeEntitiesResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belgedeki varlıkları tanıma.
import os
import typing
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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!!!!"""
]
async with text_analytics_client:
result = await 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
Bir grup belge için iyi bilinen bir bilgi bankası bağlı varlıkları tanıyın.
Metinde bulunan her varlığın kimliğini tanımlar ve kesinliklerini belirler (örneğin, Mars sözcüğünün bir oluşumunun gezegene mi yoksa Roma savaş tanrısına mı başvurduğuna karar verme). Tanınan varlıklar Wikipedia gibi tanınmış bir bilgi bankası URL'leriyle ilişkilendirilir.
Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits .
v3.1 sürümündeki yenilikler: disable_service_logs ve string_index_type anahtar sözcük bağımsız değişkenleri.
async 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]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- model_version
- str
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi yanıtının istatistik alanında belge düzeyi istatistiklerini içerir.
- string_index_type
- str
Dize uzaklıklarını yorumlamak için kullanılan yöntemi belirtir. Python kodlaması olan UnicodeCodePoint varsayılan değerdir. Python varsayılanını geçersiz kılmak için Utf16CodeUnit veya TextElement_v8 de geçirebilirsiniz. Daha fazla bilgi için bkz. https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
True olarak ayarlanırsa, sorun giderme için metin girişinizin hizmet tarafında günlüğe kaydedilmesini geri çevirebilirsiniz. Varsayılan olarak, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Bu parametrenin true olarak ayarlanması, giriş günlüğünü devre dışı bırakır ve oluşan sorunları düzeltme yeteneğimizi sınırlayabilir. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
Döndürülenler
özgün belgelerin geçiriliş sırasına göre ve DocumentError birleşik listesiRecognizeLinkedEntitiesResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belgedeki bağlantılı varlıkları tanıma.
import os
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics.aio 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.
"""
]
async with text_analytics_client:
result = await 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
Bir grup belge için kişisel bilgiler içeren varlıkları tanıma.
Belgedeki kişisel bilgi varlıklarının ("SSN", "Banka Hesabı" vb.) listesini döndürür. Desteklenen varlık türlerinin listesi için https://aka.ms/azsdk/language/pii
Hizmet veri sınırları için bkz https://aka.ms/azsdk/textanalytics/data-limits .
Sürüm v3.1'de yeni: recognize_pii_entities istemci yöntemi.
async 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]
Parametreler
Bu toplu işlemin bir parçası olarak işlenmek üzere belge kümesi. Kimlik ve dili öğe temelinde belirtmek istiyorsanız, bir liste[TextDocumentInput] veya değerinin dikte gösterimlerinin TextDocumentInputlistesi olarak kullanmanız gerekir. Örneğin : {"id": "1", "language": "en", "text": "hello world"}.
- language
- str
Toplu iş için dilin 2 harfli ISO 639-1 gösterimi. Örneğin, İngilizce için "en" kullanın; İspanyolca vb için "es" Ayarlanmadıysa, varsayılan olarak İngilizce için "en" kullanır. Belge başına dil, toplu iş dilinin tamamına göre önceliklidir. Bkz. https://aka.ms/talangs Dil API'sinde desteklenen diller için.
- model_version
- str
Analiz için kullanılacak model sürümü, örneğin "en son". Model sürümü belirtilmezse, API varsayılan olarak en son, önizleme dışı sürüme ayarlanır. Daha fazla bilgi için buraya bakın: https://aka.ms/text-analytics-model-versioning
- show_stats
- bool
True olarak ayarlanırsa, yanıt belge düzeyi yanıtının istatistik alanında belge düzeyi istatistiklerini içerir.
- domain_filter
- str veya PiiEntityDomain
Yanıt varlıklarını yalnızca belirtilen etki alanına dahil edilenlere filtreler. Örneğin, 'phi' olarak ayarlanırsa yalnızca Protected Healthcare Information etki alanındaki varlıkları döndürür. Daha fazla bilgi edinmek için bkz. https://aka.ms/azsdk/language/pii.
- categories_filter
- list[str veya PiiEntityCategory]
Tüm PII varlık kategorilerini filtrelemek yerine, filtrelemek istediğiniz belirli PII varlık kategorilerinin listesini geçirebilirsiniz. Örneğin, bir belgedeki yalnızca ABD sosyal güvenlik numaralarını filtrelemek istiyorsanız, bu kwarg için [PiiEntityCategory.US_SOCIAL_SECURITY_NUMBER] geçirebilirsiniz.
- string_index_type
- str
Dize uzaklıklarını yorumlamak için kullanılan yöntemi belirtir. Python kodlaması olan UnicodeCodePoint varsayılan değerdir. Python varsayılanını geçersiz kılmak için Utf16CodeUnit veya TextElement_v8 de geçirebilirsiniz. Daha fazla bilgi için bkz. https://aka.ms/text-analytics-offsets
- disable_service_logs
- bool
Varsayılan değer true'dır; başka bir deyişle Dil hizmeti, sorun giderme için giriş metninizi hizmet tarafında günlüğe kaydetmez. False olarak ayarlanırsa, Dil hizmeti giriş metninizi 48 saat boyunca günlüğe kaydeder ve yalnızca hizmetin doğal dil işleme işlevlerini size sağlama sorunlarını gidermeye olanak sağlar. Ek ayrıntılar için adresinden Bilişsel Hizmetler Uyumluluğu ve Gizlilik notlarına https://aka.ms/cs-compliance ve adresinden Microsoft Sorumlu Yapay Zeka ilkelerine https://www.microsoft.com/ai/responsible-aibakın.
Döndürülenler
özgün belgelerin geçiriliş sırasına göre ve DocumentError birleşik listesiRecognizePiiEntitiesResult.
Dönüş türü
Özel durumlar
Örnekler
Bir grup belgedeki kişisel bilgi varlıklarını tanıma.
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