コード例 #1
0
        public async Task TextWithEmoji()
        {
            TextAnalyticsClient client = GetClient();
            string document            = "👨 Microsoft the company.";

            CategorizedEntityCollection entities = await client.RecognizeEntitiesAsync(document, "en");

            Assert.AreEqual(1, entities.Count);
            Assert.AreEqual("Microsoft", entities.FirstOrDefault().Text);
            Assert.AreEqual(3, entities.FirstOrDefault().Offset);
            Assert.AreEqual(9, entities.FirstOrDefault().Length);
        }
コード例 #2
0
        public async Task TextWithDiacriticsNFC()
        {
            TextAnalyticsClient client = GetClient();
            string document            = "año Microsoft";

            CategorizedEntityCollection entities = await client.RecognizeEntitiesAsync(document, "es");

            Assert.AreEqual(1, entities.Count);
            Assert.AreEqual("Microsoft", entities.FirstOrDefault().Text);
            Assert.AreEqual(4, entities.FirstOrDefault().Offset);
            Assert.AreEqual(9, entities.FirstOrDefault().Length);
        }
コード例 #3
0
        public async Task TextInKoreanNFC()
        {
            TextAnalyticsClient client = GetClient();
            string document            = "아가 Bill Gates.";

            CategorizedEntityCollection entities = await client.RecognizeEntitiesAsync(document);

            Assert.AreEqual(1, entities.Count);
            Assert.AreEqual("Bill Gates", entities.FirstOrDefault().Text);
            Assert.AreEqual(3, entities.FirstOrDefault().Offset);
            Assert.AreEqual(10, entities.FirstOrDefault().Length);
        }
コード例 #4
0
        public async Task RecognizeEntitiesWithSubCategoryTest()
        {
            TextAnalyticsClient client = GetClient();
            string document            = "I had a wonderful trip to Seattle last week.";

            CategorizedEntityCollection entities = await client.RecognizeEntitiesAsync(document);

            Assert.GreaterOrEqual(entities.Count, 3);

            foreach (CategorizedEntity entity in entities)
            {
                if (entity.Text == "last week")
                {
                    Assert.AreEqual("DateRange", entity.SubCategory);
                }
            }
        }
コード例 #5
0
        public async Task RecognizeEntitiesResultsSorted_WithErrors()
        {
            var mockResults = new List <RecognizeEntitiesResult>()
            {
                new RecognizeEntitiesResult("2", new TextDocumentStatistics(), new List <NamedEntity>()
                {
                    new NamedEntity("EntityText0", "EntityType0", "EntitySubType0", 0, 1, 0.5),
                    new NamedEntity("EntityText1", "EntityType1", "EntitySubType1", 0, 1, 0.5),
                }),
                new RecognizeEntitiesResult("3", new TextDocumentStatistics(), new List <NamedEntity>()
                {
                    new NamedEntity("EntityText0", "EntityType0", "EntitySubType0", 0, 1, 0.5),
                    new NamedEntity("EntityText1", "EntityType1", "EntitySubType1", 0, 1, 0.5),
                }),
                new RecognizeEntitiesResult("4", "Document is invalid."),
                new RecognizeEntitiesResult("5", "Document is invalid."),
            };
            var mockResultCollection = new RecognizeEntitiesResultCollection(mockResults,
                                                                             new TextDocumentBatchStatistics(2, 2, 2, 2),
                                                                             "modelVersion");

            var mockResponse = new MockResponse(200);

            mockResponse.SetContent(SerializationHelpers.Serialize(mockResultCollection, SerializeRecognizeEntitiesResultCollection));

            var mockTransport          = new MockTransport(mockResponse);
            TextAnalyticsClient client = CreateTestClient(mockTransport);

            var inputs = new List <TextDocumentInput>()
            {
                new TextDocumentInput("4", "TextDocument1"),
                new TextDocumentInput("5", "TextDocument2"),
                new TextDocumentInput("2", "TextDocument3"),
                new TextDocumentInput("3", "TextDocument4"),
            };

            var response = await client.RecognizeEntitiesAsync(inputs, new TextAnalyticsRequestOptions());

            var resultCollection = response.Value;

            Assert.AreEqual("4", resultCollection[0].Id);
            Assert.AreEqual("5", resultCollection[1].Id);
            Assert.AreEqual("2", resultCollection[2].Id);
            Assert.AreEqual("3", resultCollection[3].Id);
        }
