메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

Apache Tika로 정보 컨텐츠 이해하기

Oleg Tikhonov, Software Engineer, IBM  
Photo of Oleg Tikhonov
Originally from Kazakhstan, Oleg graduated from Ariel University Center of Samaria in Israel. He has worked in the software industry for more than 5 years. At IBM, Oleg develops automated software test solutions. In his spare time, when not exploring the details of new J2EE technologies and how to stretch their capabilities, he likes diving with friends and spending time with his beautiful wife, Vera.
Chris Mattmann, Senior Computer Scientist, Professor, NASA JPL/USC
Chris Mattmann
Chris Mattmann is a senior computer scientist at NASA's Jet Propulsion Laboratory, working on instrument and science data systems on Earth science missions and informatics tasks. Mattmann has a joint appointment as an adjunct assistant professor in the University of Southern California (USC) Computer Science Department, where he teaches a course on software architecture to local and remote graduate students over USC's distance education network. His research interests are primarily software architecture and large-scale data-intensive systems. He received his Ph.D. in computer science from USC. He is a member of the IEEE.

요약:  컴퓨터 사용이 널리 확산되고 현대 인터넷이 보편화되면서 많은 언어로 된 많은 양의 정보가 제공되고 있습니다. 다양한 문화, 언어 및 지역의 컨텐츠를 이해하기 위해 자동 정보 처리 및 검색 기능의 필요성이 매우 빠르게 높아지고 있습니다. 최신 Apache 소프트웨어 프로젝트인 Tika는 컨텐츠 이해를 실현하기 위한 중요한 도구로 자리 잡아가고 있습니다.

원문 게재일:  2010 년 6 월 15 일
난이도:  중급 PDF:  A4 and Letter (60 KB | 19 pages)Get Adobe® Reader®

페이지뷰: 8325 회
의견: 

Lesson 4: 임의 파일 유형에서 자동으로 텍스트 추출하기

메타데이터를 추출하는 기능 외에도 Apache Tika에는 임의 파일 유형을 구문 분석할 수 있는 한 해당 유형에 대한 다른 수많은 정보(패키징, 헤더, 2진 항목 및 일반적으로 파일과 함께 패키지되는 기타 정보)와 별개로 텍스트 컨텐츠를 제공하는 기능이 있다. Tika의 모든 구문 분석기는 구문 분석할 수 있는 한 특정 파일 유형에서 텍스트를 추출할 수 있는 기본적인 방법을 구현해야 한다. 텍스트 컨텐츠는 검색 엔진에 보낼 수 있고, 컨텐츠 관리 시스템에서 색인화할 수 있으며, 특정 컨텐츠에 대한 요약 정보를 표시하는 데 사용할 수 있기 때문에 유용하다. 아래 예제에서는 Tika에서 몇 개의 단계만 수행하여 임의 파일 유형에서 텍스트 컨텐츠를 쉽게 추출하는 방법을 보여 준다. 그리고 일반적으로 TV에 나오는 경고 문구와는 달리 필자는 이 작업을 집에서도 시도해 보기를 권장한다.


Listing 12. 파일 유형에서 텍스트 컨텐츠 추출하기
TikaConfig tc = TikaConfig.getDefaultConfig();
List<File> list = Utils.getFiles(new File(Messages.getProperty("m001")), 
new ArrayList<File>());
Utils.deleteFiles(new File(Messages.getProperty("m002")));
for (File f : list) {
 try {
 String txt = ParseUtils.getStringContent(f, tc);
      Utils.writeTxtFile(new File(Messages.getProperty("m002") 
+ File.separator + Utils.getFileNameNoExtension(f) + ".txt"),txt);
      log.info(Messages.getProperty("m003") + f.getName() 
+ Messages.getProperty("m004"));
 } catch (TikaException e) {
	log.error(e.getLocalizedMessage() + " " + f.getName());
 } catch (IOException e) {
	log.error(e.getLocalizedMessage() + " " + f.getName());
 }catch (Exception e) {
	log.error(e.getLocalizedMessage() + " " + f.getName());
 }
}
                

ParseUtils getStringContent(...) 함수에 의해 마술같은 작업이 수행된다. ParseUtils는 문서를 구문 분석하는 유틸리티 메소드를 가지고 있으며 Tika 프레임워크에 대한 간단한 시작점을 제공한다. 매개변수 중 하나는 파일이고 두 번째 매개변수는 XML 구성 파일을 구문 분석하는 TikaConfig이다. 이 함수는 단순하면서도 강력하다.

이 마술같은 작업이 어떻게 수행되는지 알고 싶은가? 그렇다면 ant tikaextracttext를 입력해 보자.

58 | 이전 | 다음

의견



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=오픈 소스
ArticleID=503630
TutorialTitle=Apache Tika로 정보 컨텐츠 이해하기
publish-date=06152010
author1-email=olegt@il.ibm.com
author1-email-cc=
author2-email=chris.a.mattmann@jpl.nasa.gov
author2-email-cc=cmwalden@us.ibm.com

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.