주어진 텍스트에서 기본적인 관계를 가져와야합니다. 내가 스탠포드 종속성을 발견하고 첫 번째 기본 예제를 보았다 :스탠포드 종속성 파싱
LexicalizedParser lp = LexicalizedParser.loadModel("edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz");
TreebankLanguagePack tlp = new PennTreebankLanguagePack();
GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory();
String[] sent = new String[]{"vladimir", "putin", "was", "born", "in", "st.", "petersburg", "and", "he", "was", "not", "born", "in", "berlin", "."};
Tree parse = lp.apply(Sentence.toWordList(sent));
GrammaticalStructure gs = gsf.newGrammaticalStructure(parse);
Collection<TypedDependency> tdl = gs.typedDependencies();
System.out.println(tdl);
결과는 다음과 같습니다
는[nn(putin-2, vladimir-1), nsubjpass(born-4, putin-2), auxpass(born-4, was-3), root(ROOT-0, born-4), prep(born-4, in-5), nn(petersburg-7, st.-6), pobj(in-5, petersburg-7), cc(born-4, and-8), nsubjpass(born-12, he-9), auxpass(born-12, was-10), neg(born-12, not-11), conj(born-4, born-12), prep(born-12, in-13), pobj(in-13, berlin-14)]
보다 꽤 출력 :
nn(putin-2, vladimir-1)
nsubjpass(born-4, putin-2)
auxpass(born-4, was-3)
root(ROOT-0, born-4)
prep(born-4, in-5)
nn(petersburg-7, st.-6)
pobj(in-5, petersburg-7)
cc(born-4, and-8)
nsubjpass(born-12, he-9)
auxpass(born-12, was-10)
neg(born-12, not-11)
conj(born-4, born-12)
prep(born-12, in-13)
pobj(in-13, berlin-14)
내 질문이 지금은 : 거기에 이미 관계를 파싱하는 파서? 내가 관계를 얻고 싶은 예를 들어 은 "블라디미르 푸틴"과 ". 상트 페테르부르크"사이 그래서 내가 필요로하는 다음과 같은 의존성 "에서 태어났다"
nn(putin-2, vladimir-1)
nsubjpass(born-4, putin-2)
auxpass(born-4, was-3)
prep(born-4, in-5)
nn(petersburg-7, st.-6)
pobj(in-5, petersburg-7)
그래서 내가 필요한 모든 정보를 가지고있다. 나는 내게 을 반환하는 파서를 쓸 수 있었다. 이미 있다면 파서는 내 자신을 쓸 필요가 없다.
그럼 어떤 것이 있습니까?
"Sentence"변수는 무엇입니까? – user2372074