NLP4J [002] Java로 Yahoo! 개발자 네트워크

색인으로 돌아가기 : [001] 형태소 해석 > [002] 구문 분석 > [003] 품사의 통계 처리

■추기

Yahoo!의 구문 분석 API에 대해서 V1이 종료했으므로 이 기사는 참고로서만 둡니다.
자세한 내용은
【중요】텍스트 해석 Web API에 있어서의 일본어 관련해 해석 API 사양 변경의 소식 - Yahoo! 개발자 네트워크
htps : //로 ゔぇぺぺr. 야호오. 이. jp/찬게ぉg/우ぇb_아피아피. HTML
를 참조하십시오.

NLP4J 를 사용해 Java로 일본어의 구문 해석(계속해 해석)을 해 봅니다.

구문 분석이 가능하면 "차가 갑자기 멈췄다"라는 텍스트에서
・「차가 → 멈췄다」
・「갑자기 → 멈췄다」
라는 정보를 추출할 수 있습니다.

Maven


<dependency>
  <groupId>org.nlp4j</groupId>
  <artifactId>nlp4j</artifactId>
  <version>1.0.0.0</version>
</dependency>

코드1


import nlp4j.Keyword;
import nlp4j.KeywordWithDependency;
import nlp4j.impl.DefaultNlpServiceResponse;
import nlp4j.yhoo_jp.YJpDaService;
public class HelloNLP4JDA {
        // 自然文のテキスト
        String text = "車が急に止まった。";
        // 係り受け解析
        YJpDaService service = new YJpDaService();
        // 係り受け解析の結果を取得する
        DefaultNlpServiceResponse response = service.process(text);
        for (Keyword kwd : response.getKeywords()) {
            if (kwd instanceof KeywordWithDependency) {
                // 係り受け解析の結果を出力する
                System.err.println(((KeywordWithDependency) kwd).toStringAsDependencyTree());
            }
        }
}


Output1



이러한 느낌으로 출력할 수 있습니다. 간단하네요!
-sequence=6,lex=null,str=。
    -sequence=5,lex=null,str=た
        -sequence=4,lex=null,str=止まっ
            -sequence=2,lex=null,str=が
                -sequence=1,lex=null,str=車
            -sequence=3,lex=null,str=急に

Code2



키워드의 객체를 조작하여 미세한 결과를 확인할 수 있습니다.
    public static void main(String[] args) throws Exception {
        // 自然文のテキスト
        String text = "車が急に止まった。";
        // 係り受け解析
        YJpDaService service = new YJpDaService();
        // 係り受け解析の結果を取得する
        DefaultNlpServiceResponse response = service.process(text);
        for (Keyword kwd : response.getKeywords()) {
            if (kwd instanceof KeywordWithDependency) {
                // 係り受け解析の結果を出力する
                print((KeywordWithDependency) kwd, 0);
            }
        }
    }

    static void print(KeywordWithDependency kwd, int depth) {
        System.err.println(depth + ":" + kwd.getStr());
        for (KeywordWithDependency kwd2 : kwd.getChildren()) {
            print(kwd2, depth + 1);
        }
    }


Output2


0:。
1:た
2:止まっ
3:が
4:車
3:急に

간단하네요!

색인으로 돌아가기



NLP4J 소개 - [000] Java로 자연 언어 처리 Index

프로젝트 URL



htps //w w. nlp4j. rg/

좋은 웹페이지 즐겨찾기