private static Sentence EstablishAFact(KeyValuePair <string, string> pair) { string[] nameParts = pair.Key.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); Word jan = Words.jan; Word name = new Word(nameParts[1]); Word nanpa = Words.nanpa; Word fiveEtc = new Word(pair.Value); ComplexChain subject = ComplexChain.SinglePiEnChainFactory(new HeadedPhrase(jan, new WordSet { name })); VerbPhrase verb = new VerbPhrase(Words.jo); ComplexChain directs = ComplexChain.SingleEPiChainFactory(new HeadedPhrase(nanpa, new WordSet { fiveEtc })); TpPredicate predicate = new TpPredicate(Particles.li, verb, directs); Sentence fact = new Sentence(subject, new PredicateList { predicate }, SentenceDiagnostics.NotFromParser, new SentenceOptionalParts { Punctuation = new Punctuation(".") }); return(fact); }
private TpPredicate GeneratePredicate() { bool isTransitive = random.Next(0, 100) < 50; VerbPhrase verbPhrase = RandomVerbPhrase(isTransitive ? "vt" : "vi"); ComplexChain nominal = RandomEnPiChain(); TpPredicate p; if (random.Next(0, 100) < 75) { PrepositionalPhrase[] prepositionals = null; if (random.Next(0, 100) < 35) { prepositionals = RandomPrepChain(); } ComplexChain directs = null; if (isTransitive) { directs = RandomEChain(); } p = new TpPredicate(Particles.li, verbPhrase, directs, prepositionals); } else { p = new TpPredicate(Particles.li, nominal); } return(p); }
public void ProcessSingletonPredicate() { Dialect c = Dialect.LooseyGoosey; ParserUtils pu = new ParserUtils(c); TpPredicate predicate = pu.ProcessPredicates("li soweli lili"); Assert.AreEqual("soweli", predicate.VerbPhrase.HeadVerb.Text); Assert.AreEqual("lili", predicate.VerbPhrase.Adverbs.First().Text); }
public void CreateTpPredicateAfterSplitingEChain() { Dialect c = Dialect.LooseyGoosey; ParserUtils pu = new ParserUtils(c); const string ePhrase = "li moku e soweli suli mute"; TpPredicate predicate = pu.ProcessPredicates(ePhrase); Console.WriteLine(predicate.ToString("b")); Assert.IsTrue(predicate.Directs != null); }
private static Sentence CreateQuestion() { Word jan = Words.seme; Word nanpa = Words.nanpa; Word fiveEtc = new Word("555-1234"); ComplexChain subject = ComplexChain.SinglePiEnChainFactory(new HeadedPhrase(jan)); VerbPhrase verbs = new VerbPhrase(Words.jo); ComplexChain directs = ComplexChain.SingleEPiChainFactory(new HeadedPhrase(nanpa, new WordSet { fiveEtc })); TpPredicate predicate = new TpPredicate(Particles.li, verbs, directs); Sentence fact = new Sentence(subject, new PredicateList { predicate }, SentenceDiagnostics.NotFromParser); return(fact); }