From 596be4dbdba3ef742eee198f2ece09cb9723b71d Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Mon, 31 Aug 2020 16:01:36 -0400 Subject: [PATCH 1/5] add redacted_text property --- .../azure-ai-textanalytics/CHANGELOG.md | 1 + .../azure/ai/textanalytics/_base_client.py | 4 ++++ .../azure/ai/textanalytics/_models.py | 18 +++++++++++++++--- .../ai/textanalytics/_response_handlers.py | 1 + 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md b/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md index 372b10411b81b..20f050cc3033e 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md +++ b/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md @@ -6,6 +6,7 @@ - We are now targeting the service's v3.1-preview.1 API as the default. If you would like to still use version v3.0 of the service, pass in `v3.0` to the kwarg `api_version` when creating your TextAnalyticsClient - We have added an API `recognize_pii_entities` which returns entities containing personal information for a batch of documents. Only available for API version v3.1-preview.1 and up. + - In API version v3.1-preview.2 and up, the redacted text of the document is returned on the top-level result object through property `redacted_text` - Added `offset` and `length` properties for `CategorizedEntity`, `SentenceSentiment`, and `LinkedEntityMatch`. These properties are only available for API versions v3.1-preview.1 and up. - `length` is the number of characters in the text of these models - `offset` is the offset of the text from the start of the document diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_base_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_base_client.py index c269772d87ffd..8d60ff8dbf9db 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_base_client.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_base_client.py @@ -15,6 +15,10 @@ class TextAnalyticsApiVersion(str, Enum): #: this is the default version V3_1_PREVIEW_1 = "v3.1-preview.1" + + # 3.1-preview.2 is not yet the default version since we don't have a + # reliable endpoint + V3_1_PREVIEW_2 = "v3.1-preview.2" V3_0 = "v3.0" def _authentication_policy(credential): diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py index e9733e8fec25c..44654c45f172d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py @@ -1,4 +1,4 @@ -# coding=utf-8 +# coding=utf-8 pylint: disable=too-many-lines # ------------------------------------ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. @@ -141,6 +141,8 @@ class RecognizePiiEntitiesResult(DictMixin): :ivar entities: Recognized PII entities in the document. :vartype entities: list[~azure.ai.textanalytics.PiiEntity] + :ivar str redacted_text: Returns the text of the input document with all of the PII information + redacted out. Only returned for api versions v3.1-preview.2 and up. :ivar warnings: Warnings encountered while processing document. Results will still be returned if there are warnings, but they may not be fully accurate. :vartype warnings: list[~azure.ai.textanalytics.TextAnalyticsWarning] @@ -150,18 +152,28 @@ class RecognizePiiEntitiesResult(DictMixin): ~azure.ai.textanalytics.TextDocumentStatistics :ivar bool is_error: Boolean check for error item when iterating over list of results. Always False for an instance of a RecognizePiiEntitiesResult. + .. versionadded:: v3.1-preview.2 + The *redacted_text* parameter. """ def __init__(self, **kwargs): self.id = kwargs.get("id", None) self.entities = kwargs.get("entities", None) + self.redacted_text = kwargs.get("redacted_text", None) self.warnings = kwargs.get("warnings", []) self.statistics = kwargs.get("statistics", None) self.is_error = False def __repr__(self): - return "RecognizePiiEntitiesResult(id={}, entities={}, warnings={}, statistics={}, is_error={})" \ - .format(self.id, repr(self.entities), repr(self.warnings), repr(self.statistics), self.is_error)[:1024] + return "RecognizePiiEntitiesResult(id={}, entities={}, redacted_text={}, warnings={}, " \ + "statistics={}, is_error={})" .format( + self.id, + repr(self.entities), + self.redacted_text, + repr(self.warnings), + repr(self.statistics), + self.is_error + )[:1024] class DetectLanguageResult(DictMixin): diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_response_handlers.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_response_handlers.py index b07421d7847bb..559fbf17cc5f1 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_response_handlers.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_response_handlers.py @@ -134,6 +134,7 @@ def pii_entities_result(entity, results): # pylint: disable=unused-argument return RecognizePiiEntitiesResult( id=entity.id, entities=[PiiEntity._from_generated(e) for e in entity.entities], # pylint: disable=protected-access + redacted_text=entity.redacted_text if hasattr(entity, "redacted_text") else None, warnings=[TextAnalyticsWarning._from_generated(w) for w in entity.warnings], # pylint: disable=protected-access statistics=TextDocumentStatistics._from_generated(entity.statistics), # pylint: disable=protected-access ) From 6be20d7c1bac5b1fe04088acb040a3521ea61e9b Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Mon, 31 Aug 2020 16:14:33 -0400 Subject: [PATCH 2/5] add tests --- ...gnize_pii_entities.test_redacted_text.yaml | 44 +++++++++++++++++++ ...ies.test_redacted_text_v3_1_preview_1.yaml | 44 +++++++++++++++++++ ...pii_entities_async.test_redacted_text.yaml | 33 ++++++++++++++ ...ync.test_redacted_text_v3_1_preview_1.yaml | 33 ++++++++++++++ .../tests/test_recognize_pii_entities.py | 24 +++++++++- .../test_recognize_pii_entities_async.py | 22 +++++++++- .../azure-ai-textanalytics/tests/test_repr.py | 6 ++- 7 files changed, 201 insertions(+), 5 deletions(-) create mode 100644 sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_redacted_text.yaml create mode 100644 sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_redacted_text_v3_1_preview_1.yaml create mode 100644 sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_redacted_text.yaml create mode 100644 sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_redacted_text_v3_1_preview_1.yaml diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_redacted_text.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_redacted_text.yaml new file mode 100644 index 0000000000000..da525c49fea0f --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_redacted_text.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "My SSN is 859-98-0987.", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '80' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://cognitiveusw2dev.azure-api.net/text/analytics/v3.1-preview.2/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"redactedText":"My SSN is ***********.","id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - c5ba8c84-0e46-471a-b4c8-f02c411c20ec + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Mon, 31 Aug 2020 20:15:43 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '78' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_redacted_text_v3_1_preview_1.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_redacted_text_v3_1_preview_1.yaml new file mode 100644 index 0000000000000..621c6af4efd50 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities.test_redacted_text_v3_1_preview_1.yaml @@ -0,0 +1,44 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "My SSN is 859-98-0987.", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '80' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: + - 4ae026d1-15d1-4d77-8913-46922e72d7cb + content-type: + - application/json; charset=utf-8 + csp-billing-usage: + - CognitiveServices.TextAnalytics.BatchScoring=1 + date: + - Mon, 31 Aug 2020 19:58:17 GMT + strict-transport-security: + - max-age=31536000; includeSubDomains; preload + transfer-encoding: + - chunked + x-content-type-options: + - nosniff + x-envoy-upstream-service-time: + - '68' + status: + code: 200 + message: OK +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_redacted_text.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_redacted_text.yaml new file mode 100644 index 0000000000000..df78eca471132 --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_redacted_text.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "My SSN is 859-98-0987.", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '80' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://cognitiveusw2dev.azure-api.net/text/analytics/v3.1-preview.2/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"redactedText":"My SSN is ***********.","id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: dc638432-dc71-4f52-aadb-829c2dfd1935 + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Mon, 31 Aug 2020 20:15:43 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '80' + status: + code: 200 + message: OK + url: https://cognitiveusw2dev.azure-api.net//text/analytics/v3.1-preview.2/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_redacted_text_v3_1_preview_1.yaml b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_redacted_text_v3_1_preview_1.yaml new file mode 100644 index 0000000000000..55b101e7b851e --- /dev/null +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/recordings/test_recognize_pii_entities_async.test_redacted_text_v3_1_preview_1.yaml @@ -0,0 +1,33 @@ +interactions: +- request: + body: '{"documents": [{"id": "0", "text": "My SSN is 859-98-0987.", "language": + "en"}]}' + headers: + Accept: + - application/json, text/json + Content-Length: + - '80' + Content-Type: + - application/json + User-Agent: + - azsdk-python-ai-textanalytics/5.0.1 Python/3.8.5 (macOS-10.13.6-x86_64-i386-64bit) + method: POST + uri: https://westus2.api.cognitive.microsoft.com/text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint + response: + body: + string: '{"documents":[{"id":"0","entities":[{"text":"859-98-0987","category":"U.S. + Social Security Number (SSN)","offset":10,"length":11,"confidenceScore":0.65}],"warnings":[]}],"errors":[],"modelVersion":"2020-07-01"}' + headers: + apim-request-id: eeda4dd4-74dd-4e54-88cb-5a0352f065cf + content-type: application/json; charset=utf-8 + csp-billing-usage: CognitiveServices.TextAnalytics.BatchScoring=1 + date: Mon, 31 Aug 2020 19:58:17 GMT + strict-transport-security: max-age=31536000; includeSubDomains; preload + transfer-encoding: chunked + x-content-type-options: nosniff + x-envoy-upstream-service-time: '106' + status: + code: 200 + message: OK + url: https://westus2.api.cognitive.microsoft.com//text/analytics/v3.1-preview.1/entities/recognition/pii?showStats=false&stringIndexType=UnicodeCodePoint +version: 1 diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py index 736f75cd46d56..cbff794914310 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py @@ -3,7 +3,7 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ - +import os import pytest import platform import functools @@ -573,4 +573,24 @@ def test_recognize_pii_entities_v3(self, client): with pytest.raises(NotImplementedError) as excinfo: client.recognize_pii_entities(["this should fail"]) - assert "'recognize_pii_entities' endpoint is only available for API version v3.1-preview.1 and up" in str(excinfo.value) \ No newline at end of file + assert "'recognize_pii_entities' endpoint is only available for API version v3.1-preview.1 and up" in str(excinfo.value) + + # currently only have this as playback since the dev endpoint is unreliable + @pytest.mark.playback_test_only + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={ + "api_version": TextAnalyticsApiVersion.V3_1_PREVIEW_2, + "text_analytics_account_key": os.environ.get('AZURE_TEXT_ANALYTICS_KEY'), + "text_analytics_account": "https://cognitiveusw2dev.azure-api.net/" + }) + def test_redacted_text(self, client): + result = client.recognize_pii_entities(["My SSN is 859-98-0987."]) + self.assertEqual("My SSN is ***********.", result[0].redacted_text) + + # currently only have this as playback since the dev endpoint is unreliable + @pytest.mark.playback_test_only + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + def test_redacted_text_v3_1_preview_1(self, client): + result = client.recognize_pii_entities(["My SSN is 859-98-0987."]) + self.assertIsNone(result[0].redacted_text) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py index fb2d67bcdcb94..d4d1d7aecb10b 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py @@ -3,7 +3,7 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # ------------------------------------ - +import os import pytest import platform import functools @@ -572,3 +572,23 @@ async def test_recognize_pii_entities_v3(self, client): await client.recognize_pii_entities(["this should fail"]) assert "'recognize_pii_entities' endpoint is only available for API version v3.1-preview.1 and up" in str(excinfo.value) + + # currently only have this as playback since the dev endpoint is unreliable + @pytest.mark.playback_test_only + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer(client_kwargs={ + "api_version": TextAnalyticsApiVersion.V3_1_PREVIEW_2, + "text_analytics_account_key": os.environ.get('AZURE_TEXT_ANALYTICS_KEY'), + "text_analytics_account": "https://cognitiveusw2dev.azure-api.net/" + }) + async def test_redacted_text(self, client): + result = await client.recognize_pii_entities(["My SSN is 859-98-0987."]) + self.assertEqual("My SSN is ***********.", result[0].redacted_text) + + # currently only have this as playback since the dev endpoint is unreliable + @pytest.mark.playback_test_only + @GlobalTextAnalyticsAccountPreparer() + @TextAnalyticsClientPreparer() + async def test_redacted_text_v3_1_preview_1(self, client): + result = await client.recognize_pii_entities(["My SSN is 859-98-0987."]) + self.assertIsNone(result[0].redacted_text) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py index eca9da158bffb..565e2099fa1d6 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py @@ -1,4 +1,4 @@ -# coding=utf-8 +# coding=utf-8 pylint: disable=too-many-lines # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for @@ -287,11 +287,13 @@ def test_recognize_pii_entities_result(self, pii_entity, text_analytics_warning, model = _models.RecognizePiiEntitiesResult( id="1", entities=[pii_entity[0]], + redacted_text="***********", warnings=[text_analytics_warning[0]], statistics=text_document_statistics[0], is_error=False ) - model_repr = "RecognizePiiEntitiesResult(id=1, entities=[{}], warnings=[{}], statistics={}, is_error=False)".format( + model_repr = "RecognizePiiEntitiesResult(id=1, entities=[{}], redacted_text=***********, warnings=[{}], " \ + "statistics={}, is_error=False)".format( pii_entity[1], text_analytics_warning[1], text_document_statistics[1] ) From f77b69fcac98100a2f0f731d906e863d549a4b19 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Mon, 31 Aug 2020 16:19:58 -0400 Subject: [PATCH 3/5] fix copy paste mistakes in tests --- .../azure-ai-textanalytics/tests/test_recognize_pii_entities.py | 2 -- .../tests/test_recognize_pii_entities_async.py | 2 -- sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py | 2 +- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py index cbff794914310..721cd8b36a914 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities.py @@ -587,8 +587,6 @@ def test_redacted_text(self, client): result = client.recognize_pii_entities(["My SSN is 859-98-0987."]) self.assertEqual("My SSN is ***********.", result[0].redacted_text) - # currently only have this as playback since the dev endpoint is unreliable - @pytest.mark.playback_test_only @GlobalTextAnalyticsAccountPreparer() @TextAnalyticsClientPreparer() def test_redacted_text_v3_1_preview_1(self, client): diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py index d4d1d7aecb10b..183d9c877b926 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_recognize_pii_entities_async.py @@ -585,8 +585,6 @@ async def test_redacted_text(self, client): result = await client.recognize_pii_entities(["My SSN is 859-98-0987."]) self.assertEqual("My SSN is ***********.", result[0].redacted_text) - # currently only have this as playback since the dev endpoint is unreliable - @pytest.mark.playback_test_only @GlobalTextAnalyticsAccountPreparer() @TextAnalyticsClientPreparer() async def test_redacted_text_v3_1_preview_1(self, client): diff --git a/sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py b/sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py index 565e2099fa1d6..2a585680fef0c 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py +++ b/sdk/textanalytics/azure-ai-textanalytics/tests/test_repr.py @@ -1,4 +1,4 @@ -# coding=utf-8 pylint: disable=too-many-lines +# coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for From 224caa960da4e6e9fc0cd83dba973ef3dcab8d01 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Tue, 1 Sep 2020 10:58:31 -0400 Subject: [PATCH 4/5] tiny docstring fixes --- .../azure-ai-textanalytics/CHANGELOG.md | 2 +- .../azure/ai/textanalytics/_models.py | 14 +++++++------- .../ai/textanalytics/_text_analytics_client.py | 2 +- .../aio/_text_analytics_client_async.py | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md b/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md index 89ccf5bfb67f3..fa522e9c5bf0d 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md +++ b/sdk/textanalytics/azure-ai-textanalytics/CHANGELOG.md @@ -6,7 +6,7 @@ - We are now targeting the service's v3.1-preview.1 API as the default. If you would like to still use version v3.0 of the service, pass in `v3.0` to the kwarg `api_version` when creating your TextAnalyticsClient - We have added an API `recognize_pii_entities` which returns entities containing personal information for a batch of documents. Only available for API version v3.1-preview.1 and up. - - In API version v3.1-preview.2 and up, the redacted text of the document is returned on the top-level result object through property `redacted_text` + - In API version v3.1-preview.2 and up, the redacted text of the document is returned on the top-level result object `RecognizePiiEntitiesResult` through property `redacted_text`. - Added `offset` and `length` properties for `CategorizedEntity`, `SentenceSentiment`, and `LinkedEntityMatch`. These properties are only available for API versions v3.1-preview.1 and up. - `length` is the number of characters in the text of these models - `offset` is the offset of the text from the start of the document diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py index f53aebe277de5..8e371beb13614 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_models.py @@ -147,7 +147,7 @@ class RecognizePiiEntitiesResult(DictMixin): :vartype entities: list[~azure.ai.textanalytics.PiiEntity] :ivar str redacted_text: Returns the text of the input document with all of the PII information - redacted out. Only returned for api versions v3.1-preview.2 and up. + redacted out. Only returned for API versions v3.1-preview.2 and up. :ivar warnings: Warnings encountered while processing document. Results will still be returned if there are warnings, but they may not be fully accurate. :vartype warnings: list[~azure.ai.textanalytics.TextAnalyticsWarning] @@ -226,9 +226,9 @@ class CategorizedEntity(DictMixin): :ivar subcategory: Entity subcategory, such as Age/Year/TimeRange etc :vartype subcategory: str :ivar int offset: The entity text offset from the start of the document. - Returned in unicode code points. Only returned for api versions v3.1-preview.1 and up. + Returned in unicode code points. Only returned for API versions v3.1-preview.1 and up. :ivar int length: The length of the entity text. Returned - in unicode code points. Only returned for api versions v3.1-preview.1 and up. + in unicode code points. Only returned for API versions v3.1-preview.1 and up. :ivar confidence_score: Confidence score between 0 and 1 of the extracted entity. :vartype confidence_score: float @@ -681,9 +681,9 @@ class LinkedEntityMatch(DictMixin): :vartype confidence_score: float :ivar text: Entity text as appears in the request. :ivar int offset: The linked entity match text offset from the start of the document. - Returned in unicode code points. Only returned for api versions v3.1-preview.1 and up. + Returned in unicode code points. Only returned for API versions v3.1-preview.1 and up. :ivar int length: The length of the linked entity match text. Returned - in unicode code points. Only returned for api versions v3.1-preview.1 and up. + in unicode code points. Only returned for API versions v3.1-preview.1 and up. :vartype text: str """ @@ -793,9 +793,9 @@ class SentenceSentiment(DictMixin): :vartype confidence_scores: ~azure.ai.textanalytics.SentimentConfidenceScores :ivar int offset: The sentence offset from the start of the document. Returned - in unicode code points. Only returned for api versions v3.1-preview.1 and up. + in unicode code points. Only returned for API versions v3.1-preview.1 and up. :ivar int length: The length of the sentence. Returned - in unicode code points. Only returned for api versions v3.1-preview.1 and up. + in unicode code points. Only returned for API versions v3.1-preview.1 and up. :ivar mined_opinions: The list of opinions mined from this sentence. For example in "The food is good, but the service is bad", we would mind these two opinions "food is good", "service is bad". Only returned diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py index 7c68034c9de83..076a2ab8d15c6 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py @@ -52,7 +52,7 @@ class TextAnalyticsClient(TextAnalyticsClientBase): https://docs.microsoft.com/azure/cognitive-services/text-analytics/overview :param str endpoint: Supported Cognitive Services or Text Analytics resource - endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com). + endpoints (protocol and hostname, for example: https://westus2.API.cognitive.microsoft.com). :param credential: Credentials needed for the client to connect to Azure. This can be the an instance of AzureKeyCredential if using a cognitive services/text analytics API key or a token credential diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py index f7c6290665ba5..7057fcc057049 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py @@ -53,7 +53,7 @@ class TextAnalyticsClient(AsyncTextAnalyticsClientBase): https://docs.microsoft.com/azure/cognitive-services/text-analytics/overview :param str endpoint: Supported Cognitive Services or Text Analytics resource - endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com). + endpoints (protocol and hostname, for example: https://westus2.API.cognitive.microsoft.com). :param credential: Credentials needed for the client to connect to Azure. This can be the an instance of AzureKeyCredential if using a cognitive services/text analytics API key or a token credential From afd535c8e24547b98d9c64e38b7f1992454ce8f6 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Tue, 1 Sep 2020 11:14:05 -0400 Subject: [PATCH 5/5] revert incorrect capitalization --- .../azure/ai/textanalytics/_text_analytics_client.py | 2 +- .../azure/ai/textanalytics/aio/_text_analytics_client_async.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py index 076a2ab8d15c6..7c68034c9de83 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/_text_analytics_client.py @@ -52,7 +52,7 @@ class TextAnalyticsClient(TextAnalyticsClientBase): https://docs.microsoft.com/azure/cognitive-services/text-analytics/overview :param str endpoint: Supported Cognitive Services or Text Analytics resource - endpoints (protocol and hostname, for example: https://westus2.API.cognitive.microsoft.com). + endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com). :param credential: Credentials needed for the client to connect to Azure. This can be the an instance of AzureKeyCredential if using a cognitive services/text analytics API key or a token credential diff --git a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py index 7057fcc057049..f7c6290665ba5 100644 --- a/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py +++ b/sdk/textanalytics/azure-ai-textanalytics/azure/ai/textanalytics/aio/_text_analytics_client_async.py @@ -53,7 +53,7 @@ class TextAnalyticsClient(AsyncTextAnalyticsClientBase): https://docs.microsoft.com/azure/cognitive-services/text-analytics/overview :param str endpoint: Supported Cognitive Services or Text Analytics resource - endpoints (protocol and hostname, for example: https://westus2.API.cognitive.microsoft.com). + endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com). :param credential: Credentials needed for the client to connect to Azure. This can be the an instance of AzureKeyCredential if using a cognitive services/text analytics API key or a token credential