NLP - fingeredman/teanaps GitHub Wiki

TEANAPS API Documentation

NLP

2. teanaps.nlp

2.1. teanaps.nlp.MorphologicalAnalyzer

Python Code (in Jupyter Notebook) :

from teanaps.nlp import MorphologicalAnalyzer

ma = MorphologicalAnalyzer()

Notes :

  • importμ‹œ 졜초 1회 κ²½κ³ λ©”μ‹œμ§€ (Warnning)κ°€ 좜λ ₯될 수 μžˆμŠ΅λ‹ˆλ‹€. λ¬΄μ‹œν•˜μ…”λ„ μ’‹μŠ΅λ‹ˆλ‹€.
  • teanaps.nlp.MorphologicalAnalyzer.parse(sentence) [Top]

    • λ¬Έμž₯을 ν˜•νƒœμ†Œ λΆ„μ„ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • result (list) : (ν˜•νƒœμ†Œ, ν’ˆμ‚¬, λ‹¨μ–΄μœ„μΉ˜) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python 라이브러리 μž…λ‹ˆλ‹€."
      result = ma.parse(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      [('TEANAPS', 'OL', (0, 7)), ('λŠ”', 'VV', (7, 8)), ('ν…μŠ€νŠΈ', 'NNG', (9, 12)), ('마', 'NNG', (13, 14)), ('이닝', 'NNG', (14, 16)), ('을', 'JC', (16, 17)), ('μœ„', 'NNG', (18, 19)), ('ν•œ', 'JC', (19, 20)), ('Python', 'OL', (21, 27)), ('라이브러리', 'NNG', (28, 33)), ('μž…λ‹ˆλ‹€', 'VA', (34, 37)), ('.', 'SW', (37, 38))]

      Notes :

      • TEANAPS ν˜•νƒœμ†ŒλΆ„μ„κΈ°μ˜ ν’ˆμ‚¬νƒœκ·ΈλŠ” μ„Έμ’…λ§λ­‰μΉ˜ ν’ˆμ‚¬νƒœκ·Έλ₯Ό 기본으둜 μ‚¬μš©ν•©λ‹ˆλ‹€. ν’ˆμ‚¬νƒœκ·Έν‘œλŠ” Appendixλ₯Ό μ°Έκ³ ν•΄μ£Όμ„Έμš”.
      • TEANAPS ν˜•νƒœμ†ŒλΆ„μ„κΈ° μ„±λŠ₯은 μ„ νƒν•œ μ˜€ν”ˆμ†ŒμŠ€ ν˜•νƒœμ†ŒλΆ„μ„κΈ°μ™€ λ™μΌν•©λ‹ˆλ‹€.
      • TEANAPS 개체λͺ…인식기와 ꡬ문뢄석기λ₯Ό ν™œμš©ν•˜λ©΄ 더 높은 μ •ν™•λ„λ‘œ ν˜•νƒœμ†ŒλΆ„μ„μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (μ„±λŠ₯평가 κ²°κ³Ό μ‚΄νŽ΄λ³΄κΈ°)
  • teanaps.nlp.MorphologicalAnalyzer.set_tagger(tagger) [Top]

    • ν˜•νƒœμ†Œ 뢄석기λ₯Ό μ„ νƒν•©λ‹ˆλ‹€. ν˜•νƒœμ†Œ λΆ„μ„κΈ°λŠ” MeCab, Okt (Twitter), Kkma, NLTK 총 4κ°€μ§€λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. ν˜•νƒœμ†Œ 뢄석기λ₯Ό μ„ νƒν•˜μ§€ μ•ŠμœΌλ©΄ 기본으둜 ν•œκ΅­μ–΄λŠ” OKt, μ˜μ–΄λŠ” NLTK ν˜•νƒœμ†Œ 뢄석기λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

    • Parameters

      • tagger (str) : ν˜•νƒœμ†Œ 뢄석기 {"okt", "mecab", "kkma"} 쀑 ν•˜λ‚˜ μž…λ ₯.
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      ma.set_tagger("okt")
      # or ma.set_tagger("mecab")
      # or ma.set_tagger("kkma")
      
      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python 라이브러리 μž…λ‹ˆλ‹€."
      result = ma.parse(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      [('TEANAPS', 'OL', (0, 7)), ('λŠ”', 'VV', (7, 8)), ('ν…μŠ€νŠΈ', 'NNG', (9, 12)), ('마', 'NNG', (13, 14)), ('이닝', 'NNG', (14, 16)), ('을', 'JC', (16, 17)), ('μœ„', 'NNG', (18, 19)), ('ν•œ', 'JC', (19, 20)), ('Python', 'OL', (21, 27)), ('라이브러리', 'NNG', (28, 33)), ('μž…λ‹ˆλ‹€', 'VA', (34, 37)), ('.', 'SW', (37, 38))]
2.2. teanaps.nlp.NamedEntityRecognizer

Python Code (in Jupyter Notebook) :

from teanaps.nlp import NamedEntityRecognizer

ner = NamedEntityRecognizer(model_path="/model")

Notes :

  • λͺ¨λΈ νŒŒμΌμ„ λ³„λ„λ‘œ λ‹€μš΄λ‘œλ“œν•˜μ—¬ 파일 경둜λ₯Ό model_path λ³€μˆ˜μ— ν¬ν•¨ν•΄μ•Όν•©λ‹ˆλ‹€.
  • importμ‹œ 졜초 1회 κ²½κ³ λ©”μ‹œμ§€ (Warnning)κ°€ 좜λ ₯될 수 μžˆμŠ΅λ‹ˆλ‹€. λ¬΄μ‹œν•˜μ…”λ„ μ’‹μŠ΅λ‹ˆλ‹€.
  • teanaps.nlp.NamedEntityRecognizer.parse(sentence) [Top]

    • λ¬Έμž₯μ—μ„œ 개체λͺ…을 μΈμ‹ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • result (list) : (개체λͺ…, 개체λͺ… νƒœκ·Έ, 개체λͺ…μœ„μΉ˜) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      result = ner.parse(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      [('TEANAPS', 'UN', (0, 7)), ('Python', 'UN', (21, 27))]

      Notes :

      • TEANAPS 개체λͺ…μΈμ‹κΈ°μ˜ 개체λͺ… νƒœκ·ΈλŠ” 총 16μ’…μœΌλ‘œ κ΅¬λΆ„λ©λ‹ˆλ‹€. νƒœκ·Έ μ’…λ₯˜ 및 ꡬ뢄은 μ •λ³΄ν†΅μ‹ λ‹¨μ²΄ν‘œμ€€ (TTAS)을 λ”°λ¦…λ‹ˆλ‹€.
      • 개체λͺ… νƒœκ·Έν‘œλŠ” Appendixλ₯Ό μ°Έκ³ ν•΄μ£Όμ„Έμš”.
      • TEANAPS 개체λͺ…μΈμ‹κΈ°μ˜ μ„±λŠ₯ 및 νŠΉμ§•μ€ μ„±λŠ₯평가 κ²°κ³Όλ₯Ό μ°Έκ³ ν•΄μ£Όμ„Έμš”.
  • teanaps.nlp.NamedEntityRecognizer.parse_sentence(sentence) [Top]

    • λ¬Έμž₯μ—μ„œ 개체λͺ…을 μΈμ‹ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ¬Έμž₯ ν˜•νƒœλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • result (str) : ν‘œμ€€ 개체λͺ… νƒœκ·Έ ν˜•μ‹μœΌλ‘œ 개체λͺ… νƒœκΉ…λœ λ¬Έμž₯.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      result = ner.parse_sentence(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      "<TEANAPS:UN>λŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ <Python:UN> νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
  • teanaps.nlp.NamedEntityRecognizer.get_weight(sentence) [Top]

    • λ¬Έμž₯μ—μ„œ 개체λͺ…을 μΈμ‹ν•˜κ³  각 ν˜•νƒœμ†Œλ³„ κ°€μ€‘μΉ˜λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • result (str) : token_list, weight_listκ°€ ν¬ν•¨λœ νŠœν”Œ.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      token_list, weight_list = ner.get_weight(sentence)
      print(token_list)
      print(weight_list)

      Output (in Jupyter Notebook) :

      [' T', 'E', 'A', 'NA', 'PS', 'λŠ”', ' ', '텍', '슀트', ' 마', '이닝', '을', ' μœ„ν•œ', ' P', 'y', 'th', 'on', ' νŒ¨ν‚€μ§€', ' ', 'μž…λ‹ˆλ‹€', '.'] 
      [0.41024893522262573, 0.08311055600643158, 0.1084287092089653, 0.1453726887702942, 0.25153452157974243, 0.004453524947166443, 0.0038948641158640385, 0.0018726392881944776, 0.0029991772025823593, 0.0017985135782510042, 0.001928122597746551, 0.0021339845843613148, 0.0020090234465897083, 0.14324823021888733, 0.20584315061569214, 0.11403589695692062, 0.14470143616199493, 0.09357250481843948, 0.0024957722052931786, 0.0019250106997787952, 0.004643643740564585]
  • teanaps.nlp.NamedEntityRecognizer.draw_sentence_weight(sentence) [Top]

    • λ¬Έμž₯μ—μ„œ 개체둜 μΈμ‹λœ ν˜•νƒœμ†Œμ— λŒ€ν•œ κ°€μ€‘μΉ˜λ₯Ό text attention κ·Έλž˜ν”„λ‘œ 좜λ ₯ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • plotly graph (graph object) : λ¬Έμž₯μ—μ„œ 개체둜 μΈμ‹λœ 뢀뢄에 λŒ€ν•œ κ°€μ€‘μΉ˜ κ·Έλž˜ν”„.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      ner.draw_sentence_weight(sentence)

      Output (in Jupyter Notebook) :
      ner_weight

  • teanaps.nlp.NamedEntityRecognizer.draw_weight(sentence) [Top]

    • λ¬Έμž₯μ—μ„œ 개체둜 μΈμ‹λœ ν˜•νƒœμ†Œμ— λŒ€ν•œ κ°€μ€‘μΉ˜λ₯Ό νžˆμŠ€ν† κ·Έλž¨μœΌλ‘œ 좜λ ₯ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • plotly graph (graph object) : λ¬Έμž₯μ—μ„œ 개체둜 μΈμ‹λœ 뢀뢄에 λŒ€ν•œ κ°€μ€‘μΉ˜ κ·Έλž˜ν”„.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      ner.draw_weight(sentence)

      Output (in Jupyter Notebook) :
      ner_weight_histogram

2.3. teanaps.nlp.SyntaxAnalyzer

Python Code (in Jupyter Notebook) :

from teanaps.nlp import SyntaxAnalyzer

sa = SyntaxAnalyzer()

Notes :

  • importμ‹œ 졜초 1회 κ²½κ³ λ©”μ‹œμ§€ (Warnning)κ°€ 좜λ ₯될 수 μžˆμŠ΅λ‹ˆλ‹€. λ¬΄μ‹œν•˜μ…”λ„ μ’‹μŠ΅λ‹ˆλ‹€.
  • teanaps.nlp.SyntaxAnalyzer.parse(ma_result, ner_result) [Top]

    • ν˜•νƒœμ†Œ 뢄석과 개체λͺ… 인식 κ²°κ³Όλ₯Ό λ°”νƒ•μœΌλ‘œ λ¬Έμž₯ ꡬ쑰λ₯Ό νŒŒμ•…ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • ma_result (list) : (ν˜•νƒœμ†Œ, ν’ˆμ‚¬, λ‹¨μ–΄μœ„μΉ˜) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트. teanaps.nlp.ma.parse μ°Έκ³ .
      • ner_result (list) : (개체λͺ…, 개체λͺ… νƒœκ·Έ, 개체λͺ…μœ„μΉ˜) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트. teanaps.nlp.ner.parse μ°Έκ³ .
    • Returns

      • result (list) : (ν˜•νƒœμ†Œ, ν˜•νƒœμ†Œ νƒœκ·Έ, 개체λͺ… νƒœκ·Έ, 개체λͺ…μœ„μΉ˜) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      #sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      #ma_result = [('TEANAPS', 'OL', (0, 7)), ('λŠ”', 'JX', (7, 8)), ('ν…μŠ€νŠΈ', 'NNG', (9, 12)), ('λ§ˆμ΄λ‹', 'NNP', (13, 16)), ('을', 'JKO', (16, 17)), ('μœ„ν•œ', 'VV+ETM', (18, 20)), ('Python', 'OL', (21, 27)), ('νŒ¨ν‚€μ§€', 'NNG', (28, 31)), ('μž…λ‹ˆλ‹€', 'VCP+EF', (32, 35)), ('.', 'SW', (35, 36))]
      #ner_result = [('TEANAPS', 'UN', (0, 7)), ('Python', 'UN', (21, 27))]
      result = sa.parse(ma_result, ner_result)
      print(result)

      Output (in Jupyter Notebook) :

      [('TEANAPS', 'NNP', 'UN', (0, 7)), ('λŠ”', 'JX', 'UN', (7, 8)), ('ν…μŠ€νŠΈ', 'NNG', 'UN', (9, 12)), ('λ§ˆμ΄λ‹', 'NNP', 'UN', (13, 16)), ('을', 'JKO', 'UN', (16, 17)), ('μœ„ν•œ', 'VV+ETM', 'UN', (18, 20)), ('Python', 'NNP', 'UN', (21, 27)), ('νŒ¨ν‚€μ§€', 'NNG', 'UN', (28, 31)), ('μž…λ‹ˆλ‹€', 'VCP+EF', 'UN', (32, 35)), ('.', 'SW', 'UN', (35, 36))]
  • teanaps.nlp.SyntaxAnalyzer.get_phrase(sentence, sa_result) [Top]

    • λ¬Έμž₯의 ꡬ쑰λ₯Ό νŒŒμ•…ν•˜κ³  μ–΄μ ˆλ‹¨μœ„λ‘œ λ‚˜λˆˆ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • phrase_sa_list (list) : (ν˜•νƒœμ†Œ, ν˜•νƒœμ†Œ νƒœκ·Έ, 개체λͺ… νƒœκ·Έ, 개체λͺ…μœ„μΉ˜) ꡬ쑰의 ν˜•νƒœμ†Œλ₯Ό 어ꡬ, μ–΄μ ˆ λ‹¨μœ„λ‘œ λ¬Άμ–΄ ν‘œν˜„λœ 리슀트.
      • phrase_list (list) : λΆ„λ¦¬λœ μ–΄μ ˆ λ‹¨μœ„λ₯Ό ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      #sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      #sa_result = [('TEANAPS', 'NNP', 'UN', (0, 7)), ('λŠ”', 'JX', 'UN', (7, 8)), ('ν…μŠ€νŠΈ', 'NNG', 'UN', (9, 12)), ('λ§ˆμ΄λ‹', 'NNP', 'UN', (13, 16)), ('을', 'JKO', 'UN', (16, 17)), ('μœ„ν•œ', 'VV+ETM', 'UN', (18, 20)), ('Python', 'NNP', 'UN', (21, 27)), ('νŒ¨ν‚€μ§€', 'NNG', 'UN', (28, 31)), ('μž…λ‹ˆλ‹€', 'VCP+EF', 'UN', (32, 35)), ('.', 'SW', 'UN', (35, 36))]
      phrase_sa_list, phrase_list = sa.get_phrase(sentence, sa_result)
      print(phrase_sa_list)
      print(phrase_list)

      Output (in Jupyter Notebook) :

      [[[('TEANAPS', 'NNP', 'UN', (0, 7))], [('λŠ”', 'JX', 'UN', (7, 8))]], [[('ν…μŠ€νŠΈ', 'NNG', 'UN', (9, 12)), ('λ§ˆμ΄λ‹', 'NNP', 'UN', (13, 16))], [('을', 'JKO', 'UN', (16, 17))]], [[('μœ„ν•œ', 'VV+ETM', 'UN', (18, 20))], [('Python', 'NNP', 'UN', (21, 27)), ('νŒ¨ν‚€μ§€', 'NNG', 'UN', (28, 31))], [('μž…λ‹ˆλ‹€', 'VCP+EF', 'UN', (32, 35)), ('.', 'SW', 'UN', (35, 36))]]]
      ['TEANAPSλŠ”', 'ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„', 'μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€.']
  • teanaps.nlp.SyntaxAnalyzer.get_sentence_tree(sentence, sa_result) [Top]

    • ν˜•νƒœμ†Œ 뢄석과 개체λͺ… 인식 κ²°κ³Όλ₯Ό λ°”νƒ•μœΌλ‘œ λ¬Έμž₯ ꡬ쑰λ₯Ό 트리 ꡬ쑰둜 μƒμ„±ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
      • sa_result (list) : (ν˜•νƒœμ†Œ, 개체λͺ…, 개체λͺ… νƒœκ·Έ, 개체λͺ…μœ„μΉ˜) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트. teanaps.nlp.sa.parse μ°Έκ³ .
    • Returns

      • label_list (list) : 트리ꡬ쑰 λ¬Έμž₯의 각 μΈλ±μŠ€μ— ν•΄λ‹Ήν•˜λŠ” 라벨을 ν¬ν•¨ν•˜λŠ” 리슀트.
      • edge_list (list) : 트리ꡬ쑰 λ¬Έμž₯의 각 라벨 인덱슀 κ°„μ˜ μ—°κ²°λœ μ—£μ§€λ₯Ό ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      #sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      #sa_result = [('TEANAPS', 'NNP', 'UN', (0, 7)), ('λŠ”', 'JX', 'UN', (7, 8)), ('ν…μŠ€νŠΈ', 'NNG', 'UN', (9, 12)), ('λ§ˆμ΄λ‹', 'NNP', 'UN', (13, 16)), ('을', 'JKO', 'UN', (16, 17)), ('μœ„ν•œ', 'VV+ETM', 'UN', (18, 20)), ('Python', 'NNP', 'UN', (21, 27)), ('νŒ¨ν‚€μ§€', 'NNG', 'UN', (28, 31)), ('μž…λ‹ˆλ‹€', 'VCP+EF', 'UN', (32, 35)), ('.', 'SW', 'UN', (35, 36))]
      label_list, edge_list = sa.get_sentence_tree(sentence, sa_result)
      print(label_list)
      print(edge_list)

      Output (in Jupyter Notebook) :

      ['TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€.<br>/SENTENCE', 'TEANAPSλŠ”<br>/SUBJECT', 'ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„<br>/OBJECT', 'μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€.<br>/EF', 'TEANAPS<br>/N', 'λŠ”<br>/J', 'ν…μŠ€νŠΈ λ§ˆμ΄λ‹<br>/N', '을<br>/J', 'μœ„ν•œ<br>/V', 'Python νŒ¨ν‚€μ§€<br>/N', 'μž…λ‹ˆλ‹€.<br>/S', 'TEANAPS<br>/NNP<br>/UN', 'λŠ”<br>/JX<br>/UN', 'ν…μŠ€νŠΈ<br>/NNG<br>/UN', 'λ§ˆμ΄λ‹<br>/NNP<br>/UN', '을<br>/JKO<br>/UN', 'μœ„ν•œ<br>/VV+ETM<br>/UN', 'Python<br>/NNP<br>/UN', 'νŒ¨ν‚€μ§€<br>/NNG<br>/UN', 'μž…λ‹ˆλ‹€<br>/VCP+EF<br>/UN', '.<br>/SW<br>/UN']
      [(0, 1), (1, 4), (4, 11), (1, 5), (5, 12), (0, 2), (2, 6), (6, 13), (6, 14), (2, 7), (7, 15), (0, 3), (3, 8), (8, 16), (3, 9), (9, 17), (9, 18), (3, 10), (10, 19), (10, 20)]
  • teanaps.nlp.SyntaxAnalyzer.draw_sentence_tree(sentence, label_list, edge_list) [Top]

    • ν˜•νƒœμ†Œ 뢄석과 개체λͺ… 인식 κ²°κ³Όλ₯Ό λ°”νƒ•μœΌλ‘œ μƒμ„±λœ 트리 ꡬ쑰의 λ¬Έμž₯을 트리 κ·Έλž˜ν”„λ‘œ 좜λ ₯ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
      • label_list (list) : 트리ꡬ쑰 λ¬Έμž₯의 각 μΈλ±μŠ€μ— ν•΄λ‹Ήν•˜λŠ” 라벨을 ν¬ν•¨ν•˜λŠ” 리슀트. teanaps.nlp.sa.get_sentence_tree μ°Έκ³ .
      • edge_list (list) : 트리ꡬ쑰 λ¬Έμž₯의 각 라벨 인덱슀 κ°„μ˜ μ—°κ²°λœ μ—£μ§€λ₯Ό ν¬ν•¨ν•˜λŠ” 리슀트. teanaps.nlp.sa.get_sentence_tree μ°Έκ³ .
    • Returns

      • plotly graph (graph object) : 트리ꡬ쑰 λ¬Έμž₯에 λŒ€ν•œ 트리 κ·Έλž˜ν”„.
    • Examples

      Python Code (in Jupyter Notebook) :

      #sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€."
      #label_list = ['TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€.<br>/SENTENCE', 'TEANAPSλŠ”<br>/SUBJECT', 'ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„<br>/OBJECT', 'μœ„ν•œ Python νŒ¨ν‚€μ§€ μž…λ‹ˆλ‹€.<br>/EF', 'TEANAPS<br>/N', 'λŠ”<br>/J', 'ν…μŠ€νŠΈ λ§ˆμ΄λ‹<br>/N', '을<br>/J', 'μœ„ν•œ<br>/V', 'Python νŒ¨ν‚€μ§€<br>/N', 'μž…λ‹ˆλ‹€.<br>/S', 'TEANAPS<br>/NNP<br>/UN', 'λŠ”<br>/JX<br>/UN', 'ν…μŠ€νŠΈ<br>/NNG<br>/UN', 'λ§ˆμ΄λ‹<br>/NNP<br>/UN', '을<br>/JKO<br>/UN', 'μœ„ν•œ<br>/VV+ETM<br>/UN', 'Python<br>/NNP<br>/UN', 'νŒ¨ν‚€μ§€<br>/NNG<br>/UN', 'μž…λ‹ˆλ‹€<br>/VCP+EF<br>/UN', '.<br>/SW<br>/UN']
      #edge_list = [(0, 1), (1, 4), (4, 11), (1, 5), (5, 12), (0, 2), (2, 6), (6, 13), (6, 14), (2, 7), (7, 15), (0, 3), (3, 8), (8, 16), (3, 9), (9, 17), (9, 18), (3, 10), (10, 19), (10, 20)]
      sa.draw_sentence_tree(sentence, label_list, edge_list)

      Output (in Jupyter Notebook) :
      sa_sentence_tree

2.4. teanaps.nlp.Processing

Python Code (in Jupyter Notebook) :

from teanaps.nlp import Processing

pro = Processing()

Notes :

  • importμ‹œ 졜초 1회 κ²½κ³ λ©”μ‹œμ§€ (Warnning)κ°€ 좜λ ₯될 수 μžˆμŠ΅λ‹ˆλ‹€. λ¬΄μ‹œν•˜μ…”λ„ μ’‹μŠ΅λ‹ˆλ‹€.
  • teanaps.nlp.Processing.get_synonym() [Top]

    • TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” λ™μ˜μ–΄ 리슀트λ₯Ό ν˜ΈμΆœν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • result (list) : λ™μ˜μ–΄λ₯Ό λͺ¨λ‘ ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      result = pro.get_synonym()
      print(result)

      Output (in Jupyter Notebook) :

      {'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
       '아이폰': ['아이폰', 'iphone', '사과폰', '아이폰3s', '아이폰3', '아이폰6', '아이폰x']
      }
  • teanaps.nlp.Processing.add_synonym(word_dict) [Top]

    • TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” λ™μ˜μ–΄ λ¦¬μŠ€νŠΈμ— μž„μ˜μ˜ λ™μ˜μ–΄λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

    • Parameters

      • word_dict (dict) : λ™μ˜μ–΄ 관계가 μ •μ˜λœ λ”•μ…”λ„ˆλ¦¬
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.add_synonym({"아이폰": ["아이폰13", "아이폰13 ν”„λ‘œ"]})
      
      result = pro.get_synonym()
      print(result)

      Output (in Jupyter Notebook) :

      #{'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
      # '아이폰': ['아이폰', 'iphone', '사과폰', '아이폰3s', '아이폰3', '아이폰6', '아이폰x']
      #}
      {'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
       '아이폰': ['아이폰', 'iphone', '사과폰', '아이폰3s', '아이폰3', '아이폰6', '아이폰x', '아이폰13', '아이폰13 ν”„λ‘œ']
      }
  • teanaps.nlp.Processing.remove_synonym(word/word_list) [Top]

    • 전체 λ™μ˜μ–΄ λ¦¬μŠ€νŠΈμ—μ„œ λ™μ˜μ–΄ λ˜λŠ” λ™μ˜μ–΄ λ¦¬μŠ€νŠΈμ— ν¬ν•¨λœ λͺ¨λ“  λ™μ˜μ–΄λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.

    • Parameters

      • word/word_list (str/list) : λ™μ˜μ–΄ λ˜λŠ” λ™μ˜μ–΄λ₯Ό ν¬ν•¨ν•˜λŠ” 리슀트
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.remove_synonym("아이폰3")
      
      result = pro.get_synonym()
      print(result)

      Output (in Jupyter Notebook) :

      #{'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
      # '아이폰': ['아이폰', 'iphone', '사과폰', '아이폰3s', '아이폰3', '아이폰6', '아이폰x', '아이폰13', '아이폰13 ν”„λ‘œ']
      #}
      {'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
       '아이폰': ['아이폰', 'iphone', '사과폰', '아이폰3s', '아이폰6', '아이폰x', '아이폰13', '아이폰13 ν”„λ‘œ']
      }

      Python Code (in Jupyter Notebook) :

      pro.remove_synonym(["iphone", "사과폰", "아이폰3s"])
      
      result = pro.get_synonym()
      print(result)

      Output (in Jupyter Notebook) :

      #{'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
      # '아이폰': ['아이폰', 'iphone', '사과폰', '아이폰3s', '아이폰6', '아이폰x', '아이폰13', '아이폰13 ν”„λ‘œ']
      #}
      {'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
       '아이폰': ['아이폰', '아이폰6', '아이폰x', '아이폰13', '아이폰13 ν”„λ‘œ']
      }
  • teanaps.nlp.Processing.pro.clear_synonym() [Top]

    • 전체 λ™μ˜μ–΄ λ¦¬μŠ€νŠΈμ—μ„œ λ™μ˜μ–΄λ₯Ό λͺ¨λ‘ μ‚­μ œν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.clear_synonym()
      
      result = pro.get_synonym()
      print(result)

      Output (in Jupyter Notebook) :

      #{'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
      # '아이폰': ['아이폰', '아이폰6', '아이폰x', '아이폰13', '아이폰13 ν”„λ‘œ']
      #}
      {'': ['']}
  • teanaps.nlp.Processing.set_org_synonym() [Top]

    • λ™μ˜μ–΄ 리슀트λ₯Ό TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” λ™μ˜μ–΄ 리슀트둜 μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.set_org_synonym()
      
      result = pro.get_synonym()
      print(result)

      Output (in Jupyter Notebook) :

      #{'': ['']}
      {'λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ': ['λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ', '맨유'],
       '아이폰': ['아이폰', 'iphone', '사과폰', '아이폰3s', '아이폰3', '아이폰6', '아이폰x']
      }
  • teanaps.nlp.Processing.is_synonym(word) [Top]

    • 단어가 볡합λͺ…사 λ¦¬μŠ€νŠΈμ— ν¬ν•¨λ˜μ–΄μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • word (str) : λ™μ˜μ–΄
    • Returns

      • result (bool) : λ™μ˜μ–΄ 포함여뢀. True or False
    • Examples

      Python Code (in Jupyter Notebook) :

      result = pro.is_synonym("λ§¨μ²΄μŠ€ν„° μœ λ‚˜μ΄ν‹°λ“œ")
      print(result)

      Output (in Jupyter Notebook) :

      True

      Python Code (in Jupyter Notebook) :

      result = pro.is_synonym("λ§¨μ²΄μŠ€ν„° μ‹œν‹°")
      print(result)

      Output (in Jupyter Notebook) :

      False
  • teanaps.nlp.Processing.get_cnoun() [Top]

    • TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” 볡합λͺ…사 리슀트λ₯Ό ν˜ΈμΆœν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • result (list) : 볡합λͺ…사λ₯Ό λͺ¨λ‘ ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      result = pro.get_cnoun()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      ['ν…μŠ€νŠΈλ§ˆμ΄λ‹', 'ν…μŠ€νŠΈλΆ„μ„', 'μžμ—°μ–΄μ²˜λ¦¬', 'μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž']
  • teanaps.nlp.Processing.add_cnoun(word/word_list) [Top]

    • TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” 볡합λͺ…사 λ¦¬μŠ€νŠΈμ— μž„μ˜μ˜ 볡합λͺ…사 λ˜λŠ” 볡합λͺ…사 리슀트λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

    • Parameters

      • word/word_list (str/list) : 볡합λͺ…사 λ˜λŠ” 볡합λͺ…사λ₯Ό ν¬ν•¨ν•˜λŠ” 리슀트
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.add_cnoun("μ „κΈ°μžλ™μ°¨")
      
      result = pro.get_cnoun()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['ν…μŠ€νŠΈλ§ˆμ΄λ‹', 'ν…μŠ€νŠΈλΆ„μ„', 'μžμ—°μ–΄μ²˜λ¦¬', 'μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž']
      ['ν…μŠ€νŠΈλΆ„μ„', 'μžμ—°μ–΄μ²˜λ¦¬', 'μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž', 'μ „κΈ°μžλ™μ°¨']

      Python Code (in Jupyter Notebook) :

      pro.add_cnoun(["μž₯λ‚œκ°μžλ™μ°¨", "이차전지", "μ „λ™νŠΈλ ν¬"])
      
      result = pro.get_cnoun()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['ν…μŠ€νŠΈλΆ„μ„', 'μžμ—°μ–΄μ²˜λ¦¬', 'μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž', 'μ „κΈ°μžλ™μ°¨']
      ['λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž', 'μ „κΈ°μžλ™μ°¨', 'μž₯λ‚œκ°μžλ™μ°¨', '이차전지', 'μ „λ™νŠΈλ ν¬']
  • teanaps.nlp.Processing.remove_cnoun(word/word_list) [Top]

    • 전체 볡합λͺ…사 λ¦¬μŠ€νŠΈμ—μ„œ 볡합λͺ…사 λ˜λŠ” 볡합λͺ…사 리슀트λ₯Ό λͺ¨λ‘ μ‚­μ œν•©λ‹ˆλ‹€.

    • Parameters

      • word/word_list (str/list) : 볡합λͺ…사 λ˜λŠ” 볡합λͺ…사λ₯Ό ν¬ν•¨ν•˜λŠ” 리슀트
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.remove_cnoun("μ „λ™νŠΈλ ν¬")
      
      result = pro.get_cnoun()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž', 'μ „κΈ°μžλ™μ°¨', 'μž₯λ‚œκ°μžλ™μ°¨', '이차전지', 'μ „λ™νŠΈλ ν¬']
      ['μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž', 'μ „κΈ°μžλ™μ°¨', 'μž₯λ‚œκ°μžλ™μ°¨', '이차전지']

      Python Code (in Jupyter Notebook) :

      pro.remove_cnoun(["μ „κΈ°μžλ™μ°¨", "μž₯λ‚œκ°μžλ™μ°¨", "이차전지"])
      
      result = pro.get_cnoun()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž', 'μ „κΈ°μžλ™μ°¨', '이차전지']
      ['ν…μŠ€νŠΈλ§ˆμ΄λ‹', 'ν…μŠ€νŠΈλΆ„μ„', 'μžμ—°μ–΄μ²˜λ¦¬', 'μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž']
  • teanaps.nlp.Processing.clear_cnoun() [Top]

    • 전체 볡합λͺ…사 λ¦¬μŠ€νŠΈμ—μ„œ 볡합λͺ…사 λ˜λŠ” 볡합λͺ…사 리슀트λ₯Ό λͺ¨λ‘ μ‚­μ œν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.clear_cnoun()
      
      result = pro.get_cnoun()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['ν…μŠ€νŠΈλ§ˆμ΄λ‹', 'ν…μŠ€νŠΈλΆ„μ„', 'μžμ—°μ–΄μ²˜λ¦¬', 'μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž']
      []
  • teanaps.nlp.Processing.set_org_cnoun() [Top]

    • 볡합λͺ…사 리슀트λ₯Ό TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” 볡합λͺ…사 리슀트둜 μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.set_org_cnoun()
      
      result = pro.get_cnoun()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #[]
      ['ν…μŠ€νŠΈλ§ˆμ΄λ‹', 'ν…μŠ€νŠΈλΆ„μ„', 'μžμ—°μ–΄μ²˜λ¦¬', 'μ§€λŠ₯μ •λ³΄ν•™νšŒ', 'λΉ„μ •ν˜•λ°μ΄ν„°', 'μ•…μ„±λŒ“κΈ€', 'κ±Έκ·Έλ£Ή', 'μ‡ΌμΌ€μ΄μŠ€', 'ν—ˆμœ„μœ ν¬', 'ν”λ“€μ˜μž']
  • teanaps.nlp.Processing.is_cnoun(word) [Top]

    • 단어가 볡합λͺ…사 λ¦¬μŠ€νŠΈμ— ν¬ν•¨λ˜μ–΄μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • word (str) : 볡합λͺ…사
    • Returns

      • result (bool) : 볡합λͺ…사 포함여뢀. True or False
    • Examples

      Python Code (in Jupyter Notebook) :

      result = pro.is_cnoun("ν…μŠ€νŠΈλ§ˆμ΄λ‹")
      print(result)

      Output (in Jupyter Notebook) :

      True

      Python Code (in Jupyter Notebook) :

      result = pro.is_cnoun("μ „κΈ°μžλ™μ°¨")
      print(result)

      Output (in Jupyter Notebook) :

      False
  • teanaps.nlp.Processing.get_stopword() [Top]

    • TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” λΆˆμš©μ–΄λ₯Ό ν˜ΈμΆœν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • result (list) : λΆˆμš©μ–΄λ₯Ό λͺ¨λ‘ ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      result = pro.get_stopword()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      ['γ…—', 'γ…›', 'γ…œ', 'γ… ', 'γ…‘', 'γ…£', '', '은', 'λŠ”', '이']
  • teanaps.nlp.Processing.add_stopword(word/word_list) [Top]

    • TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” λΆˆμš©μ–΄ λ¦¬μŠ€νŠΈμ— μž„μ˜μ˜ λΆˆμš©μ–΄ λ˜λŠ” λΆˆμš©μ–΄ 리슀트λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

    • Parameters

      • word/word_list (str/list) : λΆˆμš©μ–΄ λ˜λŠ” λΆˆμš©μ–΄λ₯Ό ν¬ν•¨ν•˜λŠ” 리슀트
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.add_stopword("κ°€")
      
      result = pro.get_stopword()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['γ…—', 'γ…›', 'γ…œ', 'γ… ', 'γ…‘', 'γ…£', '', '은', 'λŠ”', '이']
      ['γ…›', 'γ…œ', 'γ… ', 'γ…‘', 'γ…£', '', '은', 'λŠ”', '이', 'κ°€']

      Python Code (in Jupyter Notebook) :

      pro.add_stopword(["으둜", "λ‘œμ„œ", "λ•Œλ¬Έμ—"])
      
      result = pro.get_stopword()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['γ…›', 'γ…œ', 'γ… ', 'γ…‘', 'γ…£', '', '은', 'λŠ”', '이', 'κ°€']
      ['γ…‘', 'γ…£', '', '은', 'λŠ”', '이', 'κ°€', '으둜', 'λ‘œμ„œ', 'λ•Œλ¬Έμ—']
  • teanaps.nlp.Processing.remove_stopword(word/word_list) [Top]

    • 전체 λΆˆμš©μ–΄ λ¦¬μŠ€νŠΈμ—μ„œ λΆˆμš©μ–΄ λ˜λŠ” λΆˆμš©μ–΄ 리슀트λ₯Ό λͺ¨λ‘ μ‚­μ œν•©λ‹ˆλ‹€.

    • Parameters

      • word/word_list (str/list) : λΆˆμš©μ–΄ λ˜λŠ” λΆˆμš©μ–΄λ₯Ό ν¬ν•¨ν•˜λŠ” 리슀트
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.remove_stopword("λ•Œλ¬Έμ—")
      
      result = pro.get_stopword()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['γ…‘', 'γ…£', '', '은', 'λŠ”', '이', 'κ°€', '으둜', 'λ‘œμ„œ', 'λ•Œλ¬Έμ—']
      ['γ… ', 'γ…‘', 'γ…£', '', '은', 'λŠ”', '이', 'κ°€', '으둜', 'λ‘œμ„œ']

      Python Code (in Jupyter Notebook) :

      pro.remove_stopword(["은", "λŠ”", "이", "κ°€"])
      
      result = pro.get_stopword()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['γ… ', 'γ…‘', 'γ…£', '', '은', 'λŠ”', '이', 'κ°€', '으둜', 'λ‘œμ„œ']
      ['γ…–', 'γ…—', 'γ…›', 'γ…œ', 'γ… ', 'γ…‘', 'γ…£', '', '으둜', 'λ‘œμ„œ']
  • teanaps.nlp.Processing.clear_stopword() [Top]

    • 전체 λΆˆμš©μ–΄ λ¦¬μŠ€νŠΈμ—μ„œ λΆˆμš©μ–΄ λ˜λŠ” λΆˆμš©μ–΄ 리슀트λ₯Ό λͺ¨λ‘ μ‚­μ œν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.clear_stopword()
      
      result = pro.get_stopword()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #['γ… ', 'γ…‘', 'γ…£', '', '은', 'λŠ”', '이', 'κ°€', '으둜', 'λ‘œμ„œ']
      []
  • teanaps.nlp.Processing.set_org_stopword() [Top]

    • λΆˆμš©μ–΄ 리슀트λ₯Ό TEANAPSμ—μ„œ 기본으둜 μ œκ³΅ν•˜λŠ” λΆˆμš©μ–΄ 리슀트둜 μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.set_org_stopword()
      
      result = pro.get_stopword()
      print(result[-10:])

      Output (in Jupyter Notebook) :

      #[]
      ['γ…—', 'γ…›', 'γ…œ', 'γ… ', 'γ…‘', 'γ…£', '', '은', 'λŠ”', '이']
  • teanaps.nlp.Processing.is_stopword(word) [Top]

    • 단어가 λΆˆμš©μ–΄ λ¦¬μŠ€νŠΈμ— ν¬ν•¨λ˜μ–΄μžˆλŠ”μ§€ μ—¬λΆ€λ₯Ό ν™•μΈν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • word (str) : λΆˆμš©μ–΄
    • Returns

      • result (bool) : λΆˆμš©μ–΄ 포함여뢀. True or False
    • Examples

      Python Code (in Jupyter Notebook) :

      result = pro.is_stopword("은")
      print(result)

      Output (in Jupyter Notebook) :

      True

      Python Code (in Jupyter Notebook) :

      result = pro.is_stopword("μ—†λŠ”λ‹¨μ–΄")
      print(result)

      Output (in Jupyter Notebook) :

      False
  • teanaps.nlp.Processing.start_timer() [Top]

    • 타이머λ₯Ό μ΄ˆκΈ°ν™”ν•˜κ³  λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • None
    • Examples

      Python Code (in Jupyter Notebook) :

      pro.start_timer()
  • teanaps.nlp.Processing.lab_timer() [Top]

    • 타이머 λž©νƒ€μž„μ„ κΈ°λ‘ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • None
    • Returns

      • result (list) : (랩, λž©νƒ€μž„) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      import time
      
      #pro.start_timer()
      
      time.sleep(1)
      result = pro.lab_timer()
      print(result)
      
      time.sleep(2)
      result = pro.lab_timer()
      print(result)

      Output (in Jupyter Notebook) :

      [(1, 1.0033)]
      [(1, 1.0033), (2, 3.0068)]
  • teanaps.nlp.Processing.get_token_position(sentence, tag_list) [Top]

    • λ¬Έμž₯의 띄어쓰기 였λ₯˜λ₯Ό λ³΄μ •ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
      • tag_list (str) : (단어, νƒœκ·Έ) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트.
    • Returns

      • result (str) : (단어, νƒœκ·Έ, μœ„μΉ˜) ꡬ쑰의 Tuple을 ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€μž…λ‹ˆλ‹€."
      tag_list = [("TEANAPS", "UN"), ("Python", "UN")]
      result = pro.get_token_position(sentence, tag_list)
      print(result)

      Output (in Jupyter Notebook) :

      [('TEANAPS', 'UN', (0, 7)), ('Python', 'UN', (21, 27))]
  • teanaps.nlp.Processing.language_detector(sentence) [Top]

    • λ¬Έμž₯의 μ–Έμ–΄λ₯Ό μ‹λ³„ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • result (str) : μ‹λ³„λœ μ–Έμ–΄ μœ ν˜•. ν•œκ΅­μ–΄λŠ” "ko", μ˜μ–΄λŠ” "en".
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€μž…λ‹ˆλ‹€."
      result = pro.language_detector(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      ko

      Python Code (in Jupyter Notebook) :

      sentence = "If it is to be, it's up to me."
      result = pro.language_detector(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      en
  • teanaps.nlp.Processing.iteration_remover(sentence, replace_char=".") [Top]

    • λ¬Έμž₯μ—μ„œ λ¬΄μ˜λ―Έν•˜κ²Œ λ°˜λ³΅λ˜λŠ” νŒ¨ν„΄μ„ μ°Ύμ•„λ‚΄ "."으둜 μΉ˜ν™˜ν•œ λ¬Έμž₯을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
      • replace_char (str) : λ°˜λ³΅λ˜λŠ” νŒ¨ν„΄μ„ λŒ€μ²΄ν•  λ¬Έμžμ—΄.
    • Returns

      • result (str) : 반볡된 νŒ¨ν„΄μ΄ μΉ˜ν™˜λœ λ¬Έμž₯.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€μž…λ‹ˆλ‹€γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹"
      result = pro.iteration_remover(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€μž…λ‹ˆλ‹€γ…‹........
  • teanaps.nlp.Processing.get_plain_text(sentence, pos_list=[], word_index=0, pos_index=1, tag_index=1, tag=True) [Top]

    • ν˜•νƒœμ†Œ λ˜λŠ” 개체λͺ… νƒœκ·Έλ₯Ό "/"둜 ꡬ뢄해 νƒœκΉ…ν•˜μ—¬ λ¬Έμž₯ ν˜•νƒœλ‘œ μƒμ„±ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
      • pos_list (list) : 필터링할 νƒœκ·Έκ°€ ν¬ν•¨λœ νŠœν”Œμ˜ 인덱슀.
      • word_index (str) : 단어가 ν¬ν•¨λœ νŠœν”Œμ˜ 인덱슀.
      • pos_index (int) : 필터링할 νƒœκ·Έκ°€ ν¬ν•¨λœ νŠœν”Œμ˜ 인덱슀.
      • tag_index (int) : νƒœκΉ…ν•  νƒœκ·Έκ°€ ν¬ν•¨λœ νŠœν”Œμ˜ 인덱슀.
      • tag (bool) : νƒœκ·Έ 포함여뢀.
    • Returns

      • result (str) : 반볡된 νŒ¨ν„΄μ΄ μΉ˜ν™˜λœ λ¬Έμž₯.
    • Examples

      Python Code (in Jupyter Notebook) :

      #from teanaps.nlp import MorphologicalAnalyzer
      #ma = MorphologicalAnalyzer()
      #ma.set_tagger("mecab")
      
      #sentence = "TEANAPSλŠ” ν…μŠ€νŠΈ λ§ˆμ΄λ‹μ„ μœ„ν•œ Python νŒ¨ν‚€μ§€μž…λ‹ˆλ‹€."
      #ma_result = ma.parse(sentence)
      ma_result = [('TEANAPS', 'OL', (0, 7)), ('λŠ”', 'JX', (7, 8)), ('ν…μŠ€νŠΈ', 'NNG', (9, 12)), ('λ§ˆμ΄λ‹', 'NNP', (13, 16)), ('을', 'JKO', (16, 17)), ('μœ„ν•œ', 'VV+ETM', (18, 20)), ('Python', 'OL', (21, 27)), ('νŒ¨ν‚€μ§€', 'NNG', (28, 31)), ('μž…λ‹ˆλ‹€', 'VCP+EF', (31, 34)), ('.', 'SW', (34, 35))]
      result = pro.get_plain_text(ma_result)
      print(result)

      Output (in Jupyter Notebook) :

      TEANAPS/OL λŠ”/JX ν…μŠ€νŠΈ/NNG λ§ˆμ΄λ‹/NNP 을/JKO μœ„ν•œ/VV+ETM Python/OL νŒ¨ν‚€μ§€/NNG μž…λ‹ˆλ‹€/VCP+EF ./SW
  • teanaps.nlp.Processing.replacer(sentence) [Top]

    • λ¬Έμž₯μ—μ„œ μΆ•μ•½λœ ν‘œν˜„μ„ μ°Ύμ•„ μ›λž˜μ˜ ν‘œν˜„μœΌλ‘œ μˆ˜μ •ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
    • Returns

      • result (str) : μΆ•μ•½λœ ν‘œν˜„μ΄ μˆ˜μ •λœ λ¬Έμž₯.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "If it is to be, it's up to me."
      result = pro.replacer(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      If it is to be, it is up to me.
  • teanaps.nlp.Processing.masking(sentence, replace_char="*", replace_char_pattern = "", ner_tag_list=[], model_path="") [Top]

    • λ¬Έμž₯μ—μ„œ μΆ”μΆœλœ 개체λͺ…을 λ‹€λ₯Έ λ¬Έμžμ—΄λ‘œ μΉ˜ν™˜ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • sentence (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ λ¬Έμž₯. μ΅œλŒ€ 128자.
      • replace_char (str) : 개체λͺ…을 μΉ˜ν™˜ν•  λ¬Έμžμ—΄.
      • replace_char_pattern (str) : 개체λͺ…을 μΉ˜ν™˜ν•  λ¬Έμžμ—΄ νŒ¨ν„΄.
      • ner_tag_list (list) : μΉ˜ν™˜ λŒ€μƒ 개체λͺ… νƒœκ·Έ 리슀트.
      • model_path (str) : 개체λͺ… 인식 λͺ¨λΈ 파일 경둜.
    • Returns

      • result (str) : 개체λͺ…을 λ‹€λ₯Έ λ¬Έμžμ—΄λ‘œ μΉ˜ν™˜ν•œ λ¬Έμž₯.
    • Examples

      Python Code (in Jupyter Notebook) :

      sentence = "제 이름은 μ œμž„μŠ€ 포터이고 μ—°λ½μ²˜λŠ” 010-1234-5678 μž…λ‹ˆλ‹€."
      result = pro.masking(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      제 이름은 ******이고 μ—°λ½μ²˜λŠ” ************* μž…λ‹ˆλ‹€.

      Python Code (in Jupyter Notebook) :

      sentence = "제 이름은 μ œμž„μŠ€ 포터이고 μ—°λ½μ²˜λŠ” 010-1234-5678 μž…λ‹ˆλ‹€."
      replace_char_pattern = "___-**__-**__"
      result = pro.masking(sentence)
      print(result)

      Output (in Jupyter Notebook) :

      제 이름은 μ œμž„μŠ€ **이고 μ—°λ½μ²˜λŠ” 010-**34-**78 μž…λ‹ˆλ‹€.
  • teanaps.nlp.Processing.sentence_splitter(paragraph) [Top]

    • μ—¬λŸ¬κ°œ λ¬Έμž₯이 ν¬ν•¨λœ 문단을 λ¬Έμž₯ λ‹¨μœ„λ‘œ κ΅¬λΆ„ν•˜κ³  κ·Έ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    • Parameters

      • paragraph (str) : ν•œκ΅­μ–΄ λ˜λŠ” μ˜μ–΄λ‘œ κ΅¬μ„±λœ 문단
    • Returns

      • result (list) : 문단에 ν¬ν•¨λœ λ¬Έμž₯을 ν¬ν•¨ν•˜λŠ” 리슀트.
    • Examples

      Python Code (in Jupyter Notebook) :

      paragraph = "μ–΄λ¨Έλ‚˜...μ•ˆλ…•ν•˜μ„Έμš”. TEANAPSλ₯Ό λ‹€μ‹œ μ°Ύμ•„μ£Όμ…¨κ΅°μš”!"
      result = pro.sentence_splitter(paragraph)
      print(result)

      Output (in Jupyter Notebook) :

      ['μ–΄λ¨Έλ‚˜...', 'μ•ˆλ…•ν•˜μ„Έμš”.', 'TEANAPSλ₯Ό λ‹€μ‹œ μ°Ύμ•„μ£Όμ…¨κ΅°μš”!']
2.5. teanaps.nlp.Embedding
  • TBU
⚠️ **GitHub.com Fallback** ⚠️