本文整理汇总了C#中Sentence.Combine方法的典型用法代码示例。如果您正苦于以下问题:C# Sentence.Combine方法的具体用法?C# Sentence.Combine怎么用?C# Sentence.Combine使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sentence
的用法示例。
在下文中一共展示了Sentence.Combine方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Transform
public override bool Transform(Sentence sentence)
{
KeyValuePair<string, string> nks = NeighborKinds(sentence);
if (nks.Key == "NP" && nks.Value == "NP")
{
sentence.Combine(Neighborhood(sentence), new NounPhrase());
return true;
}
else if (nks.Key == "VP" && nks.Value == "VP")
{
sentence.Combine(Neighborhood(sentence), new VerbPhrase());
return true;
}
else if (nks.Key == "PP" && nks.Value == "PP")
{
sentence.Combine(Neighborhood(sentence), new PrepositionalPhrase());
return true;
}
else if (nks.Key == "S" && nks.Value == "S")
{
sentence.Combine(Neighborhood(sentence), new SimpleDeclarativePhrase());
return true;
}
if (nks.Key == "PP" && nks.Value == "NP")
{
Phrase preposition = sentence.PhraseBefore(this);
sentence.AbsorbNext(preposition); // absorb this
sentence.AbsorbNext(preposition); // absorb noun
return true;
}
return false;
}
示例2: Transform
public override bool Transform(Sentence sentence)
{
List<Phrase> phrases = new List<Phrase>();
phrases.Add(this);
sentence.Combine(phrases, new PrepositionalPhrase());
return true;
}
示例3: Transform
public override bool Transform(Sentence sentence)
{
KeyValuePair<string, string> nks = NeighborKinds(sentence);
if (nks.Key == "S" && nks.Value == "S")
{
sentence.Combine(Neighborhood(sentence), new SimpleDeclarativePhrase());
return true;
}
return false;
}
示例4: 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;
}
示例5: 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;
}
示例6: 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;
}
示例7: 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;
}
示例8: 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;
}
示例9: Transform
public override bool Transform(Sentence sentence)
{
if (!sentence.phrases.Contains(this))
return false;
bool success = false;
KeyValuePair<string, string> nks = NeighborKinds(sentence);
Phrase verbphr = FindConsituent<Verb>();
string verb = (verbphr == null ? "" : verbphr.Text);
if (nks.Key == "ADVP") {
sentence.AbsorbPrevious(this);
success = true;
}
else if (nks.Value == "VBN")
{ // is considered
sentence.AbsorbNext(this);
success = true;
}
else if (nks.Value == "ADVP")
{
sentence.AbsorbNext(this);
success = true;
}
else if (nks.Value == "NP")
{
sentence.AbsorbNext(this);
success = true;
}
else if (nks.Value == "ADJP" && Verbs.IsToBe(verb))
{
sentence.AbsorbNext(this);
success = true;
}
else if (nks.Value == "PP")
{
sentence.AbsorbNext(this);
success = true;
}
else if (nks.Key == "TO")
{
List<Phrase> us = new List<Phrase>();
us.Add(sentence.PhraseBefore(this));
us.Add(this);
sentence.Combine(us, new PrepositionalPhrase());
success = true;
}
else if (nks.Key == "WHNP" || nks.Key == "WRB")
{
string trial = sentence.PhraseBefore(this).ToString() + ";" + ToString() + ";SBARQ";
if (!triedBefore.ContainsKey(trial))
{
List<Phrase> phrases = new List<Phrase>();
phrases.Add(sentence.PhraseBefore(this));
phrases.Add(this);
sentence.Combine(phrases, new SimpleQuestion());
triedBefore.Add(trial, true);
success = true;
}
}
else if (nks.Key == "NP" || nks.Key == "EX")
{
string trial = sentence.PhraseBefore(this).ToString() + ";" + ToString() + ";S";
if (!triedBefore.ContainsKey(trial))
{
List<Phrase> phrases = new List<Phrase>();
phrases.Add(sentence.PhraseBefore(this));
phrases.Add(this);
sentence.Combine(phrases, new SimpleDeclarativePhrase());
triedBefore.Add(trial, true);
success = true;
}
}
return success;
}