언어모델 LLM/웹 인터페이스

Streamlit으로 간단한 토크나이저 만들기

General AI 2024. 7. 18. 22:06
728x90
반응형

Streamlit으로 간단한 토크나이저 만들기

Streamlit을 사용하여 간단한 텍스트 토크나이저(tokenizer)를 만드는 방법을 소개하려고 합니다. Streamlit은 데이터 과학자와 머신러닝 엔지니어를 위해 개발된 오픈소스 앱 프레임워크로, 파이썬 코드를 통해 간단하게 웹 애플리케이션을 만들 수 있습니다.

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()

코드 설명

  1. 라이브러리 임포트 및 NLTK 데이터 다운로드:Streamlit과 NLTK 라이브러리를 임포트하고, NLTK의 punkt 데이터를 다운로드합니다. punkt는 문장을 단어 단위로 나누는 데 사용되는 토크나이저 모델입니다.
  2. import streamlit as st import nltk from nltk.tokenize import word_tokenize # Download NLTK data if not already downloaded nltk.download('punkt')
  3. Streamlit 애플리케이션 메인 함수:
    • st.title()을 사용하여 애플리케이션의 제목을 설정합니다.
    • st.text_area()를 사용하여 사용자가 텍스트를 입력할 수 있는 입력 상자를 만듭니다.
    • st.button()을 사용하여 토크나이즈 버튼을 추가하고, 버튼이 클릭되었을 때 입력된 텍스트를 word_tokenize() 함수를 사용하여 토크나이즈합니다.
    • 토크나이즈된 텍스트는 st.write()를 사용하여 화면에 출력합니다.
  4. 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으로 간단한 토크나이저 만들기

이렇게 간단한 코드로도 Streamlit을 사용하여 웹 애플리케이션을 만들 수 있습니다. 이 예제에서는 NLTK를 사용하여 텍스트를 토큰화했지만, 여러분의 필요에 맞게 다양한 자연어 처리 기능을 추가할 수 있습니다.

728x90
반응형