本文整理汇总了C#中Sentence.MergeNext方法的典型用法代码示例。如果您正苦于以下问题:C# Sentence.MergeNext方法的具体用法?C# Sentence.MergeNext怎么用?C# Sentence.MergeNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sentence
的用法示例。
在下文中一共展示了Sentence.MergeNext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Transform
public override bool Transform(Sentence sentence)
{
KeyValuePair<string, string> nks = NeighborKinds(sentence);
if (nks.Value == "ADVP")
{
sentence.MergeNext(this);
return true;
}
return false;
}
示例2: Transform
public override bool Transform(Sentence sentence)
{
if (!sentence.phrases.Contains(this))
return false;
bool success = false;
bool lastFound = true;
while (lastFound) {
KeyValuePair<string, string> nks = NeighborKinds(sentence);
if (nks.Value == "." && constituents[constituents.Count - 1].Text.Length == 1)
sentence.MergeNext(this); // eat the period
else if (nks.Key == "" && nks.Value == "NP")
sentence.MergeNext(this);
else if (nks.Key == "NP" && nks.Value == "NP")
sentence.MergeNext(this);
else if (nks.Key == "NP" && (nks.Value == "" || nks.Value == "." || nks.Value == "!"))
sentence.MergePrevious(this);
else
lastFound = false;
if (lastFound == true)
success = true;
}
if (NeighborKinds(sentence).Key == "DT" || NeighborKinds(sentence).Key == "PRP$") {
sentence.AbsorbPrevious(this);
success = true;
}
if (NeighborKinds(sentence).Key == "ADJP") {
List<Phrase> phrases = new List<Phrase>();
phrases.Add(sentence.PhraseBefore(this));
phrases.Add(this);
sentence.Combine(phrases, new NounPhrase());
success = true;
}
if (NeighborKinds(sentence).Value == "PP")
{
Phrase after = sentence.PhraseAfter(this);
if (after.Constituents.Count > 1 && after.Constituents[0].Text.ToLower() == "of")
{
sentence.AbsorbNext(this);
return true;
}
}
return success;
}