SQL Server/SSIS 강좌

용어 추출 – 특정 용어를 추출 하자

SungWookKang 2015. 7. 16. 10:00
반응형

용어 추출 – 특정 용어를 추출 하자

 

안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida)

이번 시간에는 [용어 추출]에 대해서 알아 보도록 하겠습니다.

용어 추출은 입력데이터에 대해 단어를 추출하여 사전 형식의 데이터 결과를 만들어 주는 작업 입니다. 입력데이터에서 명사 또는 명사구의 형태로 추출되며 텍스트 입력 데이터에 대해 임계값, 최대 용어 길이등의 옵션을 설정하여 추출이 가능 합니다.

 

용어 추출 변환의 특징.

  • 관계사와 대명사는 추출하지 않는다.
  • 기본적으로 대/소문자를 구분하지 않는다.
  • 단수/복수를 동일하게 추출한다.
  • 변환은 전용 메모리 공간에 저장된 후 변환을 수행한다.
  • 변환은 내부의 자체 알고리즘과 통계 모델을 사용한다.

 

[BIDS]를 실행하여 [Ingetration Service 프로젝트]를 생성 합니다.

 

[제이 흐름]탭에서 [데이터 흐름 태스크]를 드래그 앤 드롭으로 추가 합니다.

[용어 변환]이름을 지정하여 태스크를 생성 합니다.

 

[데이터 흐름]탭에서 그림과 같이 [원본 데이터(OLE DB 원본)]와 [대상 데이터(OLE DB 대상)]을 끌어다 놓습니다. 그리고 그 사이 [용어 추출] 작업을 추가하여 데이터 흐름선을 연결 합니다.

 

[원본 데이터]에서 마우스 오른쪽을 클릭하여 [편집]을 선택 합니다.

 

그림과 같이 편집 창이 나타나면 [OLE D 연결 관리자]에서 원본 DB의 연결 관리자를 선택하고 해당 테이블을 선택하여 [미리 보기]를 이용하여 정상적으로 데이터가 읽어오는지 확인 합니다.

(본 실습에서는 AdventureWorks의 Address 테이블 사용)

 

[용어 추출] 작업에서 마우스 오른쪽을 클릭하여 [편집]을 선택 합니다.

 

아래 그림과 같이 [용어 추출 변환 편집기]가 실행 됩니다.

편집기를 살펴보면 [용어 추출] 탭에서는 입력 열을 지정할 수 있으며 출력 열 이름을 지정 할 수 있습니다.

[AddressID]를 선택 하여 봅니다. 오류가 발생 합니다. 현재 AddressID의 데이터 타입은 INT이기 때문에 지원할 수 없다고 나타납니다.

 

용어 추출 작업은 한글 데이터는 지원하지 않습니다. 영어만 가능 합니다.

입력 데이터는 유니코드 문자열(DW_WSTR)또는 유니코드 텍스트(DT_NTEXT)만 가능 합니다.

 

[제외] 탭에서는 추출하는 용어 중 제외할 용어가 있을 때 이 탭에서 설정 합니다.

제외할 데이터를 테이블에 저장한 후 이를 참조하도록 할 수 있습니다.

 

[고급]탭에서는 여러가지 속성을 정의 할 수 있습니다.

[용어 유형]

  • 명사 – 단일 명사만 추출
  • 명사구 – 명사구 형태의 데이터만 추출
  • 명사 및 명사구 – 명사와 명사구 모두 추출

 

[점수 유형]

  • 빈도 – 점수 유형을 빈도로 설정
  • TFIDF – 점수 유형을 TF(용어 빈도)와 IDF(역문서 빈도)의 곱으로 설정합니다.

 

[매개변수]

  • 빈도 임계값 – 단어 또는 구로 추출되기 위한 최소의 임계치.(예를들어 임계값이 3인경우 해당 용어가 3번이상 나와야 출력에 포함)
  • 최대 용어 길이 – 추출되는 용어의 최대 길이를 설정. 이 값은 명사구에만 영향.

 

[옵션]

  • 대/소문자 구분 용어 추출 사용 – 용어 추출 시 대/소문자 구분 여부 설정. 이 때 Bike는 bike로 분류가 되며 Bike와 BIKE는 다른 용어로 분류된다.

 

이번 실습에서는 [AddressLine1]을 선택 합니다. 해당 입력의 데이터 타입은 NVARCHAR 타입니다.

 

[대상 데이터] 작업에서 마우스 오른쪽을 클릭하여 편집을 선택 합니다.

 

[OLE DB연결 관리자]에서 대상 DB의 연결 관리자를 선택 합니다. 그리고 [새로 만들기] 버튼을 클릭하여 대상 테이블을 새로 만들어 봅니다. (이미 대상 테이블이 존재하는 경우 [테이블 또는 뷰 이름]에서 대상 테이블을 선택 합니다.)

[새로 만들기]를 선택하면 [용어 추출]에 추가하였던 컬럼이 자동으로 생성됨을 확인 할 수 있습니다.

 

[매핑]탭으로 이동하여 대상이 적절히 매핑 되었는지 확인 합니다.

 

편집이 완료 되었으면 패키지를 실행 합니다.

늘 그러듯!

녹색 : 정상 실행

빨간색 : 오류 발생

 

패키지 작업이 완료 되었으면 SSMS를 이용하여 실제로 [용어 추출]이 잘 되었는지 확인 합니다.

 

용어 추출은 텍스트 형태의 기사나 E메일 등의 데이터에서 주요이슈 사항을 추출하여 분류, 분석하는 작업에 사용하면 유용할 듯 합니다.

반응형