예제 #1
0
 public void GetTagHypotheses()
 {
     TestRuntime.AssertXcodeVersion(12, TestRuntime.MinorXcode12APIMismatch);
     using (var tagger = new NLTagger(NLTagScheme.LexicalClass)
     {
         String = Text
     }) {
         var dict = tagger.GetTagHypotheses(0, NLTokenUnit.Sentence, NLTagScheme.LexicalClass, nuint.MaxValue);
         Assert.That(dict.Count, Is.EqualTo(1), "Count");
         var item = dict [NLLanguage.Unevaluated];
         Assert.That(item, Is.EqualTo(1.0d), "value");
     }
 }
예제 #2
0
 public void GetTags()
 {
     using (var tagger = new NLTagger(NLTagScheme.LexicalClass, NLTagScheme.Lemma)
     {
         String = Text
     }) {
         Assert.That(tagger.DominantLanguage, Is.EqualTo(NLLanguage.English), "DominantLanguage");
         var tags = tagger.GetTags(new NSRange(0, Text.Length), NLTokenUnit.Word, NLTagScheme.Lemma, NLTaggerOptions.OmitWhitespace | NLTaggerOptions.OmitPunctuation, out var ranges);
         Assert.That(tags.Length, Is.EqualTo(ranges.Length), "Length");
         foreach (var tag in tags)
         {
             Assert.NotNull(tag, tag);
         }
     }
 }
        void ShowTags(NLTagScheme tagScheme)
        {
            if (!String.IsNullOrWhiteSpace(UserInput.Text))
            {
                var tagger = new NLTagger(new NLTagScheme[] { tagScheme });
                var range  = new NSRange(0, UserInput.Text.Length);
                tagger.String = UserInput.Text;

                tags            = tagger.GetTags(range, NLTokenUnit.Word, tagScheme, NLTaggerOptions.OmitWhitespace, out NSValue[] ranges);
                tokenRanges     = ranges;
                detailViewTitle = tagScheme == NLTagScheme.NameType ? "Named Entities" : "Parts of Speech";

                PerformSegue(ShowEntitiesSegue, this);
            }
        }
예제 #4
0
 public void GetTagHypotheses_Range()
 {
     TestRuntime.AssertXcodeVersion(12, 0);
     using (var tagger = new NLTagger(NLTagScheme.LexicalClass)
     {
         String = Text
     }) {
         var dict = tagger.GetTagHypotheses(0, NLTokenUnit.Sentence, NLTagScheme.LexicalClass, nuint.MaxValue, out NSRange range);
         Assert.That(dict.Count, Is.EqualTo(1), "Count");
         var item = dict [NLLanguage.Unevaluated];
         Assert.That(item, Is.EqualTo(1.0d), "value");
         Assert.That(range.Location, Is.EqualTo((nint)0), "Location");
         Assert.That(range.Length, Is.EqualTo((nint)88), "Length");
     }
 }
예제 #5
0
        public void GetTag()
        {
            using (var tagger = new NLTagger(NLTagScheme.Lemma)
            {
                String = Text
            })
                using (var tag = tagger.GetTag(0, NLTokenUnit.Word, NLTagScheme.Lemma, out var range)) {
                    Assert.That(tagger.DominantLanguage, Is.EqualTo(NLLanguage.English), "DominantLanguage");
#if !__TVOS__
                    // works everywhere expect tvOS
                    Assert.That(tag.ToString(), Is.EqualTo("the"), "First word");
#endif
                    Assert.That(range.Location, Is.EqualTo(0), "Location");
                    Assert.That(range.Length, Is.EqualTo(3), "Length");
                }
        }
예제 #6
0
 public void GetTag()
 {
     using (var tagger = new NLTagger(NLTagScheme.Lemma)
     {
         String = Text
     })
         using (var tag = tagger.GetTag(0, NLTokenUnit.Word, NLTagScheme.Lemma, out var range)) {
             Assert.That(tagger.DominantLanguage, Is.EqualTo(NLLanguage.English), "DominantLanguage");
             Assert.That(range.Location, Is.EqualTo(0), "Location");
             Assert.That(range.Length, Is.EqualTo(3), "Length");
             // rdar https://trello.com/c/3oN5kuYk
             if (tag != null)
             {
                 Assert.That(tag.ToString(), Is.EqualTo("the"), "First word");
             }
         }
 }
예제 #7
0
 public void GetModels()
 {
     TestRuntime.AssertXcodeVersion(11, 0);
     using (var tagger = new NLTagger(NLTagScheme.LexicalClass)
     {
         String = Text
     }) {
         foreach (var scheme in typeof(NLTagScheme).GetEnumValues())
         {
             var constant = ((NLTagScheme)scheme).GetConstant();
             if (constant == null)
             {
                 continue;                         // can vary by SDK version
             }
             Assert.That(tagger.GetModels(constant), Is.Empty, constant);
         }
     }
 }