Skip to content

HANDLER

TEANAPS edited this page Aug 22, 2021 · 3 revisions

TEANAPS API Documentation

Handler

1. teanaps.handler

1.1. teanaps.handler.FileHandler

Python Code (in Jupyter Notebook) :

from teanaps.handler import FileHandler

fh = FileHandler()
  • teanaps.handler.FileHandler.save_data(file_name, data) [Top]

    • 데이터(변수, Pandas Dataframe 등)을 바이너리 파일로 저장합니다.

    • Parameters

      • file_name (str) : 저장할 파일 경로 및 파일명. 최대 128자.
      • data (all) : 저장할 데이터가 저장된 변수명.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      sample_list = ["리스트", "딕셔너리", "문자열", "Pandas Dataframe", "등 변수를", "저장합니다."]
      fh.save_data("sample_list", sample_list)
  • teanaps.handler.FileHandler.load_data(file_name) [Top]

    • 데이터(변수, Pandas Dataframe 등)가 저장된 바이너리 파일을 불러와 변수에 저장합니다.

    • Parameters

      • file_name (str) : 저장할 파일 경로 및 파일명. 최대 128자.
    • Returns

      • data (all) : 저장할 데이터가 저장된 변수명.
    • Examples

      Python Code (in Jupyter Notebook) :

      #sample_list = ["리스트", "딕셔너리", "문자열", "Pandas Dataframe", "등 변수를", "저장합니다."]
      #fh.save_data("sample_list", sample_list)
      sample_list = fh.load_data("sample_list")
      print(sample_list)

      Output (in Jupyter Notebook) :

      ['리스트', '딕셔너리', '문자열', 'Pandas Dataframe', '등 변수를', '저장합니다.']
  • teanaps.handler.FileHandler.save_txt(file_name, line_list, encoding="utf-8", separator="\t") [Top]

    • 리스트에 저장된 텍스트를 텍스트 파일(.txt)로 저장합니다.

    • Parameters

      • file_name (str) : 저장할 파일 경로 및 파일명. 최대 128자.
      • line_list (str) : 파일에 쓸 내용이 저장된 MxN 리스트.
      • encoding (str) : 파일 인코딩 형식.
      • separator (str) : 파일에 쓸 라인의 컬럼 구분자.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      line_list = [["A", "B", "C", "D"],     # Col Name (list)
                   ["a1", "b1", "c1", "d1"], # Line 1 (list)
                   ["a2", "b2", "c2", "d2"], # Line 2 (list)
                   ["a3", "b3", "c3", "d3"]  # Line 3 (list)
                  ]
      
      fh.save_txt("file_name.txt", line_list[0], encoding="utf-8", separator="\t")
  • teanaps.handler.FileHandler.load_txt(file_name, encoding="utf-8", separator="\t") [Top]

    • 리스트에 저장된 텍스트를 텍스트 파일(.txt)로 저장합니다.

    • Parameters

      • file_name (str) : 저장할 파일 경로 및 파일명. 최대 128자.
      • encoding (str) : 파일 인코딩 형식. 최대 128자.
      • separator (str) : 파일에 쓸 라인의 컬럼 구분자.
    • Returns

      • line_list (str) : 파일 내용이 저장된 MxN 리스트.
    • Examples

      Python Code (in Jupyter Notebook) :

      line_list = [["A", "B", "C", "D"],     # Col Name (list)
                   ["a1", "b1", "c1", "d1"], # Line 1 (list)
                   ["a2", "b2", "c2", "d2"], # Line 2 (list)
                   ["a3", "b3", "c3", "d3"]  # Line 3 (list)
                  ]
      
      line_list  = fh.load_txt("file_name.txt", encoding="utf-8", separator="\t")
      print(line_list)

      Output (in Jupyter Notebook) :

      [['A', 'B', 'C', 'D'],     # Col Name (list)
       ['a1', 'b1', 'c1', 'd1'], # Line 1 (list)
       ['a2', 'b2', 'c2', 'd2'], # Line 2 (list)
       ['a3', 'b3', 'c3', 'd3']  # Line 3 (list)
      ]
  • teanaps.handler.FileHandler.pdf_converter(input_filename, output_filename) [Top]

    • PDF 형식(.pdf)의 파일에서 텍스트 정보만 추출하여 텍스트 파일(.txt)로 저장합니다.

    • Parameters

      • input_filename (str) : 텍스트를 추출할 PDF 파일명. 최대 128자.
      • output_filename (str) : 추출한 텍스트를 저장할 텍스트 파일명. 최대 128자.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      input_filename  = "sample_pdf.pdf"
      output_filename  = "sample_pdf.txt"
      fh.pdf_converter(input_filename, output_filename)
  • teanaps.handler.FileHandler.docx_converter(input_filename, output_filename) [Top]

    • MS-Word 형식(.docx)의 파일에서 텍스트 정보만 추출하여 텍스트 파일(.txt)로 저장합니다.

    • Parameters

      • input_filename (str) : 텍스트를 추출할 MS-Word 파일명. 최대 128자.
      • output_filename (str) : 추출한 텍스트를 저장할 텍스트 파일명. 최대 128자.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      input_filename  = "sample_docx.docx"
      output_filename  = "sample_docx.txt"
      fh.docx_converter(input_filename, output_filename)
  • teanaps.handler.FileHandler.pptx_converter(input_filename, output_filename) [Top]

    • MS-PowerPoint 형식(.pptx)의 파일에서 텍스트 정보만 추출하여 텍스트 파일(.txt)로 저장합니다.

    • Parameters

      • input_filename (str) : 텍스트를 추출할 MS-PowerPoint 파일명. 최대 128자.
      • output_filename (str) : 추출한 텍스트를 저장할 텍스트 파일명. 최대 128자.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      input_filename  = "sample_pptx.pptx"
      output_filename  = "sample_pptx.txt"
      fh.pptx_converter(input_filename, output_filename)
