我想得到一些关于,如何建立程序来扩展一个英语句子的步骤和资源。
例如,如果一个输入句是
"My father is coaching and refereeing soccer and basketball."
然后程序会输出四个句子。
"My father is coaching soccer."
"My father is coaching basketball."
"My father is refereeing soccer."
"My father is refereeing basketball."
生成的句子必须是有效的英语句子 而且它们的意思必须与输入句子的意思一致。
这是不容易的,如果你想使用人工智能,它将需要大量的数据,你不能事件保证准确的英语句子的意思,但我仍然可以建议你两种方法。
你可以使用 Recurrent Neural Network
与 LSTM
我们的想法是将您的句子(将使用NLP方法之一进行转换)作为输入注入到您的应用程序中。One to Many
模型,有不同的扩展数量的句子作为输出。
例子 :
Input | Output
'i play xbox and ps' | [ 'i play xbox' , 'i play ps' ]
这里你必须使用一个具有以下属性的类。{ subject , verb , object }
当你想给一个输入时,你必须将这个输入的每一个词精确为它的类型,每一个属性都是一个列表,它将附加词,然后为了扩展它,你将解析这些列表,看看你有多少对象和动词。
例子(在Java中).这只是一个简单的例子,但你可以想办法让动词和对象的添加过程自动进行。
// Input : "i play xbox and ps"
Sentence sc = new Sentence();
sc.setSubject("i");
sc.setVerb("play");
sc.addObject("xbox");
sc.addObject("ps");
// for each object you'll do the following
for ( String object : sc.getObject() ) {
System.out.println( sc.getSubject() + sc.getVerb() + object ) ;
}
// Output : i play xbox
// : i play ps
这只是一个简单的例子,但你可以想办法让添加动词和对象的过程自动进行。