/** * Realise. * * @param wt * the wt * @return the string * @throws XMLRealiserException * the xML realiser exception */ public static string realise(wrapper.XmlDocumentElement wt) { string output = ""; if (wt != null) { try { if (lexicon == null) { lexicon = Lexicon.DefaultLexicon; } UnWrapper w = new UnWrapper(lexicon); DocumentElement t = w.UnwrapDocumentElement(wt); if (t != null) { Realiser r = new Realiser(lexicon); r.initialise(); NLGElement tr = r.realise(t); output = tr.Realisation; } } catch (Exception e) { throw new XMLRealiserException("NLG XMLRealiser Error", e); } } return output; }
public void enumeratedList() { var lexicon = Lexicon.getDefaultLexicon(); var nlgFactory = new NLGFactory(lexicon); var realiser = new Realiser(lexicon); realiser.setFormatter(new HTMLFormatter()); var document = nlgFactory.createDocument("Document"); var paragraph = nlgFactory.createParagraph(); var list = nlgFactory.createEnumeratedList(); var item1 = nlgFactory.createListItem(); var item2 = nlgFactory.createListItem(); // NB: a list item employs orthographical operations only until sentence level; // nest clauses within a sentence to generate more than 1 clause per list item. var sentence1 = nlgFactory.createSentence("this", "be", "the first sentence"); var sentence2 = nlgFactory.createSentence("this", "be", "the second sentence"); item1.addComponent(sentence1); item2.addComponent(sentence2); list.addComponent(item1); list.addComponent(item2); paragraph.addComponent(list); document.addComponent(paragraph); var expectedOutput = "<h1>Document</h1>" + "<p>" + "<ol>" + "<li>This is the first sentence.</li>" + "<li>This is the second sentence.</li>" + "</ol>" + "</p>"; var realisedOutput = realiser.realise(document).getRealisation(); Assert.AreEqual(expectedOutput, realisedOutput); }
public virtual void section8_Test() { Lexicon lexicon = Lexicon.DefaultLexicon; // default simplenlg lexicon NLGFactory nlgFactory = new NLGFactory(lexicon); // factory based on lexicon Realiser realiser = new Realiser(lexicon); NPPhraseSpec subject = nlgFactory.createNounPhrase("Mary"); NPPhraseSpec @object = nlgFactory.createNounPhrase("the monkey"); VPPhraseSpec verb = nlgFactory.createVerbPhrase("chase"); subject.addModifier("fast"); SPhraseSpec p = nlgFactory.createClause(); p.setSubject(subject); p.setVerb(verb); p.setObject(@object); string outputA = realiser.realiseSentence(p); Assert.AreEqual("Fast Mary chases the monkey.", outputA); verb.addModifier("quickly"); string outputB = realiser.realiseSentence(p); Assert.AreEqual("Fast Mary quickly chases the monkey.", outputB); }
public void section8_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); //realiser.setDebugMode(true); var subject = nlgFactory.createNounPhrase("Mary"); var obj = nlgFactory.createNounPhrase("the monkey"); var verb = nlgFactory.createVerbPhrase("chase"); subject.addModifier("fast"); var p = nlgFactory.createClause(); p.setSubject(subject); p.setVerb(verb); p.setObject(obj); var outputA = realiser.realiseSentence(p); Assert.AreEqual("Fast Mary chases the monkey.", outputA); verb.addModifier("quickly"); var outputB = realiser.realiseSentence(p); Assert.AreEqual("Fast Mary quickly chases the monkey.", outputB); }
public virtual void xmlLexiconImmutabilityTest() { NLGFactory factory = new NLGFactory(lexicon); Realiser realiser = new Realiser(lexicon); // "wall" is singular. NPPhraseSpec wall = factory.createNounPhrase("the", "wall"); Assert.AreEqual(NumberAgreement.SINGULAR, wall.getFeature(Feature.NUMBER)); // Realise a sentence with plural form of "wall" wall.Plural = true; SPhraseSpec sentence = factory.createClause("motion", "observe"); sentence.setFeature(Feature.TENSE, Tense.PAST); PPPhraseSpec pp = factory.createPrepositionPhrase("in", wall); sentence.addPostModifier(pp); realiser.realiseSentence(sentence); // Create a new 'the wall' NP and check to make sure that the syntax processor has // not propagated plurality to the canonical XMLLexicon WordElement object. wall = factory.createNounPhrase("the", "wall"); Assert.AreEqual(NumberAgreement.SINGULAR, wall.getFeature(Feature.NUMBER)); }
public void section14_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); var p1 = nlgFactory.createClause("Mary", "chase", "the monkey"); var p2 = nlgFactory.createClause("The monkey", "fight back"); var p3 = nlgFactory.createClause("Mary", "be", "nervous"); var s1 = nlgFactory.createSentence(p1); var s2 = nlgFactory.createSentence(p2); var s3 = nlgFactory.createSentence(p3); var par1 = nlgFactory.createParagraph(new List <INLGElement> { s1, s2, s3 }); var output14a = realiser.realise(par1).getRealisation(); Assert.AreEqual("Mary chases the monkey. The monkey fights back. Mary is nervous.\n\n", output14a); var section = nlgFactory.createSection("The Trials and Tribulation of Mary and the Monkey"); section.addComponent(par1); var output14b = realiser.realise(section).getRealisation(); Assert.AreEqual( "The Trials and Tribulation of Mary and the Monkey\nMary chases the monkey. The monkey fights back. Mary is nervous.\n\n", output14b); }
public void section13_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); var s1 = nlgFactory.createClause("my cat", "like", "fish"); var s2 = nlgFactory.createClause("my dog", "like", "big bones"); var s3 = nlgFactory.createClause("my horse", "like", "grass"); var c = nlgFactory.createCoordinatedPhrase(); c.addCoordinate(s1); c.addCoordinate(s2); c.addCoordinate(s3); var outputA = realiser.realiseSentence(c); Assert.AreEqual("My cat likes fish, my dog likes big bones and my horse likes grass.", outputA); var p = nlgFactory.createClause("I", "be", "happy"); var q = nlgFactory.createClause("I", "eat", "fish"); q.setFeature(Feature.COMPLEMENTISER.ToString(), "because"); q.setFeature(Feature.TENSE.ToString(), Tense.PAST); p.addComplement(q); var outputB = realiser.realiseSentence(p); Assert.AreEqual("I am happy because I ate fish.", outputB); }
public virtual void setUp() { lexicon = new XMLLexicon(); // built in lexicon phraseFactory = new NLGFactory(lexicon); realiser = new Realiser(lexicon); }
public virtual void section14_Test() { Lexicon lexicon = Lexicon.DefaultLexicon; // default simplenlg lexicon NLGFactory nlgFactory = new NLGFactory(lexicon); // factory based on lexicon Realiser realiser = new Realiser(lexicon); SPhraseSpec p1 = nlgFactory.createClause("Mary", "chase", "the monkey"); SPhraseSpec p2 = nlgFactory.createClause("The monkey", "fight back"); SPhraseSpec p3 = nlgFactory.createClause("Mary", "be", "nervous"); DocumentElement s1 = nlgFactory.createSentence(p1); DocumentElement s2 = nlgFactory.createSentence(p2); DocumentElement s3 = nlgFactory.createSentence(p3); DocumentElement par1 = nlgFactory.createParagraph(new List <DocumentElement> { s1, s2, s3 }); string output14a = realiser.realise(par1).Realisation; Assert.AreEqual("Mary chases the monkey. The monkey fights back. Mary is nervous.\n\n", output14a); DocumentElement section = nlgFactory.createSection("The Trials and Tribulation of Mary and the Monkey"); section.addComponent(par1); string output14b = realiser.realise(section).Realisation; Assert.AreEqual( "The Trials and Tribulation of Mary and the Monkey\nMary chases the monkey. The monkey fights back. Mary is nervous.\n\n", output14b); }
public virtual void section13_Test() { Lexicon lexicon = Lexicon.DefaultLexicon; // default simplenlg lexicon NLGFactory nlgFactory = new NLGFactory(lexicon); // factory based on lexicon Realiser realiser = new Realiser(lexicon); SPhraseSpec s1 = nlgFactory.createClause("my cat", "like", "fish"); SPhraseSpec s2 = nlgFactory.createClause("my dog", "like", "big bones"); SPhraseSpec s3 = nlgFactory.createClause("my horse", "like", "grass"); CoordinatedPhraseElement c = nlgFactory.createCoordinatedPhrase(); c.addCoordinate(s1); c.addCoordinate(s2); c.addCoordinate(s3); string outputA = realiser.realiseSentence(c); Assert.AreEqual("My cat likes fish, my dog likes big bones and my horse likes grass.", outputA); SPhraseSpec p = nlgFactory.createClause("I", "be", "happy"); SPhraseSpec q = nlgFactory.createClause("I", "eat", "fish"); q.setFeature(Feature.COMPLEMENTISER, "because"); q.setFeature(Feature.TENSE, Tense.PAST); p.addComplement(q); string outputB = realiser.realiseSentence(p); Assert.AreEqual("I am happy because I ate fish.", outputB); }
public virtual void enumeratedList() { Lexicon lexicon = Lexicon.DefaultLexicon; NLGFactory nlgFactory = new NLGFactory(lexicon); Realiser realiser = new Realiser(lexicon); realiser.Formatter = new HTMLFormatter(); DocumentElement document = nlgFactory.createDocument("Document"); DocumentElement paragraph = nlgFactory.createParagraph(); DocumentElement list = nlgFactory.createEnumeratedList(); DocumentElement item1 = nlgFactory.createListItem(); DocumentElement item2 = nlgFactory.createListItem(); DocumentElement sentence1 = nlgFactory.createSentence("this", "be", "the first sentence"); DocumentElement sentence2 = nlgFactory.createSentence("this", "be", "the second sentence"); item1.addComponent(sentence1); item2.addComponent(sentence2); list.addComponent(item1); list.addComponent(item2); paragraph.addComponent(list); document.addComponent(paragraph); string expectedOutput = "<h1>Document</h1>" + "<p>" + "<ol>" + "<li>This is the first sentence.</li>" + "<li>This is the second sentence.</li>" + "</ol>" + "</p>"; string realisedOutput = realiser.realise(document).Realisation; Assert.AreEqual(expectedOutput, realisedOutput); }
public void testEnumeratedList() { var lexicon = Lexicon.getDefaultLexicon(); var nlgFactory = new NLGFactory(lexicon); var realiser = new Realiser(lexicon); realiser.setFormatter(new TextFormatter()); var document = nlgFactory.createDocument("Document"); var paragraph = nlgFactory.createParagraph(); var subListItem1 = nlgFactory.createListItem(); var subListSentence1 = nlgFactory.createSentence("this", "be", "sub-list sentence 1"); subListItem1.addComponent(subListSentence1); var subListItem2 = nlgFactory.createListItem(); var subListSentence2 = nlgFactory.createSentence("this", "be", "sub-list sentence 2"); subListItem2.addComponent(subListSentence2); var subList = nlgFactory.createEnumeratedList(); subList.addComponent(subListItem1); subList.addComponent(subListItem2); var item1 = nlgFactory.createListItem(); var sentence1 = nlgFactory.createSentence("this", "be", "the first sentence"); item1.addComponent(sentence1); var item2 = nlgFactory.createListItem(); var sentence2 = nlgFactory.createSentence("this", "be", "the second sentence"); item2.addComponent(sentence2); var list = nlgFactory.createEnumeratedList(); list.addComponent(subList); list.addComponent(item1); list.addComponent(item2); paragraph.addComponent(list); document.addComponent(paragraph); var expectedOutput = "Document\n" + "\n" + "1.1 - This is sub-list sentence 1.\n" + "1.2 - This is sub-list sentence 2.\n" + "2 - This is the first sentence.\n" + "3 - This is the second sentence.\n" + "\n\n"; // for the end of a paragraph var realisedOutput = realiser.realise(document).getRealisation(); Assert.AreEqual(expectedOutput, realisedOutput); }
public virtual void testEnumeratedList() { Lexicon lexicon = Lexicon.DefaultLexicon; NLGFactory nlgFactory = new NLGFactory(lexicon); Realiser realiser = new Realiser(lexicon); realiser.Formatter = new TextFormatter(); DocumentElement document = nlgFactory.createDocument("Document"); DocumentElement paragraph = nlgFactory.createParagraph(); DocumentElement subListItem1 = nlgFactory.createListItem(); DocumentElement subListSentence1 = nlgFactory.createSentence("this", "be", "sub-list sentence 1"); subListItem1.addComponent(subListSentence1); DocumentElement subListItem2 = nlgFactory.createListItem(); DocumentElement subListSentence2 = nlgFactory.createSentence("this", "be", "sub-list sentence 2"); subListItem2.addComponent(subListSentence2); DocumentElement subList = nlgFactory.createEnumeratedList(); subList.addComponent(subListItem1); subList.addComponent(subListItem2); DocumentElement item1 = nlgFactory.createListItem(); DocumentElement sentence1 = nlgFactory.createSentence("this", "be", "the first sentence"); item1.addComponent(sentence1); DocumentElement item2 = nlgFactory.createListItem(); DocumentElement sentence2 = nlgFactory.createSentence("this", "be", "the second sentence"); item2.addComponent(sentence2); DocumentElement list = nlgFactory.createEnumeratedList(); list.addComponent(subList); list.addComponent(item1); list.addComponent(item2); paragraph.addComponent(list); document.addComponent(paragraph); string expectedOutput = "Document\n" + "\n" + "1.1 - This is sub-list sentence 1.\n" + "1.2 - This is sub-list sentence 2.\n" + "2 - This is the first sentence.\n" + "3 - This is the second sentence.\n" + "\n\n"; // for the end of a paragraph string realisedOutput = realiser.realise(document).Realisation; Assert.AreEqual(expectedOutput, realisedOutput); }
public virtual void tearDown() { realiser = null; phraseFactory = null; if (null != lexicon) { lexicon = null; } }
public override void RunCommand(object sender) { var engine = (AutomationEngineInstance)sender; var p = (SPhraseSpec)v_InstanceName.GetAppInstance(engine); Lexicon lexicon = Lexicon.getDefaultLexicon(); Realiser realiser = new Realiser(lexicon); string phraseOutput = realiser.realiseSentence(p); phraseOutput.StoreInUserVariable(engine, v_OutputUserVariableName); }
public async override Task RunCommand(object sender) { var engine = (IAutomationEngineInstance)sender; var p = (SPhraseSpec)((OBAppInstance)await v_InstanceName.EvaluateCode(engine)).Value; Lexicon lexicon = Lexicon.getDefaultLexicon(); Realiser realiser = new Realiser(lexicon); string phraseOutput = realiser.realiseSentence(p); phraseOutput.SetVariableValue(engine, v_OutputUserVariableName); }
public override void RunCommand(object sender) { var engine = (Core.Automation.Engine.AutomationEngineInstance)sender; var vInstance = v_InstanceName.ConvertToUserVariable(engine); var p = (SPhraseSpec)engine.GetAppInstance(vInstance); Lexicon lexicon = Lexicon.getDefaultLexicon(); Realiser realiser = new Realiser(lexicon); String phraseOutput = realiser.realiseSentence(p); phraseOutput.StoreInUserVariable(sender, v_applyToVariableName); }
public void section3_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon NLGElement s1 = nlgFactory.createSentence("my dog is happy"); var r = new Realiser(lexicon); var output = r.realiseSentence(s1); Assert.AreEqual("My dog is happy.", output); }
public virtual void section3_Test() { Lexicon lexicon = Lexicon.DefaultLexicon; // default simplenlg lexicon NLGFactory nlgFactory = new NLGFactory(lexicon); // factory based on lexicon NLGElement s1 = nlgFactory.createSentence("my dog is happy"); Realiser r = new Realiser(lexicon); string output = r.realiseSentence(s1); Assert.AreEqual("My dog is happy.", output); }
public virtual void testPluralThisDeterminerNPObject_NIHDBLexicon() { lexicon = new NIHDBLexicon(DB_FILENAME, LEXICON_TYPE); phraseFactory = new NLGFactory(lexicon); realiser = new Realiser(lexicon); SPhraseSpec sentence_1 = phraseFactory.createClause(); NPPhraseSpec nounPhrase_1 = phraseFactory.createNounPhrase("monkey"); nounPhrase_1.Plural = true; nounPhrase_1.setDeterminer("this"); sentence_1.setObject(nounPhrase_1); Assert.AreEqual("These monkeys.", realiser.realiseSentence(sentence_1)); }
public void section5_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); var p = nlgFactory.createClause(); p.setSubject("my dog"); p.setVerb("chase"); p.setObject("George"); var output = realiser.realiseSentence(p); Assert.AreEqual("My dog chases George.", output); }
public virtual void section5_Test() { Lexicon lexicon = Lexicon.DefaultLexicon; // default simplenlg lexicon NLGFactory nlgFactory = new NLGFactory(lexicon); // factory based on lexicon Realiser realiser = new Realiser(lexicon); SPhraseSpec p = nlgFactory.createClause(); p.setSubject("my dog"); p.setVerb("chase"); p.setObject("George"); string output = realiser.realiseSentence(p); Assert.AreEqual("My dog chases George.", output); }
public void section5A_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); var p = nlgFactory.createClause(); p.setSubject("Mary"); p.setVerb("chase"); p.setObject("the monkey"); var output = realiser.realiseSentence(p); Assert.AreEqual("Mary chases the monkey.", output); } // testSection5A
public void variantsTest() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); var p = nlgFactory.createClause(); p.setSubject("my dog"); p.setVerb("is"); // variant of be p.setObject("George"); var output = realiser.realiseSentence(p); Assert.AreEqual("My dog is George.", output); p = nlgFactory.createClause(); p.setSubject("my dog"); p.setVerb("chases"); // variant of chase p.setObject("George"); output = realiser.realiseSentence(p); Assert.AreEqual("My dog chases George.", output); p = nlgFactory.createClause(); p.setSubject(nlgFactory.createNounPhrase("the", "dogs")); // variant of "dog" p.setVerb("is"); // variant of be p.setObject("happy"); // variant of happy output = realiser.realiseSentence(p); Assert.AreEqual("The dog is happy.", output); p = nlgFactory.createClause(); p.setSubject(nlgFactory.createNounPhrase("the", "children")); // variant of "child" p.setVerb("is"); // variant of be p.setObject("happy"); // variant of happy output = realiser.realiseSentence(p); Assert.AreEqual("The child is happy.", output); // following functionality is enabled p = nlgFactory.createClause(); p.setSubject(nlgFactory.createNounPhrase("the", "dogs")); // variant of "dog" p.setVerb("is"); // variant of be p.setObject("happy"); // variant of happy output = realiser.realiseSentence(p); Assert.AreEqual("The dog is happy.", output); //corrected automatically }
public void section6_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); var p = nlgFactory.createClause(); p.setSubject("Mary"); p.setVerb("chase"); p.setObject("George"); p.setFeature(Feature.TENSE.ToString(), Tense.PAST); var output = realiser.realiseSentence(p); Assert.AreEqual("Mary chased George.", output); p.setFeature(Feature.TENSE.ToString(), Tense.FUTURE); output = realiser.realiseSentence(p); Assert.AreEqual("Mary will chase George.", output); p.setFeature(Feature.NEGATED.ToString(), true); output = realiser.realiseSentence(p); Assert.AreEqual("Mary will not chase George.", output); p = nlgFactory.createClause(); p.setSubject("Mary"); p.setVerb("chase"); p.setObject("George"); p.setFeature(Feature.INTERROGATIVE_TYPE.ToString(), InterrogativeType.YES_NO); output = realiser.realiseSentence(p); Assert.AreEqual("Does Mary chase George?", output); p.setSubject("Mary"); p.setVerb("chase"); p.setFeature(Feature.INTERROGATIVE_TYPE.ToString(), InterrogativeType.WHO_OBJECT); output = realiser.realiseSentence(p); Assert.AreEqual("Who does Mary chase?", output); p = nlgFactory.createClause(); p.setSubject("the dog"); p.setVerb("wake up"); output = realiser.realiseSentence(p); Assert.AreEqual("The dog wakes up.", output); }
public void section7_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); var p = nlgFactory.createClause(); p.setSubject("Mary"); p.setVerb("chase"); p.setObject("the monkey"); p.addComplement("very quickly"); p.addComplement("despite her exhaustion"); var output = realiser.realiseSentence(p); Assert.AreEqual("Mary chases the monkey very quickly despite her exhaustion.", output); }
/** * Sets up the accessor and runs it -- takes ca. 26 sec */ public virtual void setUp() { // use property file for the lexicon try { Properties prop = new Properties(); prop.load("Resources/lexicon.properties"); string lexiconType = prop.getProperty("LexiconType"); // the XML lexicon is used by default if (ReferenceEquals(lexiconType, null)) { lexiconType = "XML"; } if (lexiconType == "NIH" || lexiconType == "NIH_HSQL") { // NIH lexicon lexicon = new NIHDBLexicon(prop.getProperty("DB_FILENAME"), XMLRealiser.LexiconType.NIHDB_HSQL); } else if (lexiconType == "NIH_SQLITE") { // NIH lexicon lexicon = new NIHDBLexicon(prop.getProperty("DB_FILENAME"), XMLRealiser.LexiconType.NIHDB_SQLITE); } else { // XML lexicon lexicon = new XMLLexicon(prop.getProperty("XML_FILENAME")); } } catch (Exception) { lexicon = new NIHDBLexicon(DB_FILENAME, LEXICON_TYPE); } factory = new NLGFactory(lexicon); realiser = new Realiser(lexicon); }
public void section10_Test() { var lexicon = Lexicon.getDefaultLexicon(); // default simplenlg lexicon var nlgFactory = new NLGFactory(lexicon); // factory based on lexicon var realiser = new Realiser(lexicon); var subject1 = nlgFactory.createNounPhrase("Mary"); var subject2 = nlgFactory.createNounPhrase("your", "giraffe"); // next line is not correct ~ should be nlgFactory.createCoordinatedPhrase ~ may be corrected in the API var subj = nlgFactory.createCoordinatedPhrase(subject1, subject2); var verb = nlgFactory.createVerbPhrase("chase"); var p = nlgFactory.createClause(); p.setSubject(subj); p.setVerb(verb); p.setObject("the monkey"); var outputA = realiser.realiseSentence(p); Assert.AreEqual("Mary and your giraffe chase the monkey.", outputA); var object1 = nlgFactory.createNounPhrase("the monkey"); var object2 = nlgFactory.createNounPhrase("George"); // next line is not correct ~ should be nlgFactory.createCoordinatedPhrase ~ may be corrected in the API var obj = nlgFactory.createCoordinatedPhrase(object1, object2); obj.addCoordinate("Martha"); p.setObject(obj); var outputB = realiser.realiseSentence(p); Assert.AreEqual("Mary and your giraffe chase the monkey, George and Martha.", outputB); obj.setFeature(Feature.CONJUNCTION.ToString(), "or"); var outputC = realiser.realiseSentence(p); Assert.AreEqual("Mary and your giraffe chase the monkey, George or Martha.", outputC); }
public virtual void setUp() { lexicon = new XMLLexicon(); // built in lexicon phraseFactory = new NLGFactory(lexicon); realiser = new Realiser(lexicon); man = phraseFactory.createNounPhrase("the", "man"); //$NON-NLS-1$ //$NON-NLS-2$ woman = phraseFactory.createNounPhrase("the", "woman"); //$NON-NLS-1$//$NON-NLS-2$ dog = phraseFactory.createNounPhrase("the", "dog"); //$NON-NLS-1$ //$NON-NLS-2$ boy = phraseFactory.createNounPhrase("the", "boy"); //$NON-NLS-1$ //$NON-NLS-2$ beautiful = phraseFactory.createAdjectivePhrase("beautiful"); //$NON-NLS-1$ stunning = phraseFactory.createAdjectivePhrase("stunning"); //$NON-NLS-1$ salacious = phraseFactory.createAdjectivePhrase("salacious"); //$NON-NLS-1$ onTheRock = phraseFactory.createPrepositionPhrase("on"); //$NON-NLS-1$ np4 = phraseFactory.createNounPhrase("the", "rock"); //$NON-NLS-1$ //$NON-NLS-2$ onTheRock.addComplement(np4); behindTheCurtain = phraseFactory.createPrepositionPhrase("behind"); //$NON-NLS-1$ np5 = phraseFactory.createNounPhrase("the", "curtain"); //$NON-NLS-1$ //$NON-NLS-2$ behindTheCurtain.addComplement(np5); inTheRoom = phraseFactory.createPrepositionPhrase("in"); //$NON-NLS-1$ np6 = phraseFactory.createNounPhrase("the", "room"); //$NON-NLS-1$ //$NON-NLS-2$ inTheRoom.addComplement(np6); underTheTable = phraseFactory.createPrepositionPhrase("under"); //$NON-NLS-1$ underTheTable.addComplement(phraseFactory.createNounPhrase("the", "table")); //$NON-NLS-1$ //$NON-NLS-2$ proTest1 = phraseFactory.createNounPhrase("the", "singer"); //$NON-NLS-1$ //$NON-NLS-2$ proTest2 = phraseFactory.createNounPhrase("some", "person"); //$NON-NLS-1$ //$NON-NLS-2$ kick = phraseFactory.createVerbPhrase("kick"); //$NON-NLS-1$ kiss = phraseFactory.createVerbPhrase("kiss"); //$NON-NLS-1$ walk = phraseFactory.createVerbPhrase("walk"); //$NON-NLS-1$ talk = phraseFactory.createVerbPhrase("talk"); //$NON-NLS-1$ getUp = phraseFactory.createVerbPhrase("get up"); //$NON-NLS-1$ fallDown = phraseFactory.createVerbPhrase("fall down"); //$NON-NLS-1$ give = phraseFactory.createVerbPhrase("give"); //$NON-NLS-1$ say = phraseFactory.createVerbPhrase("say"); //$NON-NLS-1$ }
public static void Main(string[] args) { var ss = new XMLLexicon(); var Factory = new NLGFactory(ss); var Realiser = new Realiser(ss); // Instructions will be given to you by the director. var verbp = Factory.createVerbPhrase("be given"); verbp.setFeature(Feature.TENSE.ToString(), Tense.FUTURE); var subj = Factory.createNounPhrase("The Director"); var oobj = Factory.createNounPhrase("Instruction"); var ioobj = Factory.createNounPhrase("you"); subj.setPlural(false); oobj.setPlural(true); var s = new List <INLGElement>() { verbp, subj, oobj, ioobj }; var clause = Factory.createClause(); clause.setVerb(verbp); clause.setSubject(subj); clause.setObject(oobj); clause.setIndirectObject(ioobj); var sentence = Factory.createSentence(clause); sentence.setFeature(Feature.TENSE.ToString(), Tense.FUTURE); var active = Realiser.realise(sentence).ToString(); Console.WriteLine($"{active}"); Console.WriteLine("done"); Console.ReadLine(); }