Exemple #1
0
        public async Task RecognizePiiEntitiesWithCategoriesTest()
        {
            TextAnalyticsClient client = GetClient();
            PiiEntityCollection entities;

            entities = await client.RecognizePiiEntitiesAsync(EnglishDocument1, "en", new RecognizePiiEntitiesOptions()
            {
                CategoriesFilter = { PiiEntityCategory.PhoneNumber }
            });

            ValidateInDocumenResult(entities, new List <string>()
            {
                "800-102-1100"
            });

            entities = await client.RecognizePiiEntitiesAsync(EnglishDocument1, "en", new RecognizePiiEntitiesOptions()
            {
                CategoriesFilter = { PiiEntityCategory.PhoneNumber, PiiEntityCategory.Organization }
            });

            ValidateInDocumenResult(entities, new List <string>()
            {
                "800-102-1100", "Microsoft"
            });

            entities = await client.RecognizePiiEntitiesAsync(EnglishDocument1, "en", new RecognizePiiEntitiesOptions()
            {
                CategoriesFilter = { PiiEntityCategory.ABARoutingNumber }
            });

            Assert.AreEqual(0, entities.Count);
        }
Exemple #2
0
        public async Task RecognizePiiEntitiesWithAADTest()
        {
            TextAnalyticsClient client   = GetClient(useTokenCredential: true);
            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(EnglishDocument1);

            ValidateInDocumenResult(entities, s_document1ExpectedOutput);
        }
Exemple #3
0
        public async Task RecognizePiiEntitiesWithLanguageTest()
        {
            TextAnalyticsClient client   = GetClient();
            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(EnglishDocument1, "en");

            ValidateInDocumenResult(entities, s_document1ExpectedOutput);
        }
Exemple #4
0
        public async Task RecognizePiiEntitiesAsync()
        {
            string endpoint = TestEnvironment.Endpoint;
            string apiKey   = TestEnvironment.ApiKey;

            var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(apiKey));

            string document = "A developer with SSN 859-98-0987 whose phone number is 800-102-1100 is building tools with our APIs.";

            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(document);

            Console.WriteLine($"Redacted Text: {entities.RedactedText}");
            if (entities.Count > 0)
            {
                Console.WriteLine($"Recognized {entities.Count} PII entit{(entities.Count > 1 ? "ies" : "y")}:");
                foreach (PiiEntity entity in entities)
                {
                    Console.WriteLine($"Text: {entity.Text}, Category: {entity.Category}, SubCategory: {entity.SubCategory}, Confidence score: {entity.ConfidenceScore}");
                }
            }
            else
            {
                Console.WriteLine("No entities were found.");
            }
        }
Exemple #5
0
        private static async Task RecognizePIIExampleAsync(TextAnalyticsClient client)
        {
            WriteLine("****** Personally Identifiable Information recognition ******");
            WriteLine();

            var document = "A developer with SSN 859-98-0987 whose phone number is 800-102-1100 is building tools with our APIs.";

            WriteLine($"Document: {document}");
            WriteLine();

            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(document);

            Console.WriteLine($"Redacted Text: {entities.RedactedText}");
            if (entities.Count > 0)
            {
                Console.WriteLine($"Recognized {entities.Count} PII entit{(entities.Count > 1 ? "ies" : "y")}:");
                foreach (PiiEntity entity in entities)
                {
                    Console.WriteLine($"Text: {entity.Text}, Category: {entity.Category}, SubCategory: {entity.SubCategory}, Confidence score: {entity.ConfidenceScore}");
                }
            }
            else
            {
                Console.WriteLine("No entities were found.");
            }

            WriteLine();
        }
Exemple #6
0
        public async Task RecognizePiiEntitiesWithLanguageTest()
        {
            TextAnalyticsClient client = GetClient();
            string document            = singleEnglish;

            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(document, "en");

            Assert.AreEqual(2, entities.Count);
            Assert.IsNotNull(entities.RedactedText);
        }
Exemple #7
0
        public async Task RecognizePiiEntitiesWithAADTest()
        {
            TextAnalyticsClient client = GetClient(useTokenCredential: true);
            string document            = singleEnglish;

            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(document);

            Assert.AreEqual(2, entities.Count);
            Assert.IsNotNull(entities.RedactedText);
        }
        public async Task RecognizePiiEntitiesWithLanguageTest()
        {
            TextAnalyticsClient client = GetClient();
            string input = "A developer with SSN 555-55-5555 whose phone number is 800-102-1100 is building tools with our APIs.";

            Response <IReadOnlyCollection <PiiEntity> > response = await client.RecognizePiiEntitiesAsync(input, "en");

            IReadOnlyCollection <PiiEntity> entities = response.Value;

            Assert.AreEqual(2, entities.Count);
        }
