Exemplo n.º 1
0
        public virtual string[] Find(object[] tokens, IDictionary previousTags)
        {
            mBestSequence = mBeam.BestSequence(tokens, new object[] { previousTags });
            ArrayList outcomes = new ArrayList(mBestSequence.Outcomes);

            return((string[])outcomes.ToArray(typeof(string)));
        }
Exemplo n.º 2
0
 /// <summary>
 /// This method determines wheter the outcome is valid for the preceding sequence.
 /// This can be used to implement constraints on what sequences are valid.
 /// </summary>
 /// <param name="outcome">
 /// The outcome.
 /// </param>
 /// <param name="sequence">
 /// The preceding sequence of outcome assignments.
 /// </param>
 /// <returns>
 /// true is the outcome is valid for the sequence, false otherwise.
 /// </returns>
 protected internal virtual bool ValidOutcome(string outcome, Util.Sequence sequence)
 {
     if (outcome == Continue)
     {
         string[] tags    = sequence.Outcomes.ToArray();
         int      lastTag = tags.Length - 1;
         if (lastTag == -1)
         {
             return(false);
         }
         else if (tags[lastTag] == Other)
         {
             return(false);
         }
     }
     return(true);
 }
Exemplo n.º 3
0
 public virtual ArrayList Find(ArrayList tokens, IDictionary previousTags)
 {
     mBestSequence = mBeam.BestSequence(tokens, new object[] { previousTags });
     return(new ArrayList(mBestSequence.Outcomes));
 }
Exemplo n.º 4
0
 protected internal override bool ValidSequence(int index, ArrayList sequence, Util.Sequence outcomeSequence, string outcome)
 {
     return(mNameFinder.ValidOutcome(outcome, outcomeSequence));
 }
Exemplo n.º 5
0
 protected internal override bool ValidSequence(int index, ArrayList inputSequence, Util.Sequence outcomesSequence, string outcome)
 {
     if (mMaxentPosTagger.mDictionary == null)
     {
         return(true);
     }
     else
     {
         string[] tags = mMaxentPosTagger.mDictionary.GetTags(inputSequence[index].ToString());
         if (tags == null)
         {
             return(true);
         }
         else
         {
             return(new ArrayList(tags).Contains(outcome));
         }
     }
 }
Exemplo n.º 6
0
 public virtual string[] Tag(string[] tokens)
 {
     mBestSequence = Beam.BestSequence(new ArrayList(tokens), null);
     return(mBestSequence.Outcomes.ToArray());
 }
Exemplo n.º 7
0
 public virtual ArrayList Tag(ArrayList tokens)
 {
     mBestSequence = Beam.BestSequence(tokens, null);
     return(new ArrayList(mBestSequence.Outcomes));
 }