public final class TextAnalyticsAsyncClient extends Object
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.
TextAnalyticsClientBuilder
Modifier and Type | Method and Description |
---|---|
Mono<DocumentSentiment> |
analyzeSentiment(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.
|
Mono<DocumentSentiment> |
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.
|
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.
|
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.
|
Mono<AnalyzeSentimentResultCollection> |
analyzeSentimentBatch(Iterable<String> documents,
String language,
TextAnalyticsRequestOptions 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,
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)
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.
|
com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,com.azure.core.http.rest.PagedFlux<AnalyzeActionsResult>> |
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 of
documents with provided request options. |
com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,com.azure.core.http.rest.PagedFlux<AnalyzeActionsResult>> |
beginAnalyzeActions(Iterable<TextDocumentInput> documents,
TextAnalyticsActions actions,
AnalyzeActionsOptions options)
Execute actions, such as, entities recognition, PII entities recognition and key phrases extraction for a list of
documents with provided request options. |
com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,com.azure.core.http.rest.PagedFlux<AnalyzeHealthcareEntitiesResultCollection>> |
beginAnalyzeHealthcareEntities(Iterable<String> documents,
String language,
AnalyzeHealthcareEntitiesOptions options)
Analyze healthcare entities, entity data sources, and entity relations in a list of
documents with provided request options. |
com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,com.azure.core.http.rest.PagedFlux<AnalyzeHealthcareEntitiesResultCollection>> |
beginAnalyzeHealthcareEntities(Iterable<TextDocumentInput> documents,
AnalyzeHealthcareEntitiesOptions options)
Analyze healthcare entities, entity data sources, and entity relations in a list of
documents with provided request options. |
Mono<DetectedLanguage> |
detectLanguage(String document)
Returns the detected language and a confidence score between zero and one.
|
Mono<DetectedLanguage> |
detectLanguage(String document,
String countryHint)
Returns a
Response contains the detected language and a confidence score between zero and one. |
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.
|
Mono<com.azure.core.http.rest.Response<DetectLanguageResultCollection>> |
detectLanguageBatchWithResponse(Iterable<DetectLanguageInput> documents,
TextAnalyticsRequestOptions options)
Returns the detected language for a batch of
document with provided request options. |
Mono<KeyPhrasesCollection> |
extractKeyPhrases(String document)
Returns a list of strings denoting the key phrases in the document.
|
Mono<KeyPhrasesCollection> |
extractKeyPhrases(String document,
String language)
Returns a list of strings denoting the key phrases in the document.
|
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.
|
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.
|
String |
getDefaultCountryHint()
Get default country hint code.
|
String |
getDefaultLanguage()
Get default language when the builder is setup.
|
Mono<CategorizedEntityCollection> |
recognizeEntities(String document)
Returns a list of general categorized entities in the provided document.
|
Mono<CategorizedEntityCollection> |
recognizeEntities(String document,
String language)
Returns a list of general categorized entities in the provided document.
|
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.
|
Mono<com.azure.core.http.rest.Response<RecognizeEntitiesResultCollection>> |
recognizeEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents,
RecognizeEntitiesOptions options)
Returns a list of general categorized entities for the provided list of
document with
provided 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 of
document with
provided request options. |
Mono<LinkedEntityCollection> |
recognizeLinkedEntities(String document)
Returns a list of recognized entities with links to a well-known knowledge base for the provided document.
|
Mono<LinkedEntityCollection> |
recognizeLinkedEntities(String document,
String language)
Returns a list of recognized entities with links to a well-known knowledge base for the provided document.
|
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.
|
Mono<com.azure.core.http.rest.Response<RecognizeLinkedEntitiesResultCollection>> |
recognizeLinkedEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents,
RecognizeLinkedEntitiesOptions options)
Returns a list of recognized entities with links to a well-known knowledge base for the list of
document with provided 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 of
document with provided request options. |
Mono<PiiEntityCollection> |
recognizePiiEntities(String document)
Returns a list of Personally Identifiable Information(PII) entities in the provided document.
|
Mono<PiiEntityCollection> |
recognizePiiEntities(String document,
String language)
Returns a list of Personally Identifiable Information(PII) entities in the provided document
with provided language code.
|
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.
|
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.
|
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 of
document with provided request options. |
public String getDefaultCountryHint()
public String getDefaultLanguage()
public Mono<DetectedLanguage> detectLanguage(String document)
TextAnalyticsClientBuilder.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()));
document
- The document to be analyzed.
For text length limits, maximum batch size, and supported text encoding, see
data limits.Mono
containing the detected language
of the document.NullPointerException
- if the document is null.TextAnalyticsException
- if the response returned with an error
.public Mono<DetectedLanguage> detectLanguage(String document, String countryHint)
Response
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()));
document
- The document to be analyzed.
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 string
countryHint
= "" or "none".Mono
contains a detected language
of the document.NullPointerException
- if the document is null.TextAnalyticsException
- if the response returned with an error
.public Mono<DetectLanguageResultCollection> detectLanguageBatch(Iterable<String> documents, String countryHint, TextAnalyticsRequestOptions options)
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()); } });
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 string
countryHint
= "" or "none".options
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a DetectLanguageResultCollection
.NullPointerException
- if documents
is null.public Mono<com.azure.core.http.rest.Response<DetectLanguageResultCollection>> detectLanguageBatchWithResponse(Iterable<DetectLanguageInput> documents, TextAnalyticsRequestOptions options)
document
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()); } });
documents
- The list of documents
to be analyzed.
For text length limits, maximum batch size, and supported text encoding, see
data limits.options
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a Response
which contains a DetectLanguageResultCollection
.NullPointerException
- if documents
is null.public Mono<CategorizedEntityCollection> recognizeEntities(String document)
TextAnalyticsClientBuilder.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())));
document
- The document to recognize entities for.
For text length limits, maximum batch size, and supported text encoding, see
data limits.Mono
contains a recognized categorized entities collection
.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<CategorizedEntityCollection> recognizeEntities(String document, String language)
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())));
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.Mono
contains a recognized categorized entities collection
.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<RecognizeEntitiesResultCollection> recognizeEntitiesBatch(Iterable<String> documents, String language, TextAnalyticsRequestOptions 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()))); });
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
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a RecognizeEntitiesResultCollection
.NullPointerException
- if documents
is null.public Mono<com.azure.core.http.rest.Response<RecognizeEntitiesResultCollection>> recognizeEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options)
document
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()))); });
documents
- A list of documents
to recognize entities for.
For text length limits, maximum batch size, and supported text encoding, see
data limits.options
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a Response
which contains a RecognizeEntitiesResultCollection
.NullPointerException
- if documents
is null.public Mono<com.azure.core.http.rest.Response<RecognizeEntitiesResultCollection>> recognizeEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents, RecognizeEntitiesOptions options)
document
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")); RecognizeEntitiesOptions requestOptions = new RecognizeEntitiesOptions().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()))); });
documents
- A list of documents
to recognize entities for.
For text length limits, maximum batch size, and supported text encoding, see
data limits.options
- The options
to configure the scoring model for
documents, show statistics, and StringIndexType
.Mono
contains a Response
which contains a RecognizeEntitiesResultCollection
.NullPointerException
- if documents
is null.public Mono<PiiEntityCollection> recognizePiiEntities(String document)
TextAnalyticsClientBuilder.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())); });
document
- The document to recognize PII entities details for.
For text length limits, maximum batch size, and supported text encoding, see
data limits.Mono
contains a recognized PII entities collection
.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<PiiEntityCollection> recognizePiiEntities(String document, String language)
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())); });
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.Mono
contains a recognized PII entities collection
.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<PiiEntityCollection> recognizePiiEntities(String document, String language, RecognizePiiEntitiesOptions options)
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(PiiEntityDomainType.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())); });
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 configurable options
that may be passed when
recognizing PII entities.Mono
contains a recognized PII entities collection
.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<RecognizePiiEntitiesResultCollection> recognizePiiEntitiesBatch(Iterable<String> documents, String language, RecognizePiiEntitiesOptions 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())); }); });
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 configurable options
that may be passed when
recognizing PII entities.Mono
contains a RecognizePiiEntitiesResultCollection
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.public Mono<com.azure.core.http.rest.Response<RecognizePiiEntitiesResultCollection>> recognizePiiEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents, RecognizePiiEntitiesOptions options)
document
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())); }); });
documents
- A list of documents
to recognize PII entities for.
For text length limits, maximum batch size, and supported text encoding, see
data limits.options
- The additional configurable options
that may be passed when
recognizing PII entities.Mono
contains a Response
which contains a RecognizePiiEntitiesResultCollection
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.public Mono<LinkedEntityCollection> recognizeLinkedEntities(String document)
TextAnalyticsClientBuilder.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())); }));
document
- The document to recognize linked entities for.
For text length limits, maximum batch size, and supported text encoding, see
data limits.Mono
contains a recognized linked entities collection
.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<LinkedEntityCollection> recognizeLinkedEntities(String document, String language)
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())); }));
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.Mono
contains a recognized linked entities collection
.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<RecognizeLinkedEntitiesResultCollection> recognizeLinkedEntitiesBatch(Iterable<String> documents, String language, TextAnalyticsRequestOptions options)
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())); })); });
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
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a RecognizeLinkedEntitiesResultCollection
.NullPointerException
- if documents
is null.public Mono<com.azure.core.http.rest.Response<RecognizeLinkedEntitiesResultCollection>> recognizeLinkedEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options)
document
with provided request options.
See this supported languages in Text Analytics 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())); })); });
documents
- A list of documents
to recognize linked entities for.
For text length limits, maximum batch size, and supported text encoding, see
data limits.options
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a Response
which contains a
RecognizeLinkedEntitiesResultCollection
.NullPointerException
- if documents
is null.public Mono<com.azure.core.http.rest.Response<RecognizeLinkedEntitiesResultCollection>> recognizeLinkedEntitiesBatchWithResponse(Iterable<TextDocumentInput> documents, RecognizeLinkedEntitiesOptions options)
document
with provided request options.
See this supported languages in Text Analytics 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")); RecognizeLinkedEntitiesOptions requestOptions = new RecognizeLinkedEntitiesOptions().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())); })); });
documents
- A list of documents
to recognize linked entities for.
For text length limits, maximum batch size, and supported text encoding, see
data limits.options
- The options
to configure the scoring model for documents,
show statistics, and StringIndexType
.Mono
contains a Response
which contains a
RecognizeLinkedEntitiesResultCollection
.NullPointerException
- if documents
is null.public Mono<KeyPhrasesCollection> extractKeyPhrases(String document)
TextAnalyticsClientBuilder.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));
document
- The document to be analyzed.
For text length limits, maximum batch size, and supported text encoding, see
data limits.Mono
contains a KeyPhrasesCollection
.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<KeyPhrasesCollection> extractKeyPhrases(String document, String language)
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));
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.Mono
contains a KeyPhrasesCollection
NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<ExtractKeyPhrasesResultCollection> extractKeyPhrasesBatch(Iterable<String> documents, String language, TextAnalyticsRequestOptions options)
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)); }); });
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
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a ExtractKeyPhrasesResultCollection
.NullPointerException
- if documents
is null.public Mono<com.azure.core.http.rest.Response<ExtractKeyPhrasesResultCollection>> extractKeyPhrasesBatchWithResponse(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options)
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); } } });
documents
- A list of documents
to be analyzed.
For text length limits, maximum batch size, and supported text encoding, see
data limits.options
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a Response
that contains a ExtractKeyPhrasesResultCollection
.NullPointerException
- if documents
is null.public Mono<DocumentSentiment> analyzeSentiment(String document)
TextAnalyticsClientBuilder.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()); } });
document
- The document to be analyzed.
For text length limits, maximum batch size, and supported text encoding, see
data limits.Mono
contains the analyzed document sentiment
of the document.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<DocumentSentiment> analyzeSentiment(String document, String language)
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()); } });
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.Mono
contains the analyzed document sentiment
of the document.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<DocumentSentiment> analyzeSentiment(String document, String language, AnalyzeSentimentOptions options)
includeOpinionMining
of
AnalyzeSentimentOptions
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()); } }); } });
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 configurable options
that may be passed when
analyzing sentiments.Mono
contains the analyzed document sentiment
of the document.NullPointerException
- if document
is null.TextAnalyticsException
- if the response returned with an error
.public Mono<AnalyzeSentimentResultCollection> analyzeSentimentBatch(Iterable<String> documents, String language, TextAnalyticsRequestOptions options)
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())); }); });
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 options
to configure the scoring model for documents
and show statistics.Mono
contains a AnalyzeSentimentResultCollection
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.public Mono<AnalyzeSentimentResultCollection> analyzeSentimentBatch(Iterable<String> documents, String language, AnalyzeSentimentOptions options)
includeOpinionMining
of
AnalyzeSentimentOptions
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<String> documents = Arrays.asList( "The hotel was dark and unclean.", "The restaurant had amazing gnocchi." ); AnalyzeSentimentOptions options = new AnalyzeSentimentOptions().setIncludeOpinionMining(true); textAnalyticsAsyncClient.analyzeSentimentBatch(documents, "en", options).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(); 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()); } }); }); }); });
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 configurable options
that may be passed when
analyzing sentiments.Mono
contains a AnalyzeSentimentResultCollection
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.public Mono<com.azure.core.http.rest.Response<AnalyzeSentimentResultCollection>> analyzeSentimentBatchWithResponse(Iterable<TextDocumentInput> documents, TextAnalyticsRequestOptions options)
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())); }); });
documents
- A list of documents
to be analyzed.
For text length limits, maximum batch size, and supported text encoding, see
data limits.options
- The options
to configure the scoring model for documents
and show statistics.Mono
contains a Response
that contains a AnalyzeSentimentResultCollection
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.public Mono<com.azure.core.http.rest.Response<AnalyzeSentimentResultCollection>> analyzeSentimentBatchWithResponse(Iterable<TextDocumentInput> documents, AnalyzeSentimentOptions options)
includeOpinionMining
of
AnalyzeSentimentOptions
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 provided AnalyzeSentimentOptions
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()); } }); }); }); });
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 configurable options
that may be passed when
analyzing sentiments.Mono
contains a Response
that contains a AnalyzeSentimentResultCollection
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.public com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,com.azure.core.http.rest.PagedFlux<AnalyzeHealthcareEntitiesResultCollection>> beginAnalyzeHealthcareEntities(Iterable<String> documents, String language, AnalyzeHealthcareEntitiesOptions options)
documents
with provided request options.
Note: In order to use this functionality, request to access public preview is required.
Azure Active Directory (AAD) is not currently supported. For more information see
this.
See this supported languages in Text Analytics API.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 configurable options
that may be passed
when analyzing healthcare entities.PollerFlux
that polls the analyze healthcare operation until it has completed, has failed,
or has been cancelled. The completed operation returns a PagedFlux
of
AnalyzeHealthcareEntitiesResultCollection
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.TextAnalyticsException
- If analyze operation fails.public com.azure.core.util.polling.PollerFlux<AnalyzeHealthcareEntitiesOperationDetail,com.azure.core.http.rest.PagedFlux<AnalyzeHealthcareEntitiesResultCollection>> beginAnalyzeHealthcareEntities(Iterable<TextDocumentInput> documents, AnalyzeHealthcareEntitiesOptions options)
documents
with provided request options.
Note: In order to use this functionality, request to access public preview is required.
Azure Active Directory (AAD) is not currently supported. For more information see
this.
See this supported languages in Text Analytics API.
Analyze healthcare entities, entity data sources, and entity relations 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> 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(); }) .subscribe(healthcareTaskResultPagedFlux -> { healthcareTaskResultPagedFlux.subscribe( healthcareTaskResult -> { // Model version System.out.printf("Results of Azure Text Analytics \"Analyze Healthcare\" Model, version: %s%n", healthcareTaskResult.getModelVersion()); TextDocumentBatchStatistics healthcareTaskStatistics = healthcareTaskResult.getStatistics(); // Batch statistics System.out.printf("Documents statistics: document count = %s, erroneous document count = %s," + " transaction count = %s, valid document count = %s.%n", healthcareTaskStatistics.getDocumentCount(), healthcareTaskStatistics.getInvalidDocumentCount(), healthcareTaskStatistics.getTransactionCount(), healthcareTaskStatistics.getValidDocumentCount()); healthcareTaskResult.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()); }); }); }); } ); });
documents
- A list of documents
to be analyzed.options
- The additional configurable options
that may be passed
when analyzing healthcare entities.PollerFlux
that polls the analyze healthcare operation until it has completed, has failed,
or has been cancelled. The completed operation returns a PagedFlux
of
AnalyzeHealthcareEntitiesResultCollection
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.TextAnalyticsException
- If analyze operation fails.public com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,com.azure.core.http.rest.PagedFlux<AnalyzeActionsResult>> beginAnalyzeActions(Iterable<String> documents, TextAnalyticsActions actions, String language, AnalyzeActionsOptions options)
documents
with provided request options.
See this supported languages in Text Analytics 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}") .setRecognizeEntitiesOptions(new RecognizeEntitiesOptions()) .setExtractKeyPhrasesOptions(new ExtractKeyPhrasesOptions()), "en", new AnalyzeActionsOptions().setIncludeStatistics(false)) .flatMap(AsyncPollResponse::getFinalResult) .subscribe( analyzeActionsResultPagedFlux -> analyzeActionsResultPagedFlux.subscribe( analyzeActionsResult -> { analyzeActionsResult.getRecognizeEntitiesActionResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getResult().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.getExtractKeyPhrasesActionResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getResult().forEach(extractKeyPhraseResult -> { System.out.println("Extracted phrases:"); extractKeyPhraseResult.getKeyPhrases() .forEach(keyPhrases -> System.out.printf("\t%s.%n", keyPhrases)); }); } }); }));
documents
- A list of documents to be analyzed.
For text length limits, maximum batch size, and supported text encoding, see
data limits.actions
- The actions
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 configurable options
that may be passed when
analyzing a collection of actions.PollerFlux
that polls the analyze a collection of actions operation until it has completed,
has failed, or has been cancelled. The completed operation returns a PagedFlux
of
AnalyzeActionsResult
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.TextAnalyticsException
- If analyze operation fails.public com.azure.core.util.polling.PollerFlux<AnalyzeActionsOperationDetail,com.azure.core.http.rest.PagedFlux<AnalyzeActionsResult>> beginAnalyzeActions(Iterable<TextDocumentInput> documents, TextAnalyticsActions actions, AnalyzeActionsOptions options)
documents
with provided request options.
See this supported languages in Text Analytics 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}") .setRecognizeEntitiesOptions(new RecognizeEntitiesOptions()) .setExtractKeyPhrasesOptions(new ExtractKeyPhrasesOptions()), new AnalyzeActionsOptions().setIncludeStatistics(false)) .flatMap(AsyncPollResponse::getFinalResult) .subscribe( analyzeActionsResultPagedFlux -> analyzeActionsResultPagedFlux.subscribe( analyzeActionsResult -> { System.out.println("Entities recognition action results:"); analyzeActionsResult.getRecognizeEntitiesActionResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getResult().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.getExtractKeyPhrasesActionResults().forEach( actionResult -> { if (!actionResult.isError()) { actionResult.getResult().forEach(extractKeyPhraseResult -> { System.out.println("Extracted phrases:"); extractKeyPhraseResult.getKeyPhrases() .forEach(keyPhrases -> System.out.printf("\t%s.%n", keyPhrases)); }); } }); }));
documents
- A list of documents
to be analyzed.actions
- The actions
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 configurable options
that may be passed when
analyzing a collection of tasks.PollerFlux
that polls the analyze a collection of tasks operation until it has completed,
has failed, or has been cancelled. The completed operation returns a PagedFlux
of
AnalyzeActionsResult
.NullPointerException
- if documents
is null.IllegalArgumentException
- if documents
is empty.TextAnalyticsException
- If analyze operation fails.Copyright © 2021 Microsoft Corporation. All rights reserved.