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

Treform의 기본 구조는 다음과 같습니다.
총 16개의 개별 모듈로 구성되어, 이를 감싸고 있는 패키지가 Trefom입니다.
2) Treform 변천
Pytextminer 는 2019년 버전이며, Treform 1은 2020-2021년도, Yonlu 2는 2021-2022 버전이라 생각하시면 편할 것 같습니다. 3
yonlu는 딥러닝에 특화된 패키지로, 현재도 지속적으로 수업과 함께 업데이트가 되고 있는 것으로 알고 있습니다.
2. 파이프 라인 구성
1) 구조
Treform 은 파이프 라인 구조로 전처리(Pre-process) 부분이 구성되어 있습니다. 4
큰 골조(骨組)는 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는 단어 빈도수를 저장합니다. 이는, 분리된 개별의 단어들의 출현 횟수를 분석할 수 있게 합니다.
다음 글 부터는 본격적인 분석에 앞서서 형태소 분석기에 대해서 개관합니다.
- https://github.com/MinSong2/pyTextMiner [본문으로]
- https://github.com/MinSong2/treform [본문으로]
- https://github.com/MinSong2/yonlu [본문으로]
- Module, Package, (Libarary, Framwork)로 모듈러 프로그래밍(modular programming)에서 사용되는 개념을 구분할 수 있다. 자세한 내용은 https://etloveguitar.tistory.com/138를 참조하면 좋을 것 같습니다. [본문으로]
- https://stanfordnlp.github.io/CoreNLP/ [본문으로]