Skip to content

VISUALIZATION

TEANAPS edited this page Aug 27, 2022 · 7 revisions

TEANAPS API Documentation

Visualization

4. teanaps.visualization

4.1. teanaps.visualization.GraphVisualizer

Python Code (in Jupyter Notebook) :

from teanaps.visualization import GraphVisualizer

gv = GraphVisualizer()
  • teanaps.visualization.GraphVisualizer.draw_histogram(data_meta_list, graph_meta) [Top]

    • 입력된 그래프 메타정보를 바탕으로 생성된 히스토그램 그래프를 출력합니다.

    • Parameters

      • data_meta_list (list) : 그래프에 표현할 데이터 딕셔너리를 포함하는 리스트. Examples 참고.
      • graph_meta (dict) : 그래프 속성을 정의한 딕셔너리. Examples 참고.
    • Returns

      • plotly graph (graph object) : 히스토그램 그래프.
    • Examples

      Python Code (in Jupyter Notebook) :

      x = ["a", "b", "c", "d", "e", "f"]
      y = [1, 2, 3, 4, 5, 6]
      z = [4, 6, 3, 4, 2, 9]
      
      data_meta_list = []
      
      data_meta = {
          "graph_type": "histogram",
          "data_name": "Y",
          "x_data": x,
          "y_data": y,
          "y_axis": "y1",
      }
      data_meta_list.append(data_meta)
      
      data_meta = {
          "graph_type": "histogram",
          "data_name": "Z",
          "x_data": x,
          "y_data": z,
          "y_axis": "y1"
      }
      data_meta_list.append(data_meta)
      
      graph_meta = {
          "title": "HISTOGRAM",
          "x_tickangle": 0,
          "y1_tickangle": 0,
          "y2_tickangle": 0,
          "x_name": "X",
          "y1_name": "Y1",
          "y2_name": "Y2",
      }
      
      gv.draw_histogram(data_meta_list, graph_meta)

      Output (in Jupyter Notebook) : visualization_histogram

  • teanaps.visualization.GraphVisualizer.draw_line_graph(data_meta_list, graph_meta) [Top]

    • 입력된 그래프 메타정보를 바탕으로 생성된 라인 그래프를 출력합니다.

    • Parameters

      • data_meta_list (list) : 그래프에 표현할 데이터 딕셔너리를 포함하는 리스트. Examples 참고.
      • graph_meta (dict) : 그래프 속성을 정의한 딕셔너리. Examples 참고.
    • Returns

      • plotly graph (graph object) : 라인 그래프.
    • Examples

      Python Code (in Jupyter Notebook) :

      x = ["a", "b", "c", "d", "e", "f"]
      y = [1, 2, 3, 4, 5, 6]
      z = [4, 6, 3, 4, 2, 9]
      
      data_meta_list = []
      
      data_meta = {
          "data_name": "Y",
          "x_data": x,
          "y_data": y,
          "y_axis": "y1",
      }
      data_meta_list.append(data_meta)
      
      data_meta = {
          "data_name": "Z",
          "x_data": x,
          "y_data": z,
          "y_axis": "y2"
      }
      data_meta_list.append(data_meta)
      
      graph_meta = {
          "title": "LINE GRAPH",
          "x_tickangle": 0,
          "y1_tickangle": 0,
          "y2_tickangle": 0,
          "x_name": "X",
          "y1_name": "Y1",
          "y2_name": "Y2",
      }
      
      gv.draw_line_graph(data_meta_list, graph_meta)

      Output (in Jupyter Notebook) : visualization_line_graph

  • teanaps.visualization.GraphVisualizer.draw_matrix(data_meta_list, graph_meta) [Top]

    • 입력된 그래프 메타정보를 바탕으로 생성된 매트릭스 그래프를 출력합니다.

    • Parameters

      • data_meta (dict) : 그래프에 표현할 데이터 딕셔너리. Examples 참고.
      • graph_meta (dict) : 그래프 속성을 정의한 딕셔너리. Examples 참고.
    • Returns

      • plotly graph (graph object) : 매트릭스 그래프.
    • Examples

      Python Code (in Jupyter Notebook) :

      x = ["A", "B", "C", "D", "E", "F"]
      y = ["AA", "BB", "CC", "DD", "EE", "FF"]
      x_data = []
      y_data = []
      z_data = []
      for x_index in range(len(x)):
          for y_index in range(len(y)):
              x_data.append(x[x_index])
              y_data.append(y[y_index])
              z_data.append(x_index/2 + y_index)
      
      data_meta = {
          "colorbar_title": "Z RANGE",
          "x_data": x_data,
          "y_data": y_data,
          "z_data": z_data
      }
      
      graph_meta = {
          "title": "MATRIX",
          "height": 1000, 
          "width": 1000,
          "y_tickangle": 0,
          "y_name": "Y",
          "x_tickangle": 0,
          "x_name": "X",
      }
      
      gv.draw_matrix(data_meta, graph_meta)

      Output (in Jupyter Notebook) : visualization_matrix

  • teanaps.visualization.GraphVisualizer.draw_scatter(data_meta_list, graph_meta) [Top]

    • 입력된 그래프 메타정보를 바탕으로 생성된 산점도 그래프를 출력합니다.

    • Parameters

      • data_meta_list (list) : 그래프에 표현할 데이터 딕셔너리를 포함하는 리스트. Examples 참고.
      • graph_meta (dict) : 그래프 속성을 정의한 딕셔너리. Examples 참고.
    • Returns

      • plotly graph (graph object) : 산점도 그래프.
    • Examples

      Python Code (in Jupyter Notebook) :

      x1 = [1, 2, 3, 4, -5, 6]
      y1 = [-4, 6, 3, 4, 2, 9]
      label1 = ["a", "b", "c", "d", "e", "f"]
      
      x2 = [6, 7, 2, -4, 5, 2]
      y2 = [1, 3, 5, 2, -7, 9]
      label2 = ["A", "B", "C", "D", "E", "F"]
      
      data_meta_list = []
      
      data_meta = {
          "data_name": "COORDINATES1",
          "x_data": x1,
          "y_data": y1,
          "label": label1
      }
      data_meta_list.append(data_meta)
      
      data_meta = {
          "data_name": "COORDINATES2",
          "x_data": x2,
          "y_data": y2,
          "label": label2
      }
      data_meta_list.append(data_meta)
      
      graph_meta = {
          "title": "SCATTER",
          "x_name": "X",
          "y_name": "Y"
      }
      
      gv.draw_scatter(data_meta_list, graph_meta)

      Output (in Jupyter Notebook) : visualization_scatter

  • teanaps.visualization.GraphVisualizer.draw_radar(data_meta, graph_meta) [Top]

    • 입력된 그래프 메타정보를 바탕으로 생성된 레이다 그래프를 출력합니다.

    • Parameters

      • data_meta (dict) : 그래프에 표현할 데이터 딕셔너리. Examples 참고.
      • graph_meta (dict) : 그래프 속성을 정의한 딕셔너리. Examples 참고.
    • Returns

      • plotly graph (graph object) : 레이다 그래프.
    • Examples

      Python Code (in Jupyter Notebook) :

      x = ["a", "b", "c", "d", "e", "f"]
      r = [1, 2, 3, 4, 5, 6]
      
      data_meta = {
          'label': x,
          'r': r,
      }
      
      graph_meta = {
          "title": "RADAR GRAPH",
          "axis": True,
      }
      
      gv.draw_radar(data_meta, graph_meta)

      Output (in Jupyter Notebook) : visualization_scatter

