728x90
반응형
Streamlit으로 간단한 토크나이저 만들기
Streamlit을 사용하여 간단한 텍스트 토크나이저(tokenizer)를 만드는 방법을 소개하려고 합니다. Streamlit은 데이터 과학자와 머신러닝 엔지니어를 위해 개발된 오픈소스 앱 프레임워크로, 파이썬 코드를 통해 간단하게 웹 애플리케이션을 만들 수 있습니다.
NLTK(Natural Language Toolkit)는 파이썬의 자연어 처리 라이브러리로, 다양한 언어 처리 작업을 쉽게 할 수 있게 해줍니다. 이번 예제에서는 NLTK를 사용하여 입력된 텍스트를 토큰화하는 간단한 웹 애플리케이션을 만들어보겠습니다.
준비물
- Python 3.7 이상
- Streamlit 설치 (
pip install streamlit
) - NLTK 설치 (
pip install nltk
)
코드
아래 코드를 app.py
파일로 저장한 후 실행하면 됩니다.
import streamlit as st
import nltk
from nltk.tokenize import word_tokenize
# Download NLTK data if not already downloaded
nltk.download('punkt')
def main():
st.title('Streamlit Example with NLTK Tokenizer')
# Input text box
input_text = st.text_area("Enter text to tokenize:", "Type here...")
# Process text when button is clicked
if st.button('Tokenize'):
if input_text:
tokenized_text = word_tokenize(input_text)
st.write('Tokenized Text:', tokenized_text)
else:
st.warning('Please enter some text to tokenize.')
if __name__ == '__main__':
main()
코드 설명
- 라이브러리 임포트 및 NLTK 데이터 다운로드:Streamlit과 NLTK 라이브러리를 임포트하고, NLTK의
punkt
데이터를 다운로드합니다.punkt
는 문장을 단어 단위로 나누는 데 사용되는 토크나이저 모델입니다. import streamlit as st import nltk from nltk.tokenize import word_tokenize # Download NLTK data if not already downloaded nltk.download('punkt')
- Streamlit 애플리케이션 메인 함수:
st.title()
을 사용하여 애플리케이션의 제목을 설정합니다.st.text_area()
를 사용하여 사용자가 텍스트를 입력할 수 있는 입력 상자를 만듭니다.st.button()
을 사용하여 토크나이즈 버튼을 추가하고, 버튼이 클릭되었을 때 입력된 텍스트를word_tokenize()
함수를 사용하여 토크나이즈합니다.- 토크나이즈된 텍스트는
st.write()
를 사용하여 화면에 출력합니다.
def main(): st.title('Streamlit Example with NLTK Tokenizer') # Input text box input_text = st.text_area("Enter text to tokenize:", "Type here...") # Process text when button is clicked if st.button('Tokenize'): if input_text: tokenized_text = word_tokenize(input_text) st.write('Tokenized Text:', tokenized_text) else: st.warning('Please enter some text to tokenize.') if __name__ == '__main__': main()
실행 방법
터미널에서 아래 명령어를 실행하면 Streamlit 애플리케이션이 실행됩니다.
streamlit run app.py
브라우저에서 localhost:8501
로 접속하면 애플리케이션을 사용할 수 있습니다.
이렇게 간단한 코드로도 Streamlit을 사용하여 웹 애플리케이션을 만들 수 있습니다. 이 예제에서는 NLTK를 사용하여 텍스트를 토큰화했지만, 여러분의 필요에 맞게 다양한 자연어 처리 기능을 추가할 수 있습니다.
728x90
반응형