[java] Apache Tika 와 개체명 인식

Apache Tika는 다양한 파일 형식의 컨텐츠를 추출하고 처리하기 위한 Java 라이브러리입니다. Tika를 사용하면 텍스트, 이미지, 영상 등 다양한 파일 형식을 파싱하여 정보를 추출할 수 있습니다.

이 글에서는 Apache Tika를 사용하여 텍스트에서 개체명을 인식하는 방법에 대해 알아보겠습니다.

1. Apache Tika 설치

먼저 Apache Tika를 사용하기 위해서는 라이브러리를 다운로드하고 설치해야 합니다. 다음 링크에서 최신 버전의 Tika를 다운로드하세요: 다운로드 페이지

다운로드한 파일(tika-app-x.x.jar)을 프로젝트의 라이브러리 경로에 추가합니다.

2. 텍스트에서 개체명 인식하기

Tika를 사용하여 텍스트에서 개체명을 인식하려면 다음과 같은 단계를 따르면 됩니다:

  1. Tika 파서 초기화:
    ContentHandler contentHandler = new BodyContentHandler();
    Metadata metadata = new Metadata();
    ParseContext context = new ParseContext();
    
  2. 텍스트 파일을 Tika에 입력:
    InputStream inputStream = new FileInputStream(new File("텍스트파일 경로"));
    
  3. 텍스트 파싱:
    Parser parser = new AutoDetectParser();
    parser.parse(inputStream, contentHandler, metadata, context);
    
  4. 추출된 개체명 가져오기:
    String[] entities = metadata.getValues("NER_PERSON");
    

위 코드에서 “NER_PERSON”은 개체명의 유형을 나타내는 메타데이터 키입니다. “NER”은 개체명 인식(Named Entity Recognition)을 의미하며, “PERSON”은 인식된 개체명의 유형 중 사람(person)을 의미합니다. 이 외에도 “NER_ORGANIZATION”, “NER_LOCATION” 등의 메타데이터 키를 사용할 수 있습니다.

3. 결과 확인

Tika를 사용하여 개체명을 인식한 결과를 확인하려면 다음과 같이 출력하면 됩니다:

for (String entity : entities) {
    System.out.println(entity);
}

인식된 모든 개체명이 출력됩니다.

4. 참고 자료

Apache Tika 공식 문서 : Apache Tika Apache Tika JavaDoc : Apache Tika JavaDoc Tika 개체명 인식 설정 : Named Entity Extraction