[java] Apache Tika 와 키워드 추출

Apache Tika는 자바 기반의 오픈 소스 라이브러리로, 다양한 문서 형식(텍스트, PDF, 워드 등)의 데이터를 추출하고 메타데이터를 추출하는 기능을 제공합니다. 이번 글에서는 Apache Tika를 이용하여 문서에서 키워드를 추출하는 방법에 대해 알아보겠습니다.

Apache Tika 설치

Apache Tika를 사용하려면 먼저 Tika 라이브러리를 다운로드하고 설치해야 합니다. 아래의 단계를 따라 진행해보세요.

  1. Apache Tika 다운로드 페이지에서 최신 버전의 Tika를 다운로드합니다.
  2. 다운로드된 파일을 압축 해제한 후, Tika JAR 파일을 프로젝트의 라이브러리 경로로 복사합니다.

문서에서 키워드 추출하기

이제 Apache Tika를 사용하여 문서에서 키워드를 추출하는 방법을 알아보겠습니다. 아래의 예제 코드를 따라해보세요.

import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.sax.BodyContentHandler;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.language.detect.LanguageDetector;
import org.apache.tika.language.detect.LanguageResult;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

public class KeywordExtractor {
    public static void main(String[] args) {
        try {
            File file = new File("document.pdf"); // 추출할 문서 파일 경로
            InputStream stream = new FileInputStream(file);
            
            AutoDetectParser parser = new AutoDetectParser();
            BodyContentHandler handler = new BodyContentHandler();
            Metadata metadata = new Metadata();
            ParseContext context = new ParseContext();
            
            parser.parse(stream, handler, metadata, context);
            
            String[] keywords = metadata.getKeywords(); // 문서에서 추출된 키워드 배열
            for (String keyword : keywords) {
                System.out.println(keyword);
            }
            
            stream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 예제 코드에서는 Tika를 사용하여 document.pdf 파일에서 키워드를 추출하는 방법을 보여줍니다. AutoDetectParser를 사용하여 문서 형식을 자동으로 감지하고, BodyContentHandler를 사용하여 문서 내용을 추출합니다. 추출된 키워드는 metadata.getKeywords()를 통해 확인할 수 있습니다.

결과 확인

위의 예제 코드를 실행하면 document.pdf 파일에서 추출된 키워드가 콘솔에 출력됩니다. 이를 통해 문서의 주요 내용 및 핵심 단어를 파악할 수 있습니다.

결론

Apache Tika를 사용하여 문서에서 키워드를 추출하는 방법에 대해 알아보았습니다. Tika는 다양한 문서 형식에 대해 메타데이터와 텍스트 내용을 추출할 수 있는 강력한 기능을 제공합니다. 이를 활용하여 텍스트 분석, 정보 추출 및 검색 등 다양한 분야에서 활용할 수 있습니다.