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))); }
/// <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); }
public virtual ArrayList Find(ArrayList tokens, IDictionary previousTags) { mBestSequence = mBeam.BestSequence(tokens, new object[] { previousTags }); return(new ArrayList(mBestSequence.Outcomes)); }
protected internal override bool ValidSequence(int index, ArrayList sequence, Util.Sequence outcomeSequence, string outcome) { return(mNameFinder.ValidOutcome(outcome, outcomeSequence)); }
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)); } } }
public virtual string[] Tag(string[] tokens) { mBestSequence = Beam.BestSequence(new ArrayList(tokens), null); return(mBestSequence.Outcomes.ToArray()); }
public virtual ArrayList Tag(ArrayList tokens) { mBestSequence = Beam.BestSequence(tokens, null); return(new ArrayList(mBestSequence.Outcomes)); }