से टेक्स्ट निकालने के लिए मैं एनएलपी के लिए नया हूं, मैं टेक्स्ट से (एनपी) वाक्य निकालने के लिए स्टैनफोर्ड पार्सर का उपयोग करने की कोशिश कर रहा हूं, मैं पाठ के उन हिस्सों को पुनर्प्राप्त करना चाहता हूं जहां इसे टैग किया गया है (एनपी)आउटपुट पार्स ट्री
यदि कोई भाग टैग किया गया है (एनपी) और इसके अंदर एक छोटा सा हिस्सा भी टैग किया गया है (एनपी) मैं छोटा हिस्सा लेना चाहता हूं।
अब तक मैं मैं क्या चाहते थे करने के लिए निम्न विधि में कामयाब रहे:
private static ArrayList<Tree> extract(Tree t)
{
ArrayList<Tree> wanted = new ArrayList<Tree>();
if (t.label().value().equals("NP"))
{
wanted.add(t);
for (Tree child : t.children())
{
ArrayList<Tree> temp = new ArrayList<Tree>();
temp=extract(child);
if(temp.size()>0)
{
int o=-1;
o=wanted.indexOf(t);
if(o!=-1)
wanted.remove(o);
}
wanted.addAll(temp);
}
}
else
for (Tree child : t.children())
wanted.addAll(extract(child));
return wanted;
}
इस विधि का वापसी प्रकार, पेड़ की एक सूची है जब मैं निम्न करें:
LexicalizedParser parser = LexicalizedParser.loadModel();
x = parser.apply("Who owns club barcelona?");
outs=extract(x);
for(int i=0;i<outs.size();i++){System.out.println("tree #"+i+": "+outs.get(i));}
है:
tree #0: (NP (NN club) (NN barcelona))
मैं अभी उत्पादन "club barcelona"
होना चाहता हूँ, टैग के बिना, मैं trie घ .labels();
संपत्ति और .label().value();
वे टैग लौटने के बजाय