本文整理汇总了C#中Sentence.PhraseAfter方法的典型用法代码示例。如果您正苦于以下问题:C# Sentence.PhraseAfter方法的具体用法?C# Sentence.PhraseAfter怎么用?C# Sentence.PhraseAfter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sentence
的用法示例。
在下文中一共展示了Sentence.PhraseAfter方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Transform
public override bool Transform(Sentence sentence)
{
List<Phrase> phrases = new List<Phrase>();
phrases.Add(this);
KeyValuePair<string, string> nks = NeighborKinds(sentence);
if (nks.Value == "VP")
phrases.Add(sentence.PhraseAfter(this));
sentence.Combine(phrases, new VerbPhrase());
return true;
}
示例2: Transform
// Combine with adjacent proper nouns, before rolling into Noun Phrase
public override bool Transform(Sentence sentence)
{
List<Phrase> phrases = new List<Phrase>();
phrases.Add(this);
// Look ahead and behind
Phrase next = sentence.PhraseAfter(this);
while (next != null && next.Part == "NNP")
{
phrases.Add(next);
next = sentence.PhraseAfter(next);
}
Phrase prev = sentence.PhraseBefore(this);
while (prev != null && prev.Part == "NNP")
{
phrases.Insert(0, prev);
prev = sentence.PhraseBefore(prev);
}
sentence.Combine(phrases, new NounPhrase());
return true;
}
示例3: Transform
public override bool Transform(Sentence sentence)
{
KeyValuePair<string, string> nks = NeighborKinds(sentence);
if (nks.Value == "NP" || nks.Value == "VP")
{
List<Phrase> consts = new List<Phrase>();
consts.Add(this);
consts.Add(sentence.PhraseAfter(this));
sentence.Combine(consts, new WhNounPhrase());
return true;
}
return false;
}
示例4: Transform
public override bool Transform(Sentence sentence)
{
KeyValuePair<string, string> nks = NeighborKinds(sentence);
if (nks.Value == "NP")
{
List<Phrase> us = new List<Phrase>();
us.Add(this);
us.Add(sentence.PhraseAfter(this));
sentence.Combine(us, new PrepositionalPhrase());
return true;
}
return false;
}
示例5: 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;
}