본문 바로가기

IT/Treform

Treform-1

 

<목차>
1. 구조 소개
2.  파이프라인 구성

1. 구조  소개

 1) 구조 개관

Treform 패키지 구조 개관

Treform의 기본 구조는 다음과 같습니다.

총 16개의 개별 모듈로 구성되어, 이를 감싸고 있는 패키지가 Trefom입니다.

 

 2) Treform 변천

 

Pytextminer [각주:1]는 2019년 버전이며, Treform [각주:2]은 2020-2021년도, Yonlu [각주:3]는 2021-2022 버전이라 생각하시면 편할 것 같습니다.

yonlu는 딥러닝에 특화된 패키지로, 현재도 지속적으로 수업과 함께 업데이트가 되고 있는 것으로 알고 있습니다.

 

2.  파이프 라인 구성

 1) 구조

Treform [각주:4]은 파이프 라인 구조로 전처리(Pre-process) 부분이 구성되어 있습니다.

큰 골조(骨組)는 Stanford의 Core NLP와 유사합니다. [각주:5]
일반적인 컴퓨터 공학의 pipeline 구조는 CPU 등의 연산 처리에 있어서 병렬 구조를 의미합니다.

Treform에서는 텍스트 분석에 있어서 다양한 함수(Method)의 조합을 파이프처럼 교환함으로써 구성할 수 있다는 의미로 사용되고 있습니다.

하단은 자세한 내용 설명에 앞서서 파이프 라인 구조의 예시입니다.

pipeline = ptm.Pipeline(ptm.splitter.NLTK(),
                        #mecab_ko,
                        kiwi,
                        ptm.helper.POSFilter('NN*'),  # NN->noun SH->kanji, Sl->foreign language
                        ptm.helper.SelectWordOnly(),
                        ptm.helper.StopwordFilter(file='./stopwordsKor.txt'),
                        ptm.counter.WordCounter())

 2) 구성 패키지

 

모든 부분을 다루기 보다는 구조를 개관하고, 이후의 상세한 부분은 분석을 수행하면서 설명하고자 합니다.

splitter는 단어를 어떠한 법칙을 기반으로 분리하고자 하는지 결정합니다.

treform의 경우에는 NLTK의 띄어쓰기를 기준으로 각 단어를 분리합니다.

mecab_ko, kiwi 부분은 형태소 분석 단계입니다. 이 부분은 다음 단계에서 상세하게 다루고자 합니다.

 

Helper 패키지는 pyTextminer(이하 'ptm')과 Treform의  분석 수행에 있어서 기초단계인 전처리 단계 전반을 수행합니다.

형태소 분석한 데이터의 POS 태그(A Part-Of-Speech Tag)를 필터링하거나, 불용어 처리, (단어, POS태그)로 구성된 데이터 처리 등을 수행합니다.

counter는 단어 빈도수를 저장합니다. 이는, 분리된 개별의 단어들의 출현 횟수를 분석할 수 있게 합니다.

 

 

다음 글 부터는 본격적인 분석에 앞서서 형태소 분석기에 대해서 개관합니다.

 

 

 

 

  1. https://github.com/MinSong2/pyTextMiner [본문으로]
  2. https://github.com/MinSong2/treform [본문으로]
  3. https://github.com/MinSong2/yonlu [본문으로]
  4. Module, Package, (Libarary, Framwork)로 모듈러 프로그래밍(modular programming)에서 사용되는 개념을 구분할 수 있다. 자세한 내용은 https://etloveguitar.tistory.com/138를 참조하면 좋을 것 같습니다. [본문으로]
  5. https://stanfordnlp.github.io/CoreNLP/ [본문으로]

'IT > Treform' 카테고리의 다른 글

Treform-5  (0) 2023.02.08
Treform-4  (0) 2023.01.20
Treform-2  (1) 2022.12.29
Treform-0  (0) 2022.08.23