コード例 #6
0
        public async Task RecognizeEntitiesAsync()
        {
            string endpoint = TestEnvironment.Endpoint;
            string apiKey   = TestEnvironment.ApiKey;

            // Instantiate a client that will be used to call the service.
            var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(apiKey));

            #region Snippet:RecognizeEntitiesAsync
            string document = @"We love this trail and make the trip every year. The views are breathtaking and well
                                worth the hike! Yesterday was foggy though, so we missed the spectacular views.
                                We tried again today and it was amazing. Everyone in my family liked the trail although
                                it was too challenging for the less athletic among us.
                                Not necessarily recommended for small children.
                                A hotel close to the trail offers services for childcare in case you want that.";

            try
            {
                Response <CategorizedEntityCollection> response = await client.RecognizeEntitiesAsync(document);

                CategorizedEntityCollection entitiesInDocument = response.Value;

                Console.WriteLine($"Recognized {entitiesInDocument.Count} entities:");
                foreach (CategorizedEntity entity in entitiesInDocument)
                {
                    Console.WriteLine($"    Text: {entity.Text}");
                    Console.WriteLine($"    Offset: {entity.Offset}");
                    Console.WriteLine($"  Length: {entity.Length}");
                    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}");
            }
            #endregion
        }
コード例 #7
0
        public async Task RecognizeEntitiesWithSubtypeTest()
        {
            TextAnalyticsClient client = GetClient();
            string input = "I had a wonderful trip to Seattle last week.";

            RecognizeEntitiesResult result = await client.RecognizeEntitiesAsync(input);

            IReadOnlyCollection <NamedEntity> entities = result.NamedEntities;

            Assert.AreEqual(2, entities.Count);

            foreach (NamedEntity entity in entities)
            {
                if (entity.Text == "last week")
                {
                    Assert.IsTrue(entity.SubType != NamedEntitySubType.None);
                }
            }
        }
コード例 #8
0
        public async Task RecognizeEntitiesTest()
        {
            TextAnalyticsClient client = GetClient();
            string document            = "Microsoft was founded by Bill Gates and Paul Allen.";

            CategorizedEntityCollection entities = await client.RecognizeEntitiesAsync(document);

            Assert.AreEqual(3, entities.Count);

            var entitiesList = new List <string> {
                "Bill Gates", "Microsoft", "Paul Allen"
            };

            foreach (CategorizedEntity entity in entities)
            {
                Assert.IsTrue(entitiesList.Contains(entity.Text));
                Assert.IsNotNull(entity.ConfidenceScore);
            }
        }
コード例 #9
0
        public async Task RecognizeEntitiesWithSubCategoryTest()
        {
            TextAnalyticsClient client = GetClient();
            string input = "I had a wonderful trip to Seattle last week.";

            Response <IReadOnlyCollection <CategorizedEntity> > response = await client.RecognizeEntitiesAsync(input);

            IReadOnlyCollection <CategorizedEntity> entities = response.Value;

            Assert.AreEqual(2, entities.Count);

            foreach (CategorizedEntity entity in entities)
            {
                if (entity.Text == "last week")
                {
                    Assert.IsTrue(entity.SubCategory != EntitySubCategory.None);
                }
            }
        }
コード例 #10
0
        public async Task RecognizeEntitiesWithAADTest()
        {
            TextAnalyticsClient client = GetClient(useTokenCredential: true);
            string document            = singleEnglish;

            CategorizedEntityCollection entities = await client.RecognizeEntitiesAsync(document);

            Assert.AreEqual(3, entities.Count);

            var entitiesList = new List <string> {
                "Bill Gates", "Microsoft", "Paul Allen"
            };

            foreach (CategorizedEntity entity in entities)
            {
                Assert.IsTrue(entitiesList.Contains(entity.Text));
                Assert.IsNotNull(entity.ConfidenceScore);
            }
        }
