Saya ingin menemukan subjek, kata kerja, dan objek untuk setiap kalimat dan kemudian akan diteruskan ke perpustakaan generasi bahasa alami simpleNLG untuk membentuk kalimat.

Saya mencoba beberapa perpustakaan seperti Cornlp, opennlp, pengurai Standford. Tapi saya tidak dapat menemukan mereka secara akurat.

Sekarang dalam kasus terburuk, saya harus menulis satu set panjang if-else untuk menemukan subjek, kata kerja, dan objek dari setiap kalimat yang tidak selalu akurat untuk simpleNLG

Suka,

  • NN, nsub dll pergi ke subjek, VB, VBZ pergi ke kata kerja.

Saya mencoba pengurai leksikal,

LexicalizedParser lp = **new LexicalizedParser("englishPCFG.ser.gz");**
String[] sent = { "This", "is", "an", "easy", "sentence", "." };
Tree parse = (Tree) lp.apply(Arrays.asList(sent));
parse.pennPrint();
System.out.println();
TreePrint tp = new TreePrint("penn,typedDependenciesCollapsed");
tp.print(parse);

yang memberikan keluaran ini,

nsubj(use-2, I-1)
root(ROOT-0, use-2)
det(parser-4, a-3)
dobj(use-2, parser-4)

Dan saya menginginkan sesuatu seperti ini

subject = I
verb = use
det = a
object = parser

Apakah ada cara yang lebih sederhana untuk menemukan ini di JAVA atau haruskah saya menggunakan if-else? tolong bantu saya dengan itu.

0
pritul panchal 9 April 2020, 15:32

1 menjawab

Jawaban Terbaik

Anda dapat menggunakan openie annotator untuk mendapatkan tiga kali lipat. Anda dapat menjalankan ini di baris perintah atau membangun saluran dengan annotator ini.

Perintah:

java -Xmx10g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,depparse,natlog,openie -file example.txt

Jawa:

Properties props = new Properties();
props.setProperty("annotators", "tokenize,ssplit,pos,lemma,ner,depparse,natlog,openie");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Annotation result = pipeline.process("..."); 

Memasukkan:

Joe ate some pizza.

Keluaran:

Extracted the following Open IE triples:
1.0     Joe     ate     pizza

Detail selengkapnya di sini: https://stanfordnlp.github.io/CoreNLP/openie.html

0
StanfordNLPHelp 13 April 2020, 02:26