티스토리 뷰

별첨 #1 KoSimCSE란?

별첨 #2. Chunking 청킹이란...

별첨 #3. n8n 완전 정복 가이드

별첨 #4. Chroma DB 완전 가이드

별첨 #4-1. Milvus란? 

별첨 #5. RAG란? 

별첨 #6. LangChain이란?

별첨 #7. MCP 서버 탑재

별첨 #8. Embedding)이란?

별첨 #9. LLaMA란

별첨 #10. kiwipiepy(키위파이파이)

별첨 #11. Poetry란?

kiwipiepy(키위파이파이) 란 ?

kiwipiepy(키위파이파이)는 한국어 형태소 분석기(Korean tokenizer)**로
형태소 단위로 문장을 나누고 품사를 태깅하는 데 사용됩니다.

📌 특징

항목                                              설명
이름 Kiwi Pie Py = Kiwi 형태소 분석기의 Python 버전
제작 ETRI(한국전자통신연구원) 기반 open-korean-text
언어 Python 3.x
라이선스 MIT (자유롭게 사용 가능)
한국어 품사 태깅 가능 (Noun, Verb 등)
정규화 있음 (예: "ㅋㅋㅋㅋ" → "ㅋ")
속도 중간 (Mecab보단 느림, Konlpy보단 빠름)

✅ 설치 방법

▶️ pip 설치 (가장 간단)

 
$ pip install kiwipiepy

Windows / macOS / Linux 모두 지원됨
Python 3.7 이상 권장

✅ 기본 사용법 예제

from kiwipiepy import Kiwi

kiwi = Kiwi()

# 분석할 문장
text = "안녕하세요. 저는 인공지능을 공부하고 있습니다."

# 형태소 분석
tokens = kiwi.tokenize(text)

for token in tokens:
    print(token.form, token.tag, token.start, token.end)
 

▶️ 결과 예시

안녕하  Verb  0  3  
세요    Eomi  3  5  
.       Punctuation 5 6  
저      Noun  7 8  
는      Josa  8 9  
...
 
 

✅ 주요 기능 정리

 기능                                            설명                                                     코드 예시
형태소 분석 단어+품사 tokenize()
문장 분리 문장 단위로 분할 split_into_sents()
정규화 표현 통일 (ㅋ,ㅠ 등) 옵션 normalize_coda=True
사용자 사전 추가 커스텀 단어 추가 add_user_word()

▶️ 문장 분리 예시

sentences = kiwi.split_into_sents("오늘 날씨 좋다. 내일은 비가 온다.")
for sent in sentences:
    print(sent.text)

 

▶️ 사용자 사전 추가 예시
kiwi.add_user_word("챗GPT", "Noun")
kiwi.tokenize("나는 챗GPT를 사용한다.")
 
 

✅ 활용 방안

분야                                                                 활용 예
🔍 텍스트 전처리 불용어 제거, 품사 기준 필터링
💬 감성 분석 명사/형용사만 추출 후 분석
🔎 검색엔진 형태소 기반 인덱싱 (Lucene 등과 연동)
🤖 챗봇 의도 분석, 키워드 추출
🧠 LLM 사전 전처리 Tokenizer 전에 문장/단어 분할

✅ kiwipiepy vs 다른 형태소 분석기

항목                                kiwipiepy                   Mecab-ko                                                                                 Okt (konlpy)

 

속도 중간 매우 빠름 느림
정확도 높음 높음 보통
사용자 사전 ✅ 지원 ✅ 지원
설치 난이도 매우 쉬움 어려움 (mac/Linux 수동 설치 필요) 쉬움
품사 종류 풍부 제한적 제한적

✅ 함께 쓰면 좋은 오픈소스

도구                                                       용도
scikit-learn 감성 분석, 키워드 분류
wordcloud 명사 기반 워드클라우드 시각화
LangChain 한국어 문서 RAG 시 사전 전처리
fastapi API 형태로 토크나이저 서비스화
transformers LLM 전에 형태소 기반 전처리 가능

✅ 고급 팁

🔹 명사만 추출

$ nouns = [t.form for t in kiwi.tokenize(text) if t.tag == "Noun"]

🔹 불용어 제거

 
# 파이썬
stopwords = ["을", "를", "이", "가"]
tokens = [t.form for t in kiwi.tokenize(text) if t.form not in stopwords]
 

🔹 형태소 분석 서버로 만들기 (FastAPI)

 
# 파이썬
from fastapi import FastAPI
app = FastAPI()

@app.post("/tokenize")
def tokenize_text(data: dict):
    text = data["text"]
    tokens = [t.form for t in kiwi.tokenize(text)]
    return {"tokens": tokens}

✅ 요약 정리

항목                                                           내용
이름 kiwipiepy (키위파이파이)
역할 한국어 형태소 분석기
설치 pip install kiwipiepy
주요 기능 형태소 분석, 품사 태깅, 사용자 사전
특징 오픈소스, 정규화 지원, 쉬운 설치
함께 쓰면 좋은 도구 LLM, LangChain, FastAPI, WordCloud
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함