コード例 #11
0
        private static async Task EntityRecognitionExampleAsync(TextAnalyticsClient client)
        {
            WriteLine("****** Named Entity Recognition (NER) ******");
            WriteLine();

            var document = "I had a wonderful trip to Seattle last week.";

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

            var response = await client.RecognizeEntitiesAsync(document);

            Console.WriteLine("Named Entities:");
            foreach (var entity in response.Value)
            {
                WriteLine($"\tText: {entity.Text},\tCategory: {entity.Category},\tSub-Category: {entity.SubCategory}");
                WriteLine($"\t\tScore: {entity.ConfidenceScore:F2},\tLength: {entity.Length},\tOffset: {entity.Offset}\n");
            }

            WriteLine();
        }
        public async Task RecognizeEntitiesAsync()
        {
            string endpoint = Environment.GetEnvironmentVariable("TEXT_ANALYTICS_ENDPOINT");
            string apiKey   = Environment.GetEnvironmentVariable("TEXT_ANALYTICS_API_KEY");

            // Instantiate a client that will be used to call the service.
            var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(apiKey));

            #region Snippet:RecognizeEntitiesAsync
            string document = "Microsoft was founded by Bill Gates and Paul Allen.";

            Response <IReadOnlyCollection <CategorizedEntity> > entities = await client.RecognizeEntitiesAsync(document);

            Console.WriteLine($"Recognized {entities.Value.Count} entities:");
            foreach (CategorizedEntity entity in entities.Value)
            {
                Console.WriteLine($"Text: {entity.Text}, Category: {entity.Category}, SubCategory: {entity.SubCategory}, Confidence score: {entity.ConfidenceScore}");
            }
            #endregion
        }
コード例 #13
0
        public async Task RecognizeEntitiesAsync()
        {
            string endpoint = TestEnvironment.Endpoint;
            string apiKey   = TestEnvironment.ApiKey;

            // Instantiate a client that will be used to call the service.
            var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(apiKey));

            #region Snippet:RecognizeEntitiesAsync
            string document = "Microsoft was founded by Bill Gates and Paul Allen.";

            CategorizedEntityCollection entities = await client.RecognizeEntitiesAsync(document);

            Console.WriteLine($"Recognized {entities.Count} entities:");
            foreach (CategorizedEntity entity in entities)
            {
                Console.WriteLine($"Text: {entity.Text}, Category: {entity.Category}, SubCategory: {entity.SubCategory}, Confidence score: {entity.ConfidenceScore}");
            }
            #endregion
        }
コード例 #14
0
        public async Task RecognizeEntitiesAsync()
        {
            string endpoint        = Environment.GetEnvironmentVariable("TEXT_ANALYTICS_ENDPOINT");
            string subscriptionKey = Environment.GetEnvironmentVariable("TEXT_ANALYTICS_SUBSCRIPTION_KEY");

            var client = new TextAnalyticsClient(new Uri(endpoint), subscriptionKey);

            #region Snippet:RecognizeEntitiesAsync
            string input = "Microsoft was founded by Bill Gates and Paul Allen.";

            RecognizeEntitiesResult result = await client.RecognizeEntitiesAsync(input);

            IReadOnlyCollection <NamedEntity> entities = result.NamedEntities;

            Console.WriteLine($"Recognized {entities.Count()} entities:");
            foreach (NamedEntity entity in entities)
            {
                Console.WriteLine($"Text: {entity.Text}, Type: {entity.Type}, SubType: {entity.SubType ?? "N/A"}, Score: {entity.Score}, Offset: {entity.Offset}, Length: {entity.Length}");
            }
            #endregion
        }
コード例 #15
0
        public async Task RecognizeEntitiesTest()
        {
            TextAnalyticsClient client = GetClient();
            string input = "Microsoft was founded by Bill Gates and Paul Allen.";

            Response <IReadOnlyCollection <CategorizedEntity> > response = await client.RecognizeEntitiesAsync(input);

            IReadOnlyCollection <CategorizedEntity> entities = response.Value;

            Assert.AreEqual(3, entities.Count);

            var entitiesList = new List <string> {
                "Bill Gates", "Microsoft", "Paul Allen"
            };

            foreach (CategorizedEntity 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);
            }
        }
コード例 #16
0
 public async Task <CategorizedEntityCollection> GetCategorizedEntities(string document)
 {
     return(await _textAnalyticsClient.RecognizeEntitiesAsync(document));
 }
コード例 #17
0
        public async Task <CategorizedEntityCollection> RecognizeEntitiesAsync(string text, string language = "en")
        {
            var result = await client.RecognizeEntitiesAsync(text, language);

            return(result.Value);
        }