Exemple #9
0
        public async Task RecognizePiiEntitiesWithResultCategoriesTest()
        {
            TextAnalyticsClient client = GetClient();

            PiiEntityCollection originalEntities = await client.RecognizePiiEntitiesAsync(EnglishDocument1);

            List <PiiEntityCategory> piiCategories = new();

            foreach (var entity in originalEntities)
            {
                piiCategories.Add(entity.Category);
            }

            PiiEntityCollection newEntities = await client.RecognizePiiEntitiesAsync(EnglishDocument1, "en", new RecognizePiiEntitiesOptions()
            {
                CategoriesFilter = piiCategories
            });

            ValidateInDocumenResult(newEntities, s_document1ExpectedOutput);
        }
Exemple #10
0
        public async Task RecognizePiiEntitiesWithDomainTest()
        {
            TextAnalyticsClient client = GetClient();
            string document            = "I work at Microsoft and my email is [email protected]";

            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(document, "en", new RecognizePiiEntitiesOptions()
            {
                DomainFilter = PiiEntityDomainType.ProtectedHealthInformation
            });

            ValidateInDocumenResult(entities, new List <string>()
            {
                "*****@*****.**", "Microsoft"
            });
        }
Exemple #11
0
        public async Task RecognizePiiEntitiesWithDomainTest()
        {
            TextAnalyticsClient client = GetClient();
            string document            = "I work at Microsoft and my email is [email protected]";

            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(document, "en", new RecognizePiiEntitiesOptions()
            {
                DomainFilter = PiiEntityDomainType.ProtectedHealthInformation
            });

            Assert.AreEqual(1, entities.Count);
            Assert.AreEqual("*****@*****.**", entities.FirstOrDefault().Text);
            Assert.AreEqual(EntityCategory.Email, entities.FirstOrDefault().Category);
            Assert.IsNotNull(entities.RedactedText);
        }
Exemple #12
0
        public async Task RecognizePiiEntitiesTest()
        {
            TextAnalyticsClient client = GetClient();
            string document            = singleEnglish;

            PiiEntityCollection entities = await client.RecognizePiiEntitiesAsync(document);

            Assert.AreEqual(2, entities.Count);
            Assert.IsNotNull(entities.RedactedText);

            var entitiesList = new List <string> {
                "859-98-0987", "800-102-1100"
            };

            foreach (PiiEntity entity in entities)
            {
                Assert.IsTrue(entitiesList.Contains(entity.Text));
            }
        }
Exemple #13
0
        public async Task RecognizePiiEntitiesAsync()
        {
            string endpoint = TestEnvironment.Endpoint;
            string apiKey   = TestEnvironment.ApiKey;

            var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(apiKey), CreateSampleOptions());

            string document = @"Parker Doe has repaid all of their loans as of 2020-04-25.
                                Their SSN is 859-98-0987. To contact them, use their phone number 800-102-1100.
                                They are originally from Brazil and have document ID number 998.214.865-68";

            try
            {
                Response <PiiEntityCollection> response = await client.RecognizePiiEntitiesAsync(document);

                PiiEntityCollection entities = response.Value;

                Console.WriteLine($"Redacted Text: {entities.RedactedText}");
                Console.WriteLine("");
                Console.WriteLine($"Recognized {entities.Count} PII entities:");
                foreach (PiiEntity entity in entities)
                {
                    Console.WriteLine($"  Text: {entity.Text}");
                    Console.WriteLine($"  Category: {entity.Category}");
                    if (!string.IsNullOrEmpty(entity.SubCategory))
                    {
                        Console.WriteLine($"  SubCategory: {entity.SubCategory}");
                    }
                    Console.WriteLine($"  Confidence score: {entity.ConfidenceScore}");
                    Console.WriteLine("");
                }
            }
            catch (RequestFailedException exception)
            {
                Console.WriteLine($"Error Code: {exception.ErrorCode}");
                Console.WriteLine($"Message: {exception.Message}");
            }
        }
        public async Task RecognizePiiEntitiesTest()
        {
            TextAnalyticsClient client = GetClient();
            string input = "A developer with SSN 555-55-5555 whose phone number is 800-102-1100 is building tools with our APIs.";

            Response <IReadOnlyCollection <PiiEntity> > response = await client.RecognizePiiEntitiesAsync(input);

            IReadOnlyCollection <PiiEntity> entities = response.Value;

            Assert.AreEqual(2, entities.Count);

            var entitiesList = new List <string> {
                "555-55-5555", "800-102-1100"
            };

            foreach (PiiEntity entity in entities)
            {
                Assert.IsTrue(entitiesList.Contains(entity.Text));
                Assert.IsNotNull(entity.Score);
                Assert.IsNotNull(entity.Offset);
                Assert.IsNotNull(entity.Length);
                Assert.Greater(entity.Length, 0);
            }
        }
 public async Task <PiiEntityCollection> GetPiiEntities(string document)
 {
     return(await _textAnalyticsClient.RecognizePiiEntitiesAsync(document));
 }