Class TextAnalyticsAsyncClient
Instantiating an asynchronous Text Analytics Client
TextAnalyticsAsyncClient textAnalyticsAsyncClient = new TextAnalyticsClientBuilder() .credential(new AzureKeyCredential("{key}")) .endpoint("{endpoint}") .buildAsyncClient();
View TextAnalyticsClientBuilder
for additional ways to construct the client.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionanalyzeSentiment
(String document) Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it.analyzeSentiment
(String document, String language) Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it.analyzeSentiment
(String document, String language, AnalyzeSentimentOptions options) Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it.analyzeSentimentBatch
(Iterable<String> documents, String language, AnalyzeSentimentOptions options) Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it.analyzeSentimentBatch
(Iterable<String> documents, String language, TextAnalyticsRequestOptions options) Deprecated.Mono<com.azure.core.http.rest.Response<AnalyzeSentimentResultCollection>>
analyzeSentimentBatchWithResponse
(Iterable<TextDocumentInput> documents, AnalyzeSentimentOptions options) Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it.Mono<com.azure.core.http.rest.Response<AnalyzeSentimentResultCollection>>
analyzeSentimentBatchWithResponse
(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options) Deprecated.com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,
AnalyzeActionsResultPagedFlux> beginAnalyzeActions
(Iterable<TextDocumentInput> documents, TextAnalyticsActions actions, AnalyzeActionsOptions options) Execute actions, such as, entities recognition, PII entities recognition and key phrases extraction for a list ofdocuments
with provided request options.com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,
AnalyzeActionsResultPagedFlux> beginAnalyzeActions
(Iterable<String> documents, TextAnalyticsActions actions) Execute actions, such as, entities recognition, PII entities recognition and key phrases extraction for a list ofdocuments
.com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,
AnalyzeActionsResultPagedFlux> beginAnalyzeActions
(Iterable<String> documents, TextAnalyticsActions actions, String language, AnalyzeActionsOptions options) Execute actions, such as, entities recognition, PII entities recognition and key phrases extraction for a list ofdocuments
with provided request options.com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,
AnalyzeHealthcareEntitiesPagedFlux> beginAnalyzeHealthcareEntities
(Iterable<TextDocumentInput> documents, AnalyzeHealthcareEntitiesOptions options) Analyze healthcare entities, entity data sources, and entity relations in a list ofdocument
and provided request options to show statistics.com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,
AnalyzeHealthcareEntitiesPagedFlux> beginAnalyzeHealthcareEntities
(Iterable<String> documents) Analyze healthcare entities, entity data sources, and entity relations in a list ofdocuments
.com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,
AnalyzeHealthcareEntitiesPagedFlux> beginAnalyzeHealthcareEntities
(Iterable<String> documents, String language, AnalyzeHealthcareEntitiesOptions options) Analyze healthcare entities, entity data sources, and entity relations in a list ofdocuments
with provided request options.com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,
ClassifyDocumentPagedFlux> beginMultiLabelClassify
(Iterable<TextDocumentInput> documents, String projectName, String deploymentName, MultiLabelClassifyOptions options) Returns a list of multi-label classification for the provided list ofdocument
with provided request options.com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,
ClassifyDocumentPagedFlux> beginMultiLabelClassify
(Iterable<String> documents, String projectName, String deploymentName) Returns a list of multi-label classification for the provided list ofdocument
.com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,
ClassifyDocumentPagedFlux> beginMultiLabelClassify
(Iterable<String> documents, String projectName, String deploymentName, String language, MultiLabelClassifyOptions options) Returns a list of multi-label classification for the provided list ofdocument
with provided request options.com.azure.core.util.polling.PollerFlux<RecognizeCustomEntitiesOperationDetail,
RecognizeCustomEntitiesPagedFlux> beginRecognizeCustomEntities
(Iterable<TextDocumentInput> documents, String projectName, String deploymentName, RecognizeCustomEntitiesOptions options) Returns a list of custom entities for the provided list ofdocument
with provided request options.com.azure.core.util.polling.PollerFlux<RecognizeCustomEntitiesOperationDetail,
RecognizeCustomEntitiesPagedFlux> beginRecognizeCustomEntities
(Iterable<String> documents, String projectName, String deploymentName) Returns a list of custom entities for the provided list ofdocument
.com.azure.core.util.polling.PollerFlux<RecognizeCustomEntitiesOperationDetail,
RecognizeCustomEntitiesPagedFlux> beginRecognizeCustomEntities
(Iterable<String> documents, String projectName, String deploymentName, String language, RecognizeCustomEntitiesOptions options) Returns a list of custom entities for the provided list ofdocument
with provided request options.com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,
ClassifyDocumentPagedFlux> beginSingleLabelClassify
(Iterable<TextDocumentInput> documents, String projectName, String deploymentName, SingleLabelClassifyOptions options) Returns a list of single-label classification for the provided list ofdocument
with provided request options.com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,
ClassifyDocumentPagedFlux> beginSingleLabelClassify
(Iterable<String> documents, String projectName, String deploymentName) Returns a list of single-label classification for the provided list ofdocument
.com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,
ClassifyDocumentPagedFlux> beginSingleLabelClassify
(Iterable<String> documents, String projectName, String deploymentName, String language, SingleLabelClassifyOptions options) Returns a list of single-label classification for the provided list ofdocument
with provided request options.detectLanguage
(String document) Returns the detected language and a confidence score between zero and one.detectLanguage
(String document, String countryHint) Returns aResponse
contains the detected language and a confidence score between zero and one.detectLanguageBatch
(Iterable<String> documents, String countryHint, TextAnalyticsRequestOptions options) Returns the detected language for each of documents with the provided country hint and request option.Mono<com.azure.core.http.rest.Response<DetectLanguageResultCollection>>
detectLanguageBatchWithResponse
(Iterable<DetectLanguageInput> documents, TextAnalyticsRequestOptions options) Returns the detected language for a batch ofdocument
with provided request options.dynamicClassificationBatch
(Iterable<String> documents, String language, DynamicClassificationOptions options) Perform dynamic classification on a batch of documents.Mono<com.azure.core.http.rest.Response<DynamicClassifyDocumentResultCollection>>
dynamicClassificationBatchWithResponse
(Iterable<TextDocumentInput> documents, DynamicClassificationOptions options) Perform dynamic classification on a batch of documents.extractKeyPhrases
(String document) Returns a list of strings denoting the key phrases in the document.extractKeyPhrases
(String document, String language) Returns a list of strings denoting the key phrases in the document.extractKeyPhrasesBatch
(Iterable<String> documents, String language, TextAnalyticsRequestOptions options) Returns a list of strings denoting the key phrases in the document with provided language code and request options.Mono<com.azure.core.http.rest.Response<ExtractKeyPhrasesResultCollection>>
extractKeyPhrasesBatchWithResponse
(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options) Returns a list of strings denoting the key phrases in the document with provided request options.Gets default country hint code.Gets default language when the builder is setup.recognizeEntities
(String document) Returns a list of general categorized entities in the provided document.recognizeEntities
(String document, String language) Returns a list of general categorized entities in the provided document.recognizeEntitiesBatch
(Iterable<String> documents, String language, TextAnalyticsRequestOptions options) Returns a list of general categorized entities for the provided list of documents with the provided language code and request options.Mono<com.azure.core.http.rest.Response<RecognizeEntitiesResultCollection>>
recognizeEntitiesBatchWithResponse
(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options) Returns a list of general categorized entities for the provided list ofdocument
with provided request options.recognizeLinkedEntities
(String document) Returns a list of recognized entities with links to a well-known knowledge base for the provided document.recognizeLinkedEntities
(String document, String language) Returns a list of recognized entities with links to a well-known knowledge base for the provided document.recognizeLinkedEntitiesBatch
(Iterable<String> documents, String language, TextAnalyticsRequestOptions options) Returns a list of recognized entities with links to a well-known knowledge base for the list of documents with provided language code and request options.Mono<com.azure.core.http.rest.Response<RecognizeLinkedEntitiesResultCollection>>
recognizeLinkedEntitiesBatchWithResponse
(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options) Returns a list of recognized entities with links to a well-known knowledge base for the list ofdocument
with provided request options.recognizePiiEntities
(String document) Returns a list of Personally Identifiable Information(PII) entities in the provided document.recognizePiiEntities
(String document, String language) Returns a list of Personally Identifiable Information(PII) entities in the provided document with provided language code.recognizePiiEntities
(String document, String language, RecognizePiiEntitiesOptions options) Returns a list of Personally Identifiable Information(PII) entities in the provided document with provided language code.recognizePiiEntitiesBatch
(Iterable<String> documents, String language, RecognizePiiEntitiesOptions options) Returns a list of Personally Identifiable Information(PII) entities for the provided list of documents with the provided language code and request options.Mono<com.azure.core.http.rest.Response<RecognizePiiEntitiesResultCollection>>
recognizePiiEntitiesBatchWithResponse
(Iterable<TextDocumentInput> documents, RecognizePiiEntitiesOptions options) Returns a list of Personally Identifiable Information entities for the provided list ofdocument
with provided request options.
-
Method Details
-
getDefaultCountryHint
Gets default country hint code.- Returns:
- The default country hint code
-
getDefaultLanguage
Gets default language when the builder is setup.- Returns:
- The default language
-
detectLanguage
Returns the detected language and a confidence score between zero and one. Scores close to one indicate 100% certainty that the identified language is true. This method will use the default country hint that sets up inTextAnalyticsClientBuilder.defaultCountryHint(String)
. If none is specified, service will use 'US' as the country hint.Code sample
Detects language in a document. Subscribes to the call asynchronously and prints out the detected language details when a response is received.
String document = "Bonjour tout le monde"; textAnalyticsAsyncClient.detectLanguage(document).subscribe(detectedLanguage -> System.out.printf("Detected language name: %s, ISO 6391 Name: %s, confidence score: %f.%n", detectedLanguage.getName(), detectedLanguage.getIso6391Name(), detectedLanguage.getConfidenceScore()));
- Parameters:
document
- The document to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.- Returns:
- A
Mono
containing thedetected language
of the document. - Throws:
NullPointerException
- if the document is null.TextAnalyticsException
- if the response returned with anerror
.
-
detectLanguage
Returns aResponse
contains the detected language and a confidence score between zero and one. Scores close to one indicate 100% certainty that the identified language is true.Code sample
Detects language with http response in a document with a provided country hint. Subscribes to the call asynchronously and prints out the detected language details when a response is received.
String document = "This text is in English"; String countryHint = "US"; textAnalyticsAsyncClient.detectLanguage(document, countryHint).subscribe(detectedLanguage -> System.out.printf("Detected language name: %s, ISO 6391 Name: %s, confidence score: %f.%n", detectedLanguage.getName(), detectedLanguage.getIso6391Name(), detectedLanguage.getConfidenceScore()));
- Parameters:
document
- The document to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.countryHint
- Accepts 2-letter country codes specified by ISO 3166-1 alpha-2. Defaults to "US" if not specified. To remove this behavior you can reset this parameter by setting this value to empty stringcountryHint
= "" or "none".- Returns:
- A
Mono
contains adetected language
of the document. - Throws:
NullPointerException
- if the document is null.TextAnalyticsException
- if the response returned with anerror
.
-
detectLanguageBatch
public Mono<DetectLanguageResultCollection> detectLanguageBatch(Iterable<String> documents, String countryHint, TextAnalyticsRequestOptions options) Returns the detected language for each of documents with the provided country hint and request option.Code sample
Detects language in a list of documents with a provided country hint and request option for the batch. Subscribes to the call asynchronously and prints out the detected language details when a response is received.
List<String> documents = Arrays.asList( "This is written in English", "Este es un documento escrito en Español." ); textAnalyticsAsyncClient.detectLanguageBatch(documents, "US", null).subscribe( batchResult -> { // Batch statistics TextDocumentBatchStatistics batchStatistics = batchResult.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); // Batch result of languages for (DetectLanguageResult detectLanguageResult : batchResult) { DetectedLanguage detectedLanguage = detectLanguageResult.getPrimaryLanguage(); System.out.printf("Detected language name: %s, ISO 6391 Name: %s, confidence score: %f.%n", detectedLanguage.getName(), detectedLanguage.getIso6391Name(), detectedLanguage.getConfidenceScore()); } });
- Parameters:
documents
- The list of documents to detect languages for. For text length limits, maximum batch size, and supported text encoding, see data limits.countryHint
- Accepts two letter country codes specified by ISO 3166-1 alpha-2. Defaults to "US" if not specified. To remove this behavior you can reset this parameter by setting this value to empty stringcountryHint
= "" or "none".options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aDetectLanguageResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
is only available for API version v3.1 and newer.
-
detectLanguageBatchWithResponse
public Mono<com.azure.core.http.rest.Response<DetectLanguageResultCollection>> detectLanguageBatchWithResponse(Iterable<DetectLanguageInput> documents, TextAnalyticsRequestOptions options) Returns the detected language for a batch ofdocument
with provided request options.Code sample
Detects language in a batch of
document
with provided request options. Subscribes to the call asynchronously and prints out the detected language details when a response is received.List<DetectLanguageInput> detectLanguageInputs1 = Arrays.asList( new DetectLanguageInput("1", "This is written in English.", "US"), new DetectLanguageInput("2", "Este es un documento escrito en Español.", "ES") ); TextAnalyticsRequestOptions requestOptions = new TextAnalyticsRequestOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.detectLanguageBatchWithResponse(detectLanguageInputs1, requestOptions) .subscribe(response -> { // Response's status code System.out.printf("Status code of request response: %d%n", response.getStatusCode()); DetectLanguageResultCollection resultCollection = response.getValue(); // Batch statistics TextDocumentBatchStatistics batchStatistics = resultCollection.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); // Batch result of languages for (DetectLanguageResult detectLanguageResult : resultCollection) { DetectedLanguage detectedLanguage = detectLanguageResult.getPrimaryLanguage(); System.out.printf("Detected language name: %s, ISO 6391 Name: %s, confidence score: %f.%n", detectedLanguage.getName(), detectedLanguage.getIso6391Name(), detectedLanguage.getConfidenceScore()); } });
- Parameters:
documents
- The list ofdocuments
to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aResponse
which contains aDetectLanguageResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
is only available for API version v3.1 and newer.
-
recognizeEntities
Returns a list of general categorized entities in the provided document. For a list of supported entity types, check: this. For a list of enabled languages, check: this. This method will use the default language that can be set by using methodTextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Code sample
Recognize entities in a document. Subscribes to the call asynchronously and prints out the recognized entity details when a response is received.
String document = "Satya Nadella is the CEO of Microsoft"; textAnalyticsAsyncClient.recognizeEntities(document) .subscribe(entityCollection -> entityCollection.forEach(entity -> System.out.printf("Recognized categorized entity: %s, category: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getConfidenceScore())));
- Parameters:
document
- The document to recognize entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.- Returns:
- A
Mono
contains arecognized categorized entities collection
. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.
-
recognizeEntities
Returns a list of general categorized entities in the provided document. For a list of supported entity types, check: this. For a list of enabled languages, check: this.Code sample
Recognize entities in a document with provided language code. Subscribes to the call asynchronously and prints out the entity details when a response is received.
String document = "Satya Nadella is the CEO of Microsoft"; textAnalyticsAsyncClient.recognizeEntities(document, "en") .subscribe(entityCollection -> entityCollection.forEach(entity -> System.out.printf("Recognized categorized entity: %s, category: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getConfidenceScore())));
- Parameters:
document
- the text to recognize entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language. If not set, uses "en" for English as default.- Returns:
- A
Mono
contains arecognized categorized entities collection
. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.
-
recognizeEntitiesBatch
public Mono<RecognizeEntitiesResultCollection> recognizeEntitiesBatch(Iterable<String> documents, String language, TextAnalyticsRequestOptions options) Returns a list of general categorized entities for the provided list of documents with the provided language code and request options.Code sample
Recognize entities in a document with the provided language code. Subscribes to the call asynchronously and prints out the entity details when a response is received.
List<String> documents = Arrays.asList( "I had a wonderful trip to Seattle last week.", "I work at Microsoft."); textAnalyticsAsyncClient.recognizeEntitiesBatch(documents, "en", null) .subscribe(batchResult -> { // Batch statistics TextDocumentBatchStatistics batchStatistics = batchResult.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); // Batch Result of entities batchResult.forEach(recognizeEntitiesResult -> recognizeEntitiesResult.getEntities().forEach(entity -> System.out.printf( "Recognized categorized entity: %s, category: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getConfidenceScore()))); });
- Parameters:
documents
- A list of documents to recognize entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language. If not set, uses "en" for English as default.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aRecognizeEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
is only available for API version v3.1 and newer.
-
recognizeEntitiesBatchWithResponse
public Mono<com.azure.core.http.rest.Response<RecognizeEntitiesResultCollection>> recognizeEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options) Returns a list of general categorized entities for the provided list ofdocument
with provided request options.Code sample
Recognize entities in a list of
document
. Subscribes to the call asynchronously and prints out the entity details when a response is received.List<TextDocumentInput> textDocumentInputs1 = Arrays.asList( new TextDocumentInput("0", "I had a wonderful trip to Seattle last week.").setLanguage("en"), new TextDocumentInput("1", "I work at Microsoft.").setLanguage("en")); TextAnalyticsRequestOptions requestOptions = new TextAnalyticsRequestOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.recognizeEntitiesBatchWithResponse(textDocumentInputs1, requestOptions) .subscribe(response -> { // Response's status code System.out.printf("Status code of request response: %d%n", response.getStatusCode()); RecognizeEntitiesResultCollection resultCollection = response.getValue(); // Batch statistics TextDocumentBatchStatistics batchStatistics = resultCollection.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); resultCollection.forEach(recognizeEntitiesResult -> recognizeEntitiesResult.getEntities().forEach(entity -> System.out.printf( "Recognized categorized entity: %s, category: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getConfidenceScore()))); });
- Parameters:
documents
- A list ofdocuments
to recognize entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aResponse
which contains aRecognizeEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
is only available for API version v3.1 and newer.
-
recognizePiiEntities
Returns a list of Personally Identifiable Information(PII) entities in the provided document. For a list of supported entity types, check: this. For a list of enabled languages, check: this. This method will use the default language that is set usingTextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Code sample
Recognize the PII entities details in a document. Subscribes to the call asynchronously and prints out the recognized entity details when a response is received.
String document = "My SSN is 859-98-0987"; textAnalyticsAsyncClient.recognizePiiEntities(document).subscribe(piiEntityCollection -> { System.out.printf("Redacted Text: %s%n", piiEntityCollection.getRedactedText()); piiEntityCollection.forEach(entity -> System.out.printf( "Recognized Personally Identifiable Information entity: %s, entity category: %s," + " entity subcategory: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore())); });
- Parameters:
document
- The document to recognize PII entities details for. For text length limits, maximum batch size, and supported text encoding, see data limits.- Returns:
- A
Mono
contains arecognized PII entities collection
. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.UnsupportedOperationException
- ifrecognizePiiEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
.recognizePiiEntities
is only available for API version v3.1 and newer.
-
recognizePiiEntities
Returns a list of Personally Identifiable Information(PII) entities in the provided document with provided language code. For a list of supported entity types, check: this. For a list of enabled languages, check: this.Code sample
Recognize the PII entities details in a document with provided language code. Subscribes to the call asynchronously and prints out the entity details when a response is received.
String document = "My SSN is 859-98-0987"; textAnalyticsAsyncClient.recognizePiiEntities(document, "en") .subscribe(piiEntityCollection -> { System.out.printf("Redacted Text: %s%n", piiEntityCollection.getRedactedText()); piiEntityCollection.forEach(entity -> System.out.printf( "Recognized Personally Identifiable Information entity: %s, entity category: %s," + " entity subcategory: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore())); });
- Parameters:
document
- the text to recognize PII entities details for. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language. If not set, uses "en" for English as default.- Returns:
- A
Mono
contains arecognized PII entities collection
. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.UnsupportedOperationException
- ifrecognizePiiEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
.recognizePiiEntities
is only available for API version v3.1 and newer.
-
recognizePiiEntities
public Mono<PiiEntityCollection> recognizePiiEntities(String document, String language, RecognizePiiEntitiesOptions options) Returns a list of Personally Identifiable Information(PII) entities in the provided document with provided language code. For a list of supported entity types, check: this. For a list of enabled languages, check: this.Code sample
Recognize the PII entities details in a document with provided language code and
RecognizePiiEntitiesOptions
. Subscribes to the call asynchronously and prints out the entity details when a response is received.String document = "My SSN is 859-98-0987"; textAnalyticsAsyncClient.recognizePiiEntities(document, "en", new RecognizePiiEntitiesOptions().setDomainFilter(PiiEntityDomain.PROTECTED_HEALTH_INFORMATION)) .subscribe(piiEntityCollection -> { System.out.printf("Redacted Text: %s%n", piiEntityCollection.getRedactedText()); piiEntityCollection.forEach(entity -> System.out.printf( "Recognized Personally Identifiable Information entity: %s, entity category: %s," + " entity subcategory: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore())); });
- Parameters:
document
- the text to recognize PII entities details for. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2-letter ISO 639-1 representation of language. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when recognizing PII entities.- Returns:
- A
Mono
contains arecognized PII entities collection
. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.UnsupportedOperationException
- ifrecognizePiiEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
.recognizePiiEntities
is only available for API version v3.1 and newer.
-
recognizePiiEntitiesBatch
public Mono<RecognizePiiEntitiesResultCollection> recognizePiiEntitiesBatch(Iterable<String> documents, String language, RecognizePiiEntitiesOptions options) Returns a list of Personally Identifiable Information(PII) entities for the provided list of documents with the provided language code and request options.Code sample
Recognize Personally Identifiable Information entities in a document with the provided language code. Subscribes to the call asynchronously and prints out the entity details when a response is received.
List<String> documents = Arrays.asList( "My SSN is 859-98-0987.", "Visa card 0111 1111 1111 1111." ); // Show statistics and model version RecognizePiiEntitiesOptions requestOptions = new RecognizePiiEntitiesOptions().setIncludeStatistics(true) .setModelVersion("latest"); textAnalyticsAsyncClient.recognizePiiEntitiesBatch(documents, "en", requestOptions) .subscribe(piiEntitiesResults -> { // Batch statistics TextDocumentBatchStatistics batchStatistics = piiEntitiesResults.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); piiEntitiesResults.forEach(recognizePiiEntitiesResult -> { PiiEntityCollection piiEntityCollection = recognizePiiEntitiesResult.getEntities(); System.out.printf("Redacted Text: %s%n", piiEntityCollection.getRedactedText()); piiEntityCollection.forEach(entity -> System.out.printf( "Recognized Personally Identifiable Information entity: %s, entity category: %s," + " entity subcategory: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore())); }); });
- Parameters:
documents
- A list of documents to recognize PII entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when recognizing PII entities.- Returns:
- A
Mono
contains aRecognizePiiEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifrecognizePiiEntitiesBatch
is called with service API versionTextAnalyticsServiceVersion.V3_0
.recognizePiiEntitiesBatch
is only available for API version v3.1 and newer.
-
recognizePiiEntitiesBatchWithResponse
public Mono<com.azure.core.http.rest.Response<RecognizePiiEntitiesResultCollection>> recognizePiiEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents, RecognizePiiEntitiesOptions options) Returns a list of Personally Identifiable Information entities for the provided list ofdocument
with provided request options.Code sample
Recognize the PII entities details with http response in a list of
document
with provided request options. Subscribes to the call asynchronously and prints out the entity details when a response is received.List<TextDocumentInput> textDocumentInputs1 = Arrays.asList( new TextDocumentInput("0", "My SSN is 859-98-0987."), new TextDocumentInput("1", "Visa card 0111 1111 1111 1111.")); // Show statistics and model version RecognizePiiEntitiesOptions requestOptions = new RecognizePiiEntitiesOptions().setIncludeStatistics(true) .setModelVersion("latest"); textAnalyticsAsyncClient.recognizePiiEntitiesBatchWithResponse(textDocumentInputs1, requestOptions) .subscribe(response -> { RecognizePiiEntitiesResultCollection piiEntitiesResults = response.getValue(); // Batch statistics TextDocumentBatchStatistics batchStatistics = piiEntitiesResults.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); piiEntitiesResults.forEach(recognizePiiEntitiesResult -> { PiiEntityCollection piiEntityCollection = recognizePiiEntitiesResult.getEntities(); System.out.printf("Redacted Text: %s%n", piiEntityCollection.getRedactedText()); piiEntityCollection.forEach(entity -> System.out.printf( "Recognized Personally Identifiable Information entity: %s, entity category: %s," + " entity subcategory: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore())); }); });
- Parameters:
documents
- A list ofdocuments
to recognize PII entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.options
- The additional configurableoptions
that may be passed when recognizing PII entities.- Returns:
- A
Mono
contains aResponse
which contains aRecognizePiiEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifrecognizePiiEntitiesBatchWithResponse
is called with service API versionTextAnalyticsServiceVersion.V3_0
.recognizePiiEntitiesBatchWithResponse
is only available for API version v3.1 and newer.
-
recognizeLinkedEntities
Returns a list of recognized entities with links to a well-known knowledge base for the provided document. See this for supported languages in Text Analytics API. This method will use the default language that can be set by using methodTextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Recognize linked entities in a document. Subscribes to the call asynchronously and prints out the entity details when a response is received.
String document = "Old Faithful is a geyser at Yellowstone Park."; textAnalyticsAsyncClient.recognizeLinkedEntities(document).subscribe( linkedEntityCollection -> linkedEntityCollection.forEach(linkedEntity -> { System.out.println("Linked Entities:"); System.out.printf("Name: %s, entity ID in data source: %s, URL: %s, data source: %s.%n", linkedEntity.getName(), linkedEntity.getDataSourceEntityId(), linkedEntity.getUrl(), linkedEntity.getDataSource()); linkedEntity.getMatches().forEach(entityMatch -> System.out.printf( "Matched entity: %s, confidence score: %f.%n", entityMatch.getText(), entityMatch.getConfidenceScore())); }));
- Parameters:
document
- The document to recognize linked entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.- Returns:
- A
Mono
contains arecognized linked entities collection
. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.
-
recognizeLinkedEntities
Returns a list of recognized entities with links to a well-known knowledge base for the provided document. See this for supported languages in Text Analytics API.Recognize linked entities in a text with provided language code. Subscribes to the call asynchronously and prints out the entity details when a response is received.
String document = "Old Faithful is a geyser at Yellowstone Park."; textAnalyticsAsyncClient.recognizeLinkedEntities(document, "en").subscribe( linkedEntityCollection -> linkedEntityCollection.forEach(linkedEntity -> { System.out.println("Linked Entities:"); System.out.printf("Name: %s, entity ID in data source: %s, URL: %s, data source: %s.%n", linkedEntity.getName(), linkedEntity.getDataSourceEntityId(), linkedEntity.getUrl(), linkedEntity.getDataSource()); linkedEntity.getMatches().forEach(entityMatch -> System.out.printf( "Matched entity: %s, confidence score: %f.%n", entityMatch.getText(), entityMatch.getConfidenceScore())); }));
- Parameters:
document
- The document to recognize linked entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the document. If not set, uses "en" for English as default.- Returns:
- A
Mono
contains arecognized linked entities collection
. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.
-
recognizeLinkedEntitiesBatch
public Mono<RecognizeLinkedEntitiesResultCollection> recognizeLinkedEntitiesBatch(Iterable<String> documents, String language, TextAnalyticsRequestOptions options) Returns a list of recognized entities with links to a well-known knowledge base for the list of documents with provided language code and request options. See this for supported languages in Text Analytics API.Recognize linked entities in a list of documents with provided language code. Subscribes to the call asynchronously and prints out the entity details when a response is received.
List<String> documents = Arrays.asList( "Old Faithful is a geyser at Yellowstone Park.", "Mount Shasta has lenticular clouds." ); textAnalyticsAsyncClient.recognizeLinkedEntitiesBatch(documents, "en", null) .subscribe(batchResult -> { // Batch statistics TextDocumentBatchStatistics batchStatistics = batchResult.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); batchResult.forEach(recognizeLinkedEntitiesResult -> recognizeLinkedEntitiesResult.getEntities().forEach(linkedEntity -> { System.out.println("Linked Entities:"); System.out.printf("Name: %s, entity ID in data source: %s, URL: %s, data source: %s.%n", linkedEntity.getName(), linkedEntity.getDataSourceEntityId(), linkedEntity.getUrl(), linkedEntity.getDataSource()); linkedEntity.getMatches().forEach(entityMatch -> System.out.printf( "Matched entity: %s, confidence score: %f.%n", entityMatch.getText(), entityMatch.getConfidenceScore())); })); });
- Parameters:
documents
- A list of documents to recognize linked entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the text. If not set, uses "en" for English as default.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aRecognizeLinkedEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
is only available for API version v3.1 and newer.
-
recognizeLinkedEntitiesBatchWithResponse
public Mono<com.azure.core.http.rest.Response<RecognizeLinkedEntitiesResultCollection>> recognizeLinkedEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options) Returns a list of recognized entities with links to a well-known knowledge base for the list ofdocument
with provided request options. See this supported languages in Language service API.Recognize linked entities in a list of
document
and provided request options to show statistics. Subscribes to the call asynchronously and prints out the entity details when a response is received.List<TextDocumentInput> textDocumentInputs1 = Arrays.asList( new TextDocumentInput("0", "Old Faithful is a geyser at Yellowstone Park.").setLanguage("en"), new TextDocumentInput("1", "Mount Shasta has lenticular clouds.").setLanguage("en")); TextAnalyticsRequestOptions requestOptions = new TextAnalyticsRequestOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.recognizeLinkedEntitiesBatchWithResponse(textDocumentInputs1, requestOptions) .subscribe(response -> { // Response's status code System.out.printf("Status code of request response: %d%n", response.getStatusCode()); RecognizeLinkedEntitiesResultCollection resultCollection = response.getValue(); // Batch statistics TextDocumentBatchStatistics batchStatistics = resultCollection.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); resultCollection.forEach(recognizeLinkedEntitiesResult -> recognizeLinkedEntitiesResult.getEntities().forEach(linkedEntity -> { System.out.println("Linked Entities:"); System.out.printf("Name: %s, entity ID in data source: %s, URL: %s, data source: %s.%n", linkedEntity.getName(), linkedEntity.getDataSourceEntityId(), linkedEntity.getUrl(), linkedEntity.getDataSource()); linkedEntity.getMatches().forEach(entityMatch -> System.out.printf( "Matched entity: %s, confidence score: %.2f.%n", entityMatch.getText(), entityMatch.getConfidenceScore())); })); });
- Parameters:
documents
- A list ofdocuments
to recognize linked entities for. For text length limits, maximum batch size, and supported text encoding, see data limits.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aResponse
which contains aRecognizeLinkedEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
is only available for API version v3.1 and newer.
-
extractKeyPhrases
Returns a list of strings denoting the key phrases in the document. This method will use the default language that can be set by using methodTextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Extract key phrases in a document. Subscribes to the call asynchronously and prints out the key phrases when a response is received.
System.out.println("Extracted phrases:"); textAnalyticsAsyncClient.extractKeyPhrases("Bonjour tout le monde").subscribe(keyPhrase -> System.out.printf("%s.%n", keyPhrase));
- Parameters:
document
- The document to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.- Returns:
- A
Mono
contains aKeyPhrasesCollection
. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.
-
extractKeyPhrases
Returns a list of strings denoting the key phrases in the document. See this for the list of enabled languages.Extract key phrases in a document with a provided language code. Subscribes to the call asynchronously and prints out the key phrases when a response is received.
System.out.println("Extracted phrases:"); textAnalyticsAsyncClient.extractKeyPhrases("Bonjour tout le monde", "fr") .subscribe(keyPhrase -> System.out.printf("%s.%n", keyPhrase));
- Parameters:
document
- The document to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the text. If not set, uses "en" for English as default.- Returns:
- A
Mono
contains aKeyPhrasesCollection
- Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.
-
extractKeyPhrasesBatch
public Mono<ExtractKeyPhrasesResultCollection> extractKeyPhrasesBatch(Iterable<String> documents, String language, TextAnalyticsRequestOptions options) Returns a list of strings denoting the key phrases in the document with provided language code and request options. See this for the list of enabled languages.Extract key phrases in a list of documents with a provided language and request options. Subscribes to the call asynchronously and prints out the key phrases when a response is received.
List<String> documents = Arrays.asList( "Hello world. This is some input text that I love.", "Bonjour tout le monde"); textAnalyticsAsyncClient.extractKeyPhrasesBatch(documents, "en", null).subscribe( extractKeyPhraseResults -> { // Batch statistics TextDocumentBatchStatistics batchStatistics = extractKeyPhraseResults.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); extractKeyPhraseResults.forEach(extractKeyPhraseResult -> { System.out.println("Extracted phrases:"); extractKeyPhraseResult.getKeyPhrases().forEach(keyPhrase -> System.out.printf("%s.%n", keyPhrase)); }); });
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the text. If not set, uses "en" for English as default.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aExtractKeyPhrasesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
is only available for API version v3.1 and newer.
-
extractKeyPhrasesBatchWithResponse
public Mono<com.azure.core.http.rest.Response<ExtractKeyPhrasesResultCollection>> extractKeyPhrasesBatchWithResponse(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options) Returns a list of strings denoting the key phrases in the document with provided request options. See this for the list of enabled languages.Extract key phrases in a list of
document
with provided request options. Subscribes to the call asynchronously and prints out the key phrases when a response is received.List<TextDocumentInput> textDocumentInputs1 = Arrays.asList( new TextDocumentInput("0", "I had a wonderful trip to Seattle last week.").setLanguage("en"), new TextDocumentInput("1", "I work at Microsoft.").setLanguage("en")); TextAnalyticsRequestOptions requestOptions = new TextAnalyticsRequestOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.extractKeyPhrasesBatchWithResponse(textDocumentInputs1, requestOptions) .subscribe(response -> { // Response's status code System.out.printf("Status code of request response: %d%n", response.getStatusCode()); ExtractKeyPhrasesResultCollection resultCollection = response.getValue(); // Batch statistics TextDocumentBatchStatistics batchStatistics = resultCollection.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); for (ExtractKeyPhraseResult extractKeyPhraseResult : resultCollection) { System.out.println("Extracted phrases:"); for (String keyPhrase : extractKeyPhraseResult.getKeyPhrases()) { System.out.printf("%s.%n", keyPhrase); } } });
- Parameters:
documents
- A list ofdocuments
to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aResponse
that contains aExtractKeyPhrasesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
is only available for API version v3.1 and newer.
-
analyzeSentiment
Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it. This method will use the default language that can be set by using methodTextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Code Sample
Analyze the sentiment in a document. Subscribes to the call asynchronously and prints out the sentiment details when a response is received.
String document = "The hotel was dark and unclean."; textAnalyticsAsyncClient.analyzeSentiment(document).subscribe(documentSentiment -> { System.out.printf("Recognized document sentiment: %s.%n", documentSentiment.getSentiment()); for (SentenceSentiment sentenceSentiment : documentSentiment.getSentences()) { System.out.printf( "Recognized sentence sentiment: %s, positive score: %.2f, neutral score: %.2f, " + "negative score: %.2f.%n", sentenceSentiment.getSentiment(), sentenceSentiment.getConfidenceScores().getPositive(), sentenceSentiment.getConfidenceScores().getNeutral(), sentenceSentiment.getConfidenceScores().getNegative()); } });
- Parameters:
document
- The document to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.- Returns:
- A
Mono
contains theanalyzed document sentiment
of the document. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.
-
analyzeSentiment
Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it.Code Sample
Analyze the sentiments in a document with a provided language representation. Subscribes to the call asynchronously and prints out the sentiment details when a response is received.
String document = "The hotel was dark and unclean."; textAnalyticsAsyncClient.analyzeSentiment(document, "en") .subscribe(documentSentiment -> { System.out.printf("Recognized sentiment label: %s.%n", documentSentiment.getSentiment()); for (SentenceSentiment sentenceSentiment : documentSentiment.getSentences()) { System.out.printf("Recognized sentence sentiment: %s, positive score: %.2f, neutral score: %.2f, " + "negative score: %.2f.%n", sentenceSentiment.getSentiment(), sentenceSentiment.getConfidenceScores().getPositive(), sentenceSentiment.getConfidenceScores().getNeutral(), sentenceSentiment.getConfidenceScores().getNegative()); } });
- Parameters:
document
- The document to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the text. If not set, uses "en" for English as default.- Returns:
- A
Mono
contains theanalyzed document sentiment
of the document. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.
-
analyzeSentiment
public Mono<DocumentSentiment> analyzeSentiment(String document, String language, AnalyzeSentimentOptions options) Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it. If theincludeOpinionMining
ofAnalyzeSentimentOptions
set to true, the output will include the opinion mining results. It mines the opinions of a sentence and conducts more granular analysis around the aspects in the text (also known as aspect-based sentiment analysis).Code Sample
Analyze the sentiment and mine the opinions for each sentence in a document with a provided language representation and
AnalyzeSentimentOptions
options. Subscribes to the call asynchronously and prints out the sentiment and sentence opinions details when a response is received.textAnalyticsAsyncClient.analyzeSentiment("The hotel was dark and unclean.", "en", new AnalyzeSentimentOptions().setIncludeOpinionMining(true)) .subscribe(documentSentiment -> { for (SentenceSentiment sentenceSentiment : documentSentiment.getSentences()) { System.out.printf("\tSentence sentiment: %s%n", sentenceSentiment.getSentiment()); sentenceSentiment.getOpinions().forEach(opinion -> { TargetSentiment targetSentiment = opinion.getTarget(); System.out.printf("\tTarget sentiment: %s, target text: %s%n", targetSentiment.getSentiment(), targetSentiment.getText()); for (AssessmentSentiment assessmentSentiment : opinion.getAssessments()) { System.out.printf("\t\t'%s' sentiment because of \"%s\". Is the assessment negated: %s.%n", assessmentSentiment.getSentiment(), assessmentSentiment.getText(), assessmentSentiment.isNegated()); } }); } });
- Parameters:
document
- The document to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the text. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when analyzing sentiments.- Returns:
- A
Mono
contains theanalyzed document sentiment
of the document. - Throws:
NullPointerException
- ifdocument
is null.TextAnalyticsException
- if the response returned with anerror
.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
orAnalyzeSentimentOptions.isIncludeOpinionMining()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
andincludeOpinionMining
are only available for API version v3.1 and newer.
-
analyzeSentimentBatch
@Deprecated public Mono<AnalyzeSentimentResultCollection> analyzeSentimentBatch(Iterable<String> documents, String language, TextAnalyticsRequestOptions options) Deprecated.Please use theanalyzeSentimentBatch(Iterable, String, AnalyzeSentimentOptions)
.Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it.Analyze sentiment in a list of documents with provided language code and request options. Subscribes to the call asynchronously and prints out the sentiment details when a response is received.
List<String> documents = Arrays.asList( "The hotel was dark and unclean.", "The restaurant had amazing gnocchi." ); textAnalyticsAsyncClient.analyzeSentimentBatch(documents, "en", new TextAnalyticsRequestOptions().setIncludeStatistics(true)).subscribe( response -> { // Batch statistics TextDocumentBatchStatistics batchStatistics = response.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); response.forEach(analyzeSentimentResult -> { System.out.printf("Document ID: %s%n", analyzeSentimentResult.getId()); DocumentSentiment documentSentiment = analyzeSentimentResult.getDocumentSentiment(); System.out.printf("Recognized document sentiment: %s.%n", documentSentiment.getSentiment()); documentSentiment.getSentences().forEach(sentenceSentiment -> System.out.printf("Recognized sentence sentiment: %s, positive score: %.2f, " + "neutral score: %.2f, negative score: %.2f.%n", sentenceSentiment.getSentiment(), sentenceSentiment.getConfidenceScores().getPositive(), sentenceSentiment.getConfidenceScores().getNeutral(), sentenceSentiment.getConfidenceScores().getNegative())); }); });
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the document. If not set, uses "en" for English as default.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aAnalyzeSentimentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.
-
analyzeSentimentBatch
public Mono<AnalyzeSentimentResultCollection> analyzeSentimentBatch(Iterable<String> documents, String language, AnalyzeSentimentOptions options) Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it. If theincludeOpinionMining
ofAnalyzeSentimentOptions
set to true, the output will include the opinion mining results. It mines the opinions of a sentence and conducts more granular analysis around the aspects in the text (also known as aspect-based sentiment analysis).Code Sample
Analyze the sentiments and mine the opinions for each sentence in a list of documents with a provided language representation and
AnalyzeSentimentOptions
options. Subscribes to the call asynchronously and prints out the sentiment and sentence opinions details when a response is received.List<TextDocumentInput> documents = Arrays.asList( new TextDocumentInput("0", "Elon Musk is the CEO of SpaceX and Tesla.").setLanguage("en"), new TextDocumentInput("1", "My SSN is 859-98-0987").setLanguage("en") ); SyncPoller<AnalyzeActionsOperationDetail, AnalyzeActionsResultPagedIterable> syncPoller = textAnalyticsClient.beginAnalyzeActions( documents, new TextAnalyticsActions().setDisplayName("{tasks_display_name}") .setRecognizeEntitiesActions(new RecognizeEntitiesAction()) .setExtractKeyPhrasesActions(new ExtractKeyPhrasesAction()), new AnalyzeActionsOptions().setIncludeStatistics(false), Context.NONE); syncPoller.waitForCompletion(); AnalyzeActionsResultPagedIterable result = syncPoller.getFinalResult(); result.forEach(analyzeActionsResult -> { System.out.println("Entities recognition action results:"); analyzeActionsResult.getRecognizeEntitiesResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getDocumentsResults().forEach( entitiesResult -> entitiesResult.getEntities().forEach( entity -> System.out.printf( "Recognized entity: %s, entity category: %s, entity subcategory: %s," + " confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore()))); } }); System.out.println("Key phrases extraction action results:"); analyzeActionsResult.getExtractKeyPhrasesResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getDocumentsResults().forEach(extractKeyPhraseResult -> { System.out.println("Extracted phrases:"); extractKeyPhraseResult.getKeyPhrases() .forEach(keyPhrases -> System.out.printf("\t%s.%n", keyPhrases)); }); } }); });
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the document. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when analyzing sentiments.- Returns:
- A
Mono
contains aAnalyzeSentimentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
orAnalyzeSentimentOptions.isIncludeOpinionMining()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
andincludeOpinionMining
are only available for API version v3.1 and newer.
-
analyzeSentimentBatchWithResponse
@Deprecated public Mono<com.azure.core.http.rest.Response<AnalyzeSentimentResultCollection>> analyzeSentimentBatchWithResponse(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options) Deprecated.Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it.Analyze sentiment in a list of
document
with provided request options. Subscribes to the call asynchronously and prints out the sentiment details when a response is received.List<TextDocumentInput> textDocumentInputs1 = Arrays.asList( new TextDocumentInput("0", "The hotel was dark and unclean.").setLanguage("en"), new TextDocumentInput("1", "The restaurant had amazing gnocchi.").setLanguage("en")); TextAnalyticsRequestOptions requestOptions = new TextAnalyticsRequestOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.analyzeSentimentBatchWithResponse(textDocumentInputs1, requestOptions) .subscribe(response -> { // Response's status code System.out.printf("Status code of request response: %d%n", response.getStatusCode()); AnalyzeSentimentResultCollection resultCollection = response.getValue(); // Batch statistics TextDocumentBatchStatistics batchStatistics = resultCollection.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); resultCollection.forEach(analyzeSentimentResult -> { System.out.printf("Document ID: %s%n", analyzeSentimentResult.getId()); DocumentSentiment documentSentiment = analyzeSentimentResult.getDocumentSentiment(); System.out.printf("Recognized document sentiment: %s.%n", documentSentiment.getSentiment()); documentSentiment.getSentences().forEach(sentenceSentiment -> System.out.printf("Recognized sentence sentiment: %s, positive score: %.2f, " + "neutral score: %.2f, negative score: %.2f.%n", sentenceSentiment.getSentiment(), sentenceSentiment.getConfidenceScores().getPositive(), sentenceSentiment.getConfidenceScores().getNeutral(), sentenceSentiment.getConfidenceScores().getNegative())); }); });
- Parameters:
documents
- A list ofdocuments
to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.options
- Theoptions
to configure the scoring model for documents and show statistics.- Returns:
- A
Mono
contains aResponse
that contains aAnalyzeSentimentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.
-
analyzeSentimentBatchWithResponse
public Mono<com.azure.core.http.rest.Response<AnalyzeSentimentResultCollection>> analyzeSentimentBatchWithResponse(Iterable<TextDocumentInput> documents, AnalyzeSentimentOptions options) Returns a sentiment prediction, as well as confidence scores for each sentiment label (Positive, Negative, and Neutral) for the document and each sentence within it. If theincludeOpinionMining
ofAnalyzeSentimentOptions
set to true, the output will include the opinion mining results. It mines the opinions of a sentence and conducts more granular analysis around the aspects in the text (also known as aspect-based sentiment analysis).Code Sample
Analyze sentiment and mine the opinions for each sentence in a list of
document
with providedAnalyzeSentimentOptions
options. Subscribes to the call asynchronously and prints out the sentiment and sentence opinions details when a response is received.List<TextDocumentInput> textDocumentInputs1 = Arrays.asList( new TextDocumentInput("0", "The hotel was dark and unclean.").setLanguage("en"), new TextDocumentInput("1", "The restaurant had amazing gnocchi.").setLanguage("en")); AnalyzeSentimentOptions options = new AnalyzeSentimentOptions() .setIncludeOpinionMining(true).setIncludeStatistics(true); textAnalyticsAsyncClient.analyzeSentimentBatchWithResponse(textDocumentInputs1, options) .subscribe(response -> { // Response's status code System.out.printf("Status code of request response: %d%n", response.getStatusCode()); AnalyzeSentimentResultCollection resultCollection = response.getValue(); // Batch statistics TextDocumentBatchStatistics batchStatistics = resultCollection.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); resultCollection.forEach(analyzeSentimentResult -> { System.out.printf("Document ID: %s%n", analyzeSentimentResult.getId()); DocumentSentiment documentSentiment = analyzeSentimentResult.getDocumentSentiment(); documentSentiment.getSentences().forEach(sentenceSentiment -> { System.out.printf("\tSentence sentiment: %s%n", sentenceSentiment.getSentiment()); sentenceSentiment.getOpinions().forEach(opinion -> { TargetSentiment targetSentiment = opinion.getTarget(); System.out.printf("\t\tTarget sentiment: %s, target text: %s%n", targetSentiment.getSentiment(), targetSentiment.getText()); for (AssessmentSentiment assessmentSentiment : opinion.getAssessments()) { System.out.printf( "\t\t\t'%s' assessment sentiment because of \"%s\". Is the assessment negated: %s.%n", assessmentSentiment.getSentiment(), assessmentSentiment.getText(), assessmentSentiment.isNegated()); } }); }); }); });
- Parameters:
documents
- A list ofdocuments
to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.options
- The additional configurableoptions
that may be passed when analyzing sentiments.- Returns:
- A
Mono
contains aResponse
that contains aAnalyzeSentimentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifTextAnalyticsRequestOptions.isServiceLogsDisabled()
orAnalyzeSentimentOptions.isIncludeOpinionMining()
is true in service API versionTextAnalyticsServiceVersion.V3_0
.disableServiceLogs
andincludeOpinionMining
are only available for API version v3.1 and newer.
-
dynamicClassificationBatch
public Mono<DynamicClassifyDocumentResultCollection> dynamicClassificationBatch(Iterable<String> documents, String language, DynamicClassificationOptions options) Perform dynamic classification on a batch of documents. On the fly classification of the input documents into one or multiple categories. Assigns either one or multiple categories per document. This type of classification doesn't require model training. See https://aka.ms/azsdk/textanalytics/data-limits for service data limits.Code Sample
Dynamic classification of each document in a list of
document
with providedDynamicClassificationOptions
options. Subscribes to the call asynchronously and prints out the dynamic classification details when a response is received.List<String> documents = new ArrayList<>(); documents.add("The WHO is issuing a warning about Monkey Pox."); documents.add("Mo Salah plays in Liverpool FC in England."); DynamicClassificationOptions options = new DynamicClassificationOptions() .setCategories("Health", "Politics", "Music", "Sport"); textAnalyticsAsyncClient.dynamicClassificationBatch(documents, "en", options) .subscribe( resultCollection -> resultCollection.forEach(documentResult -> { System.out.println("Document ID: " + documentResult.getId()); for (ClassificationCategory classification : documentResult.getClassifications()) { System.out.printf("\tCategory: %s, confidence score: %f.%n", classification.getCategory(), classification.getConfidenceScore()); } }), error -> System.err.println("There was an error analyzing dynamic classification of the documents. " + error), () -> System.out.println("End of analyzing dynamic classification."));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2 letter ISO 639-1 representation of language for the document. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when analyzing dynamic classification.- Returns:
- A
Mono
that contains aDynamicClassifyDocumentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifdynamicClassificationBatch
is called with service API versionTextAnalyticsServiceVersion.V3_0
,TextAnalyticsServiceVersion.V3_1
, orTextAnalyticsServiceVersion.V2022_05_01
. Those actions are only available for API version 2022-10-01-preview and newer.TextAnalyticsException
- If analyze operation fails.
-
dynamicClassificationBatchWithResponse
public Mono<com.azure.core.http.rest.Response<DynamicClassifyDocumentResultCollection>> dynamicClassificationBatchWithResponse(Iterable<TextDocumentInput> documents, DynamicClassificationOptions options) Perform dynamic classification on a batch of documents. On the fly classification of the input documents into one or multiple categories. Assigns either one or multiple categories per document. This type of classification doesn't require model training. See https://aka.ms/azsdk/textanalytics/data-limits for service data limits.Code Sample
Dynamic classification of each document in a list of
document
with providedDynamicClassificationOptions
options. Subscribes to the call asynchronously and prints out the dynamic classification details when a response is received.List<TextDocumentInput> documents = new ArrayList<>(); documents.add(new TextDocumentInput("1", "The WHO is issuing a warning about Monkey Pox.")); documents.add(new TextDocumentInput("2", "Mo Salah plays in Liverpool FC in England.")); DynamicClassificationOptions options = new DynamicClassificationOptions() .setCategories("Health", "Politics", "Music", "Sport"); textAnalyticsAsyncClient.dynamicClassificationBatchWithResponse(documents, options) .subscribe( response -> { // Response's status code System.out.printf("Status code of request response: %d%n", response.getStatusCode()); DynamicClassifyDocumentResultCollection resultCollection = response.getValue(); // Batch statistics TextDocumentBatchStatistics batchStatistics = resultCollection.getStatistics(); System.out.printf("Batch statistics, transaction count: %s, valid document count: %s.%n", batchStatistics.getTransactionCount(), batchStatistics.getValidDocumentCount()); resultCollection.forEach(documentResult -> { System.out.println("Document ID: " + documentResult.getId()); for (ClassificationCategory classification : documentResult.getClassifications()) { System.out.printf("\tCategory: %s, confidence score: %f.%n", classification.getCategory(), classification.getConfidenceScore()); } }); }, error -> System.err.println( "There was an error analyzing dynamic classification of the documents. " + error), () -> System.out.println("End of analyzing dynamic classification."));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.options
- The additional configurableoptions
that may be passed when analyzing dynamic classification.- Returns:
- A
Mono
contains aResponse
that contains aDynamicClassifyDocumentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifdynamicClassificationBatchWithResponse
is called with service API versionTextAnalyticsServiceVersion.V3_0
,TextAnalyticsServiceVersion.V3_1
, orTextAnalyticsServiceVersion.V2022_05_01
. Those actions are only available for API version 2022-10-01-preview and newer.TextAnalyticsException
- If analyze operation fails.
-
beginAnalyzeHealthcareEntities
public com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,AnalyzeHealthcareEntitiesPagedFlux> beginAnalyzeHealthcareEntities(Iterable<String> documents) Analyze healthcare entities, entity data sources, and entity relations in a list ofdocuments
. This method will use the default language that can be set by using methodTextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Code Sample
List<String> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add("The patient is a 54-year-old gentleman with a history of progressive angina " + "over the past several months."); } textAnalyticsAsyncClient.beginAnalyzeHealthcareEntities(documents) .flatMap(AsyncPollResponse::getFinalResult) .flatMap(pagedFlux -> pagedFlux.byPage()) .subscribe( pagedResponse -> pagedResponse.getElements().forEach( analyzeHealthcareEntitiesResultCollection -> { analyzeHealthcareEntitiesResultCollection.forEach(healthcareEntitiesResult -> { System.out.println("document id = " + healthcareEntitiesResult.getId()); System.out.println("Document entities: "); AtomicInteger ct = new AtomicInteger(); healthcareEntitiesResult.getEntities().forEach(healthcareEntity -> { System.out.printf( "\ti = %d, Text: %s, category: %s, confidence score: %f.%n", ct.getAndIncrement(), healthcareEntity.getText(), healthcareEntity.getCategory(), healthcareEntity.getConfidenceScore()); IterableStream<EntityDataSource> healthcareEntityDataSources = healthcareEntity.getDataSources(); if (healthcareEntityDataSources != null) { healthcareEntityDataSources.forEach(healthcareEntityLink -> System.out.printf( "\t\tEntity ID in data source: %s, data source: %s.%n", healthcareEntityLink.getEntityId(), healthcareEntityLink.getName())); } }); // Healthcare entity relation groups healthcareEntitiesResult.getEntityRelations().forEach(entityRelation -> { System.out.printf("\tRelation type: %s.%n", entityRelation.getRelationType()); entityRelation.getRoles().forEach(role -> { final HealthcareEntity entity = role.getEntity(); System.out.printf("\t\tEntity text: %s, category: %s, role: %s.%n", entity.getText(), entity.getCategory(), role.getName()); }); System.out.printf("\tRelation confidence score: %f.%n", entityRelation.getConfidenceScore()); }); }); }));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits..- Returns:
- A
PollerFlux
that polls the analyze healthcare operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofAnalyzeHealthcareEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginAnalyzeHealthcareEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
.beginAnalyzeHealthcareEntities
is only available for API version v3.1 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginAnalyzeHealthcareEntities
public com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,AnalyzeHealthcareEntitiesPagedFlux> beginAnalyzeHealthcareEntities(Iterable<String> documents, String language, AnalyzeHealthcareEntitiesOptions options) Analyze healthcare entities, entity data sources, and entity relations in a list ofdocuments
with provided request options. See this supported languages in Language service API.Code Sample
List<String> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add("The patient is a 54-year-old gentleman with a history of progressive angina " + "over the past several months."); } AnalyzeHealthcareEntitiesOptions options = new AnalyzeHealthcareEntitiesOptions() .setIncludeStatistics(true); textAnalyticsAsyncClient.beginAnalyzeHealthcareEntities(documents, "en", options) .flatMap(AsyncPollResponse::getFinalResult) .flatMap(pagedFlux -> pagedFlux.byPage()) .subscribe( pagedResponse -> pagedResponse.getElements().forEach( analyzeHealthcareEntitiesResultCollection -> { // Model version System.out.printf("Results of Azure Text Analytics \"Analyze Healthcare\" Model, version: %s%n", analyzeHealthcareEntitiesResultCollection.getModelVersion()); TextDocumentBatchStatistics healthcareTaskStatistics = analyzeHealthcareEntitiesResultCollection.getStatistics(); // Batch statistics System.out.printf("Documents statistics: document count = %d, erroneous document count = %d," + " transaction count = %d, valid document count = %d.%n", healthcareTaskStatistics.getDocumentCount(), healthcareTaskStatistics.getInvalidDocumentCount(), healthcareTaskStatistics.getTransactionCount(), healthcareTaskStatistics.getValidDocumentCount()); analyzeHealthcareEntitiesResultCollection.forEach(healthcareEntitiesResult -> { System.out.println("document id = " + healthcareEntitiesResult.getId()); System.out.println("Document entities: "); AtomicInteger ct = new AtomicInteger(); healthcareEntitiesResult.getEntities().forEach(healthcareEntity -> { System.out.printf( "\ti = %d, Text: %s, category: %s, confidence score: %f.%n", ct.getAndIncrement(), healthcareEntity.getText(), healthcareEntity.getCategory(), healthcareEntity.getConfidenceScore()); IterableStream<EntityDataSource> healthcareEntityDataSources = healthcareEntity.getDataSources(); if (healthcareEntityDataSources != null) { healthcareEntityDataSources.forEach(healthcareEntityLink -> System.out.printf( "\t\tEntity ID in data source: %s, data source: %s.%n", healthcareEntityLink.getEntityId(), healthcareEntityLink.getName())); } }); // Healthcare entity relation groups healthcareEntitiesResult.getEntityRelations().forEach(entityRelation -> { System.out.printf("\tRelation type: %s.%n", entityRelation.getRelationType()); entityRelation.getRoles().forEach(role -> { final HealthcareEntity entity = role.getEntity(); System.out.printf("\t\tEntity text: %s, category: %s, role: %s.%n", entity.getText(), entity.getCategory(), role.getName()); }); System.out.printf("\tRelation confidence score: %f.%n", entityRelation.getConfidenceScore()); }); }); }));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.language
- The 2-letter ISO 639-1 representation of language for the documents. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when analyzing healthcare entities.- Returns:
- A
PollerFlux
that polls the analyze healthcare operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofAnalyzeHealthcareEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginAnalyzeHealthcareEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
.beginAnalyzeHealthcareEntities
is only available for API version v3.1 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginAnalyzeHealthcareEntities
public com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,AnalyzeHealthcareEntitiesPagedFlux> beginAnalyzeHealthcareEntities(Iterable<TextDocumentInput> documents, AnalyzeHealthcareEntitiesOptions options) Analyze healthcare entities, entity data sources, and entity relations in a list ofdocument
and provided request options to show statistics. Subscribes to the call asynchronously and prints out the entity details when a response is received. See this supported languages in Language service API.Code Sample
List<TextDocumentInput> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add(new TextDocumentInput(Integer.toString(i), "The patient is a 54-year-old gentleman with a history of progressive angina " + "over the past several months.")); } AnalyzeHealthcareEntitiesOptions options = new AnalyzeHealthcareEntitiesOptions() .setIncludeStatistics(true); textAnalyticsAsyncClient.beginAnalyzeHealthcareEntities(documents, options) .flatMap(pollResult -> { AnalyzeHealthcareEntitiesOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(analyzeActionsResultPagedFlux -> analyzeActionsResultPagedFlux.byPage()) .subscribe( pagedResponse -> pagedResponse.getElements().forEach( analyzeHealthcareEntitiesResultCollection -> { // Model version System.out.printf("Results of Azure Text Analytics \"Analyze Healthcare\" Model, version: %s%n", analyzeHealthcareEntitiesResultCollection.getModelVersion()); TextDocumentBatchStatistics healthcareTaskStatistics = analyzeHealthcareEntitiesResultCollection.getStatistics(); // Batch statistics System.out.printf("Documents statistics: document count = %d, erroneous document count = %d," + " transaction count = %d, valid document count = %d.%n", healthcareTaskStatistics.getDocumentCount(), healthcareTaskStatistics.getInvalidDocumentCount(), healthcareTaskStatistics.getTransactionCount(), healthcareTaskStatistics.getValidDocumentCount()); analyzeHealthcareEntitiesResultCollection.forEach(healthcareEntitiesResult -> { System.out.println("document id = " + healthcareEntitiesResult.getId()); System.out.println("Document entities: "); AtomicInteger ct = new AtomicInteger(); healthcareEntitiesResult.getEntities().forEach(healthcareEntity -> { System.out.printf( "\ti = %d, Text: %s, category: %s, confidence score: %f.%n", ct.getAndIncrement(), healthcareEntity.getText(), healthcareEntity.getCategory(), healthcareEntity.getConfidenceScore()); IterableStream<EntityDataSource> healthcareEntityDataSources = healthcareEntity.getDataSources(); if (healthcareEntityDataSources != null) { healthcareEntityDataSources.forEach(healthcareEntityLink -> System.out.printf( "\t\tEntity ID in data source: %s, data source: %s.%n", healthcareEntityLink.getEntityId(), healthcareEntityLink.getName())); } }); // Healthcare entity relation groups healthcareEntitiesResult.getEntityRelations().forEach(entityRelation -> { System.out.printf("\tRelation type: %s.%n", entityRelation.getRelationType()); entityRelation.getRoles().forEach(role -> { final HealthcareEntity entity = role.getEntity(); System.out.printf("\t\tEntity text: %s, category: %s, role: %s.%n", entity.getText(), entity.getCategory(), role.getName()); }); System.out.printf("\tRelation confidence score: %f.%n", entityRelation.getConfidenceScore()); }); }); }));
- Parameters:
documents
- A list ofdocuments
to be analyzed.options
- The additional configurableoptions
that may be passed when analyzing healthcare entities.- Returns:
- A
PollerFlux
that polls the analyze healthcare operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofAnalyzeHealthcareEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginAnalyzeHealthcareEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
.beginAnalyzeHealthcareEntities
is only available for API version v3.1 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginRecognizeCustomEntities
public com.azure.core.util.polling.PollerFlux<RecognizeCustomEntitiesOperationDetail,RecognizeCustomEntitiesPagedFlux> beginRecognizeCustomEntities(Iterable<String> documents, String projectName, String deploymentName) Returns a list of custom entities for the provided list ofdocument
.This method is supported since service API version
This method will use the default language that can be set by using methodV2022_05_01
.TextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Code Sample
List<String> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add( "A recent report by the Government Accountability Office (GAO) found that the dramatic increase " + "in oil and natural gas development on federal lands over the past six years has stretched the" + " staff of the BLM to a point that it has been unable to meet its environmental protection " + "responsibilities." ); } textAnalyticsAsyncClient.beginRecognizeCustomEntities(documents, "{project_name}", "{deployment_name}") .flatMap(pollResult -> { RecognizeCustomEntitiesOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFlux -> pagedFlux.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (RecognizeCustomEntitiesResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (RecognizeEntitiesResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (CategorizedEntity entity : documentResult.getEntities()) { System.out.printf( "\tText: %s, category: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.- Returns:
- A
PollerFlux
that polls the recognize custom entities operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofRecognizeCustomEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginRecognizeCustomEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginRecognizeCustomEntities
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginRecognizeCustomEntities
public com.azure.core.util.polling.PollerFlux<RecognizeCustomEntitiesOperationDetail,RecognizeCustomEntitiesPagedFlux> beginRecognizeCustomEntities(Iterable<String> documents, String projectName, String deploymentName, String language, RecognizeCustomEntitiesOptions options) Returns a list of custom entities for the provided list ofdocument
with provided request options.This method is supported since service API version
See this supported languages in Language service API.V2022_05_01
.Code Sample
List<String> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add( "A recent report by the Government Accountability Office (GAO) found that the dramatic increase " + "in oil and natural gas development on federal lands over the past six years has stretched the" + " staff of the BLM to a point that it has been unable to meet its environmental protection " + "responsibilities." ); } RecognizeCustomEntitiesOptions options = new RecognizeCustomEntitiesOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.beginRecognizeCustomEntities(documents, "{project_name}", "{deployment_name}", "en", options) .flatMap(pollResult -> { RecognizeCustomEntitiesOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFlux -> pagedFlux.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (RecognizeCustomEntitiesResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (RecognizeEntitiesResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (CategorizedEntity entity : documentResult.getEntities()) { System.out.printf( "\tText: %s, category: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.language
- The 2-letter ISO 639-1 representation of language for the documents. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when recognizing custom entities.- Returns:
- A
PollerFlux
that polls the recognize custom entities operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofRecognizeCustomEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginRecognizeCustomEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginRecognizeCustomEntities
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginRecognizeCustomEntities
public com.azure.core.util.polling.PollerFlux<RecognizeCustomEntitiesOperationDetail,RecognizeCustomEntitiesPagedFlux> beginRecognizeCustomEntities(Iterable<TextDocumentInput> documents, String projectName, String deploymentName, RecognizeCustomEntitiesOptions options) Returns a list of custom entities for the provided list ofdocument
with provided request options.This method is supported since service API version
V2022_05_01
.Code Sample
List<TextDocumentInput> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add(new TextDocumentInput(Integer.toString(i), "A recent report by the Government Accountability Office (GAO) found that the dramatic increase " + "in oil and natural gas development on federal lands over the past six years has stretched the" + " staff of the BLM to a point that it has been unable to meet its environmental protection " + "responsibilities.")); } RecognizeCustomEntitiesOptions options = new RecognizeCustomEntitiesOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.beginRecognizeCustomEntities(documents, "{project_name}", "{deployment_name}", options) .flatMap(pollResult -> { RecognizeCustomEntitiesOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFlux -> pagedFlux.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (RecognizeCustomEntitiesResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (RecognizeEntitiesResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (CategorizedEntity entity : documentResult.getEntities()) { System.out.printf( "\tText: %s, category: %s, confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list ofdocuments
to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.options
- The additional configurableoptions
that may be passed when recognizing custom entities.- Returns:
- A
PollerFlux
that polls the recognize custom entities until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofRecognizeCustomEntitiesResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginRecognizeCustomEntities
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginRecognizeCustomEntities
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginSingleLabelClassify
public com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,ClassifyDocumentPagedFlux> beginSingleLabelClassify(Iterable<String> documents, String projectName, String deploymentName) Returns a list of single-label classification for the provided list ofdocument
.This method is supported since service API version
This method will use the default language that can be set by using methodV2022_05_01
.TextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Code Sample
List<String> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add( "A recent report by the Government Accountability Office (GAO) found that the dramatic increase " + "in oil and natural gas development on federal lands over the past six years has stretched the" + " staff of the BLM to a point that it has been unable to meet its environmental protection " + "responsibilities." ); } // See the service documentation for regional support and how to train a model to classify your documents, // see https://aka.ms/azsdk/textanalytics/customfunctionalities textAnalyticsAsyncClient.beginSingleLabelClassify(documents, "{project_name}", "{deployment_name}") .flatMap(pollResult -> { ClassifyDocumentOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFluxAsyncPollResponse -> pagedFluxAsyncPollResponse.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (ClassifyDocumentResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (ClassifyDocumentResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (ClassificationCategory classification : documentResult.getClassifications()) { System.out.printf("\tCategory: %s, confidence score: %f.%n", classification.getCategory(), classification.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.- Returns:
- A
PollerFlux
that polls the single-label classification operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofClassifyDocumentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginSingleLabelClassify
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginSingleLabelClassify
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginSingleLabelClassify
public com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,ClassifyDocumentPagedFlux> beginSingleLabelClassify(Iterable<String> documents, String projectName, String deploymentName, String language, SingleLabelClassifyOptions options) Returns a list of single-label classification for the provided list ofdocument
with provided request options.This method is supported since service API version
See this supported languages in Language service API.V2022_05_01
.Code Sample
List<String> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add( "A recent report by the Government Accountability Office (GAO) found that the dramatic increase " + "in oil and natural gas development on federal lands over the past six years has stretched the" + " staff of the BLM to a point that it has been unable to meet its environmental protection " + "responsibilities." ); } SingleLabelClassifyOptions options = new SingleLabelClassifyOptions().setIncludeStatistics(true); // See the service documentation for regional support and how to train a model to classify your documents, // see https://aka.ms/azsdk/textanalytics/customfunctionalities textAnalyticsAsyncClient.beginSingleLabelClassify(documents, "{project_name}", "{deployment_name}", "en", options) .flatMap(pollResult -> { ClassifyDocumentOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFluxAsyncPollResponse -> pagedFluxAsyncPollResponse.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (ClassifyDocumentResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (ClassifyDocumentResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (ClassificationCategory classification : documentResult.getClassifications()) { System.out.printf("\tCategory: %s, confidence score: %f.%n", classification.getCategory(), classification.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.language
- The 2-letter ISO 639-1 representation of language for the documents. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when analyzing single-label classification.- Returns:
- A
PollerFlux
that polls the single-label classification operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofClassifyDocumentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginSingleLabelClassify
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginSingleLabelClassify
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginSingleLabelClassify
public com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,ClassifyDocumentPagedFlux> beginSingleLabelClassify(Iterable<TextDocumentInput> documents, String projectName, String deploymentName, SingleLabelClassifyOptions options) Returns a list of single-label classification for the provided list ofdocument
with provided request options.This method is supported since service API version
V2022_05_01
.Code Sample
List<TextDocumentInput> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add(new TextDocumentInput(Integer.toString(i), "A recent report by the Government Accountability Office (GAO) found that the dramatic increase " + "in oil and natural gas development on federal lands over the past six years has stretched the" + " staff of the BLM to a point that it has been unable to meet its environmental protection " + "responsibilities.")); } SingleLabelClassifyOptions options = new SingleLabelClassifyOptions().setIncludeStatistics(true); // See the service documentation for regional support and how to train a model to classify your documents, // see https://aka.ms/azsdk/textanalytics/customfunctionalities textAnalyticsAsyncClient.beginSingleLabelClassify(documents, "{project_name}", "{deployment_name}", options) .flatMap(pollResult -> { ClassifyDocumentOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFluxAsyncPollResponse -> pagedFluxAsyncPollResponse.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (ClassifyDocumentResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (ClassifyDocumentResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (ClassificationCategory classification : documentResult.getClassifications()) { System.out.printf("\tCategory: %s, confidence score: %f.%n", classification.getCategory(), classification.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list ofdocuments
to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.options
- The additional configurableoptions
that may be passed when analyzing single-label classification.- Returns:
- A
PollerFlux
that polls the single-label classification operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofClassifyDocumentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginSingleLabelClassify
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginSingleLabelClassify
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginMultiLabelClassify
public com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,ClassifyDocumentPagedFlux> beginMultiLabelClassify(Iterable<String> documents, String projectName, String deploymentName) Returns a list of multi-label classification for the provided list ofdocument
.This method is supported since service API version
This method will use the default language that can be set by using methodV2022_05_01
.TextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Code Sample
List<String> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add( "I need a reservation for an indoor restaurant in China. Please don't stop the music." + " Play music and add it to my playlist"); } textAnalyticsAsyncClient.beginMultiLabelClassify(documents, "{project_name}", "{deployment_name}") .flatMap(pollResult -> { ClassifyDocumentOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFluxAsyncPollResponse -> pagedFluxAsyncPollResponse.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (ClassifyDocumentResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (ClassifyDocumentResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (ClassificationCategory classification : documentResult.getClassifications()) { System.out.printf("\tCategory: %s, confidence score: %f.%n", classification.getCategory(), classification.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.- Returns:
- A
PollerFlux
that polls the multi-label classification operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofClassifyDocumentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginMultiLabelClassify
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginMultiLabelClassify
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginMultiLabelClassify
public com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,ClassifyDocumentPagedFlux> beginMultiLabelClassify(Iterable<String> documents, String projectName, String deploymentName, String language, MultiLabelClassifyOptions options) Returns a list of multi-label classification for the provided list ofdocument
with provided request options.This method is supported since service API version
See this supported languages in Language service API.V2022_05_01
.Code Sample
List<String> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add( "I need a reservation for an indoor restaurant in China. Please don't stop the music." + " Play music and add it to my playlist"); } MultiLabelClassifyOptions options = new MultiLabelClassifyOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.beginMultiLabelClassify(documents, "{project_name}", "{deployment_name}", "en", options) .flatMap(pollResult -> { ClassifyDocumentOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFluxAsyncPollResponse -> pagedFluxAsyncPollResponse.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (ClassifyDocumentResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (ClassifyDocumentResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (ClassificationCategory classification : documentResult.getClassifications()) { System.out.printf("\tCategory: %s, confidence score: %f.%n", classification.getCategory(), classification.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.language
- The 2-letter ISO 639-1 representation of language for the documents. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when analyzing multi-label classification.- Returns:
- A
PollerFlux
that polls the multi-label classification operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofClassifyDocumentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginMultiLabelClassify
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginMultiLabelClassify
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginMultiLabelClassify
public com.azure.core.util.polling.PollerFlux<ClassifyDocumentOperationDetail,ClassifyDocumentPagedFlux> beginMultiLabelClassify(Iterable<TextDocumentInput> documents, String projectName, String deploymentName, MultiLabelClassifyOptions options) Returns a list of multi-label classification for the provided list ofdocument
with provided request options.This method is supported since service API version
V2022_05_01
.Code Sample
List<TextDocumentInput> documents = new ArrayList<>(); for (int i = 0; i < 3; i++) { documents.add(new TextDocumentInput(Integer.toString(i), "I need a reservation for an indoor restaurant in China. Please don't stop the music." + " Play music and add it to my playlist")); } MultiLabelClassifyOptions options = new MultiLabelClassifyOptions().setIncludeStatistics(true); textAnalyticsAsyncClient.beginMultiLabelClassify(documents, "{project_name}", "{deployment_name}", options) .flatMap(pollResult -> { ClassifyDocumentOperationDetail operationResult = pollResult.getValue(); System.out.printf("Operation created time: %s, expiration time: %s.%n", operationResult.getCreatedAt(), operationResult.getExpiresAt()); return pollResult.getFinalResult(); }) .flatMap(pagedFluxAsyncPollResponse -> pagedFluxAsyncPollResponse.byPage()) .subscribe( perPage -> { System.out.printf("Response code: %d, Continuation Token: %s.%n", perPage.getStatusCode(), perPage.getContinuationToken()); for (ClassifyDocumentResultCollection documentsResults : perPage.getElements()) { System.out.printf("Project name: %s, deployment name: %s.%n", documentsResults.getProjectName(), documentsResults.getDeploymentName()); for (ClassifyDocumentResult documentResult : documentsResults) { System.out.println("Document ID: " + documentResult.getId()); for (ClassificationCategory classification : documentResult.getClassifications()) { System.out.printf("\tCategory: %s, confidence score: %f.%n", classification.getCategory(), classification.getConfidenceScore()); } } } }, ex -> System.out.println("Error listing pages: " + ex.getMessage()), () -> System.out.println("Successfully listed all pages"));
- Parameters:
documents
- A list ofdocuments
to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.projectName
- The name of the project which owns the model being consumed.deploymentName
- The name of the deployment being consumed.options
- The additional configurableoptions
that may be passed when analyzing multi-label classification.- Returns:
- A
PollerFlux
that polls the multi-label classification operation until it has completed, has failed, or has been cancelled. The completed operation returns aPagedFlux
ofClassifyDocumentResultCollection
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginMultiLabelClassify
is called with service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
.beginMultiLabelClassify
is only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginAnalyzeActions
public com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,AnalyzeActionsResultPagedFlux> beginAnalyzeActions(Iterable<String> documents, TextAnalyticsActions actions) Execute actions, such as, entities recognition, PII entities recognition and key phrases extraction for a list ofdocuments
. This method will use the default language that can be set by using methodTextAnalyticsClientBuilder.defaultLanguage(String)
. If none is specified, service will use 'en' as the language.Code Sample
List<String> documents = Arrays.asList( "Elon Musk is the CEO of SpaceX and Tesla.", "1", "My SSN is 859-98-0987" ); textAnalyticsAsyncClient.beginAnalyzeActions(documents, new TextAnalyticsActions().setDisplayName("{tasks_display_name}") .setRecognizeEntitiesActions(new RecognizeEntitiesAction()) .setExtractKeyPhrasesActions(new ExtractKeyPhrasesAction())) .flatMap(AsyncPollResponse::getFinalResult) .flatMap(analyzeActionsResultPagedFlux -> analyzeActionsResultPagedFlux.byPage()) .subscribe( pagedResponse -> pagedResponse.getElements().forEach( analyzeActionsResult -> { analyzeActionsResult.getRecognizeEntitiesResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getDocumentsResults().forEach( entitiesResult -> entitiesResult.getEntities().forEach( entity -> System.out.printf( "Recognized entity: %s, entity category: %s, entity subcategory: %s," + " confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore()))); } }); analyzeActionsResult.getExtractKeyPhrasesResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getDocumentsResults().forEach(extractKeyPhraseResult -> { System.out.println("Extracted phrases:"); extractKeyPhraseResult.getKeyPhrases() .forEach(keyPhrases -> System.out.printf("\t%s.%n", keyPhrases)); }); } }); }));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.actions
- Theactions
that contains all actions to be executed. An action is one task of execution, such as a single task of 'Key Phrases Extraction' on the given document inputs.- Returns:
- A
PollerFlux
that polls the analyze a collection of actions operation until it has completed, has failed, or has been cancelled. The completed operation returns aAnalyzeActionsResultPagedFlux
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginAnalyzeActions
is called with service API versionTextAnalyticsServiceVersion.V3_0
.beginAnalyzeActions
is only available for API version v3.1 and newer.UnsupportedOperationException
- if requestAnalyzeHealthcareEntitiesAction
,RecognizeCustomEntitiesAction
,SingleLabelClassifyAction
, orMultiLabelClassifyAction
in service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
. Those actions are only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginAnalyzeActions
public com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,AnalyzeActionsResultPagedFlux> beginAnalyzeActions(Iterable<String> documents, TextAnalyticsActions actions, String language, AnalyzeActionsOptions options) Execute actions, such as, entities recognition, PII entities recognition and key phrases extraction for a list ofdocuments
with provided request options. See this supported languages in Language service API.Code Sample
List<String> documents = Arrays.asList( "Elon Musk is the CEO of SpaceX and Tesla.", "1", "My SSN is 859-98-0987" ); textAnalyticsAsyncClient.beginAnalyzeActions(documents, new TextAnalyticsActions().setDisplayName("{tasks_display_name}") .setRecognizeEntitiesActions(new RecognizeEntitiesAction()) .setExtractKeyPhrasesActions(new ExtractKeyPhrasesAction()), "en", new AnalyzeActionsOptions().setIncludeStatistics(false)) .flatMap(AsyncPollResponse::getFinalResult) .flatMap(analyzeActionsResultPagedFlux -> analyzeActionsResultPagedFlux.byPage()) .subscribe( pagedResponse -> pagedResponse.getElements().forEach( analyzeActionsResult -> { analyzeActionsResult.getRecognizeEntitiesResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getDocumentsResults().forEach( entitiesResult -> entitiesResult.getEntities().forEach( entity -> System.out.printf( "Recognized entity: %s, entity category: %s, entity subcategory: %s," + " confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore()))); } }); analyzeActionsResult.getExtractKeyPhrasesResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getDocumentsResults().forEach(extractKeyPhraseResult -> { System.out.println("Extracted phrases:"); extractKeyPhraseResult.getKeyPhrases() .forEach(keyPhrases -> System.out.printf("\t%s.%n", keyPhrases)); }); } }); }));
- Parameters:
documents
- A list of documents to be analyzed. For text length limits, maximum batch size, and supported text encoding, see data limits.actions
- Theactions
that contains all actions to be executed. An action is one task of execution, such as a single task of 'Key Phrases Extraction' on the given document inputs.language
- The 2 letter ISO 639-1 representation of language for the documents. If not set, uses "en" for English as default.options
- The additional configurableoptions
that may be passed when analyzing a collection of actions.- Returns:
- A
PollerFlux
that polls the analyze a collection of actions operation until it has completed, has failed, or has been cancelled. The completed operation returns aAnalyzeActionsResultPagedFlux
. - Throws:
NullPointerException
- ifdocuments
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginAnalyzeActions
is called with service API versionTextAnalyticsServiceVersion.V3_0
.beginAnalyzeActions
is only available for API version v3.1 and newer.UnsupportedOperationException
- if requestAnalyzeHealthcareEntitiesAction
,RecognizeCustomEntitiesAction
,SingleLabelClassifyAction
, orMultiLabelClassifyAction
in service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
. Those actions are only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
beginAnalyzeActions
public com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,AnalyzeActionsResultPagedFlux> beginAnalyzeActions(Iterable<TextDocumentInput> documents, TextAnalyticsActions actions, AnalyzeActionsOptions options) Execute actions, such as, entities recognition, PII entities recognition and key phrases extraction for a list ofdocuments
with provided request options. See this supported languages in Language service API.Code Sample
List<TextDocumentInput> documents = Arrays.asList( new TextDocumentInput("0", "Elon Musk is the CEO of SpaceX and Tesla.").setLanguage("en"), new TextDocumentInput("1", "My SSN is 859-98-0987").setLanguage("en") ); textAnalyticsAsyncClient.beginAnalyzeActions(documents, new TextAnalyticsActions().setDisplayName("{tasks_display_name}") .setRecognizeEntitiesActions(new RecognizeEntitiesAction()) .setExtractKeyPhrasesActions(new ExtractKeyPhrasesAction()), new AnalyzeActionsOptions().setIncludeStatistics(false)) .flatMap(AsyncPollResponse::getFinalResult) .flatMap(analyzeActionsResultPagedFlux -> analyzeActionsResultPagedFlux.byPage()) .subscribe( pagedResponse -> pagedResponse.getElements().forEach( analyzeActionsResult -> { System.out.println("Entities recognition action results:"); analyzeActionsResult.getRecognizeEntitiesResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getDocumentsResults().forEach( entitiesResult -> entitiesResult.getEntities().forEach( entity -> System.out.printf( "Recognized entity: %s, entity category: %s, entity subcategory: %s," + " confidence score: %f.%n", entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore()))); } }); System.out.println("Key phrases extraction action results:"); analyzeActionsResult.getExtractKeyPhrasesResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getDocumentsResults().forEach(extractKeyPhraseResult -> { System.out.println("Extracted phrases:"); extractKeyPhraseResult.getKeyPhrases() .forEach(keyPhrases -> System.out.printf("\t%s.%n", keyPhrases)); }); } }); }));
- Parameters:
documents
- A list ofdocuments
to be analyzed.actions
- Theactions
that contains all actions to be executed. An action is one task of execution, such as a single task of 'Key Phrases Extraction' on the given document inputs.options
- The additional configurableoptions
that may be passed when analyzing a collection of tasks.- Returns:
- A
PollerFlux
that polls the analyze a collection of tasks operation until it has completed, has failed, or has been cancelled. The completed operation returns aAnalyzeActionsResultPagedFlux
. - Throws:
NullPointerException
- ifdocuments
oractions
is null.IllegalArgumentException
- ifdocuments
is empty.UnsupportedOperationException
- ifbeginAnalyzeActions
is called with service API versionTextAnalyticsServiceVersion.V3_0
.beginAnalyzeActions
is only available for API version v3.1 and newer.UnsupportedOperationException
- if requestAnalyzeHealthcareEntitiesAction
,RecognizeCustomEntitiesAction
,SingleLabelClassifyAction
, orMultiLabelClassifyAction
in service API versionTextAnalyticsServiceVersion.V3_0
orTextAnalyticsServiceVersion.V3_1
. Those actions are only available for API version 2022-05-01 and newer.TextAnalyticsException
- If analyze operation fails.
-
analyzeSentimentBatch(Iterable, String, AnalyzeSentimentOptions)
.