4.2. teanaps.visualization.TextVisualizer

Python Code (in Jupyter Notebook) :

from teanaps.visualization import TextVisualizer

tv = TextVisualizer()
  • teanaps.visualization.Textvisualizer.draw_sentence_attention(token_list, weight_list) [Top]

    • 형태소 단위로 분리된 문장과 각 형태소별 가중치를 바탕으로 문장의 특정 부분을 하이라이트한 형태의 문장 그래프로 출력합니다.

    • Parameters

      • token_list (list) : 형태소 단위로 분리된 문장의 각 형태소를 포함하는 리스트.
      • weight_list (list) : 형태소 단위로 분리된 문장의 각 형태소에 해당하는 가중치를 포함하는 리스트.
    • Returns

      • plotly graph (graph object) : 문장 그래프.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "문장에서 중요한 부분을 음영으로 강조하여 표현하기 위해 사용됩니다."
      token_list = sentence.split(" ")
      #token_list = ['문장에서', '중요한', '부분을', "음영으로", '강조하여', '표현하기', '위해', '사용됩니다.']
      weight_list = [1, 5, 2, 1, 4, 2, 1, 1]
      
      tv.draw_sentence_attention(token_list, weight_list)

      Output (in Jupyter Notebook) : visualization_sentence_attention

      Python Code (in Jupyter Notebook) :

      sentence = "가중치가 양수면 파란색, 음수면 빨간색으로 음영을 표현합니다."
      token_list = sentence.split(" ")
      #token_list = ['가중치가', '양수면', '파란색,', "음수면", '빨간색으로', '표현합니다.']
      weight_list = [0, 2, 5, -1, -4, 0, 0, 0]
      
      tv.draw_sentence_attention(token_list, weight_list)

      Output (in Jupyter Notebook) : visualization_sentence_attention_pn

  • teanaps.visualization.Textvisualizer.draw_wordcloud(data_meta, graph_meta) [Top]

    • 단어와 그 가중치를 바탕으로 생성된 워드클라우드 이미지를 출력합니다.

    • graph_metamask_path에 이미지 경로를 추가하면 원하는 모양/색상의 워드클라우드를 생성할 수 있습니다.

    • Parameters

      • data_meta (dict) : 그래프에 표현할 데이터 딕셔너리. Examples 참고.
      • graph_meta (dict) : 그래프 속성을 정의한 딕셔너리. Examples 참고.
    • Returns

      • figure (matplotlib.pyplot.plt) : 워드클리우드.
    • Examples

      Python Code (in Jupyter Notebook) :

      tf = {
          "TEANAPS": 10,
          "teanaps.com": 4,
          "fingeredman": 2,
          "텍스트마이닝": 3,
          "자연어처리": 4,
          "감성분석": 1,
          "단어빈도": 1,
          "TFIDF": 1,
          "요약": 1,
          "단어네트워크": 1,
          "형태소분석": 1,
          "개체명인식": 1,
          "구문분석": 1
      }
      
      data_meta = {
          "weight_dict": tf,
      }
      
      graph_meta = {
          "height": 1000, 
          "width": 1000,
          "min_font_size": 10,
          "max_font_size": 500,
          "margin": 10,
          "background_color": "white",
          "mask_path": None
      }
      
      tv.draw_wordcloud(data_meta, graph_meta)

      Output (in Jupyter Notebook) : visualization_wordcloud

  • teanaps.visualization.Textvisualizer.draw_network(data_meta, graph_meta, mode="text+markers", centrality_th=0.5, ego_node_list=[], node_size_rate=10, edge_width_rate=10, text_size_rate=10) [Top]

    • 단어와 그 가중치, 그리고 순서쌍을 바탕으로 생성된 네트워크 이미지를 출력합니다.

    • Parameters

      • data_meta (dict) : 그래프에 표현할 데이터 딕셔너리. Examples 참고.
      • graph_meta (dict) : 그래프 속성을 정의한 딕셔너리. Examples 참고.
      • mode (str) : 그래프에서 노드를 표현하는 옵션, {"text+markers", "markers", "text"} 중 하나 입력. Examples 참고.
      • centrality_th (float) : 노드 필터링 기준 중심성 수치. 입력한 값 이상의 중심성을 가진 노드만 그래프에 표현됨.
      • ego_node_list (list) : 에고 네트워크를 생성할 중심노드 리스트. 입력된 노드와 직접 연결된 노드만 그래프에 표현됨.
      • node_size_rate (int) : 노드 사이즈 표현 가중치. 수치가 높을수록 노드의 크기가 크게 표현됨.
      • edge_width_rate (int) : 엣지 두께 표현 가중치. 수치가 높을수록 엣지의 두께가 가늘게 표현됨.
      • text_size_rate (int) : 텍스트 레이블 크기 표현 가중치. 수치가 높을수록 텍스트 레이블 크기가 작게 표현됨.
    • Returns

      • plotly graph (graph object) : 네트워크 그래프.
    • Examples

      Python Code (in Jupyter Notebook) :

      data_meta = {
          "node_list": ["a", "b", "c", "d", "e", "f"],
          "edge_list": [("a", "b", 1), ("c", "d", 10), ("a", "c", 15), ("b", "d", 1),
                        ("a", "f", 20), ("a", "e", 5), ("e", "d", 1), ("d", "f", 5)],
          "weight_dict": {
              "a": 4,
              "b": 2,
              "c": 2,
              "d": 3,
              "e": 2,
              "f": 2
          }
      }
      
      graph_meta = {
          "title": "WORD NETWORK",
          "height": 1000, 
          "width": 1000,
          "weight_name": "Weight",
      }
      
      tv.draw_network(data_meta, graph_meta, mode="text+markers", node_size_rate=7, edge_width_rate=5)

      Output (in Jupyter Notebook) : visualization_network

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