1.2. teanaps.handler.MessageHandler

Python Code (in Jupyter Notebook) :

from teanaps.handler import MessageHandler

webhook_url = "https://hooks.slack.com/services/TNLDWA5B7/BNNKYJ7JS/GZ0~"
mh = MessageHandler(webhook_url)

Notes :

  • MessageHandlerSlack 메신저를 통해 메시지를 발송합니다.
  • webhook_urlSlack 회원가입 후 Slack API Webhook URL 페이지에서 발급 가능합니다.
  • teanaps.nlp.MessageHandler.send_slack_msg(message) [Top]
    • Webhook URL에 연결된 Slack으로 메시지를 발송합니다.

    • Parameters

      • message (str) : 한국어 또는 영어로 구성된 문장.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      message = "슬랙으로 메시지를 발송합니다."
      mh.send_slack_msg(message)
1.3. teanaps.handler.QueueHandler

Python Code (in Jupyter Notebook) :

from teanaps.handler import QueueHandler

thread_count = 3
qh = QueueHandler(thread_count)

Notes :

  • QueueHandlerthread_count의 수 만큼 요청된 함수를 동시에 순차적으로 처리합니다.
  • teanaps.nlp.QueueHandler.add_lambda(function, parmeter_dict) [Top]

    • 수행할 작업들이 저장된 큐 (Queue)에 작업을 추가합니다.Webhook URL에 연결된 Slack으로 메시지를 발송합니다.

    • Parameters

      • function (function) : 특정 작업을 수행하는 함수.
      • parmeter_dict (dict) : function 함수의 입력변수를 포함하는 딕셔너리.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      import time
      
      def sample_function(parmeter_dict):
          print_list = parmeter_dict["print_list"]
          for i in print_list:
              print(i, end="")
              time.sleep(1)
          result = {
              "request_id": parmeter_dict["request_id"], 
              "result": "complete."
          }
          return result
      
      for i in range(3):
          parmeter_dict = {
              "request_id" : i,
              "print_list": ["a", "b", "c", "d"]
          }
          qh.add_lambda(sample_function, parmeter_dict)

      Output (in Jupyter Notebook) :

      aaabbbcccddd
      done : 2 lamda left.
      
      done : 1 lamda left.
      
      done : 0 lamda left.
  • teanaps.nlp.QueueHandler.get_result() [Top]

    • 수행할 작업들이 저장된 큐 (Queue)에 작업을 추가합니다.Webhook URL에 연결된 Slack으로 메시지를 발송합니다.

    • Parameters

      • None
    • Returns

      • result_dict (dict) : 큐에서 수행된 작업에서 반환한 값을 포함하는 딕셔너리.
    • Examples

      Python Code (in Jupyter Notebook) :

      #for i in range(3):
      #    parmeter_dict = {
      #        "request_id" : i,
      #        "print_list": ["a", "b", "c", "d"]
      #    }
      #    qh.add_lambda(sample_function, parmeter_dict)
      
      result = qh.get_result()
      print(result)

      Output (in Jupyter Notebook) :

      {1: 'complete.', 2: 'complete.', 0: 'complete.'}

Contents

◥  HOME
     ▸ Notice
     ▸ What can you do with TEANAPS?
     ▸ Why TEANAPS?

◥  INSTALL GUIDE
     ▸ Docker for Everyone
     ▸ Requirements

◥  WEB SCRAPPER
     ▸ Movie Review Scrapper
     ▸ News Article Scrapper
     ▸ AppStore Review Scrapper
     ▸ PlayStore Review Scrapper
     ▸ Naver Cafe Scrapper

◥  API DOCUMENTATION
     ● Architecture
     ▸ Handler
     ▸ NLP
       └ Morphological Analysis
       └ Named Entity Recognition
       └ Syntax Analysis
       └ Pre-processing
     ▸ Text Analysis
       └ TF/TF-IDF
       └ Document Clustering
       └ Topic Modeling
       └ Co-word/Network Analysis
       └ Sentiment Analysis
       └ Summarization
     ▸ Visualization
     ▸ Machine Learning (TBU)

◥  OPEN API
     ▸ ACCESS TOKEN 발급
     ▸ API 리스트
     ▸ API References

◥  TUTORIAL
     ▸ (TBU)

◥  USE CASES
     ▸ Journal
     ▸ Project
     ▸ Lecture & Seminar

◥  APPENDIX
     ▸ 성능평가 결과
     ▸ 형태소 품사 태그표
     ▸ 개체명 태그표
     ▸ References
     ▸ Release history
     ▸ Update History

Clone this wiki locally