Morphological analysis and POS tagging

Morphological analysis is the identification of the structure of morphemes and other linguistic units, such as root words, affixes, or parts of speech.

POS (part-of-speech) tagging is the process of marking up morphemes in a phrase, based on their definitions and contexts. For example.:

가방에 들어가신다 -> 가방/NNG + 에/JKM + 들어가/VV + 시/EPH + ㄴ다/EFN

Tagging with KoNLPy

In KoNLPy, there are several different options you can choose for POS tagging. All have the same input-output structure; the input is a phrase, and the output is a list of tagged morphemes.

For detailed usage instructions see the tag Package.

Comparison between tagging modules

Now, we do time and performation analysis for executing the pos method for each of the modules in the tag Package.

Time analysis [1]

  1. Loading time: Module loading time, including dictionary loads. [2]

  2. Execution time: Time for executing the pos method for each module, with 100K characters. [3]

    If we test among a various number of characters, all modules’ execution times increase in an exponential manner. [4]

    ../_images/time.png

Performance analysis

The performance evaluation is replaced with result comparisons for several sample sentences.

  1. “저는 대학생이구요. 소프트웨어 관련학과 입니다.”

    kkma hannanum mecab
    저 / NP 저 / N 저 / NP
    는 / JX 는 / J 는 / JX
    대학생 / NNG 대학생이구요 / N 대학 / NNG
        생 / XSN
    이 / VCP   이 / VCP
    구요 / EFN   구요 / EF
    . / SF . / S . / SF
    소프트웨어 / NNG 소프트웨어 / N 소프트웨어 / NNG
    관련 / NNG 관련학과 / N 관련 / NNG
    학과 / NNG   학과 / NNG
    이 / VCP 일 / P 입니다 / VCP+EF
    ㅂ니다 / EFN ㅂ니다 / E  
    . / SF . / S . / SF
  2. “롯데마트의 흑마늘양념치킨이 논란이 되고 있는 가운데, 자연주의쇼핑몰에서부터만큼은 안정적으로 운영되고 있다.”

    kkma hannanum mecab
    롯데 / NNP 롯데마트 / N 롯데마트 / NNP
    마트 / NNG    
    의 / JKG 의 / J 의 / JKG
    흑 / NNG 흑마늘양념치킨 / N 흑마 / NNG
    마늘 / NNG   늘 / MAG
    양념 / NNG   양념치킨 / NNP
    치킨 / NNG    
    이 / JKS 이 / J 이 / JKS
    논란 / NNG 논란 / N 논란 / NNG
    이 / JKC 이 / J 이 / JKS
    되 / VV 되 / P 되 / VV
    고 / ECE 고 / E 고 / EC
    있 / VXV 있 / P 있 / VX
    는 / ETD 는 / E 는 / ETM
    가운데 / NNG 가운데 / N 가운데 / NNG
    , / SP , / S , / SC
    자연주의 / NNG 자연주의쇼핑몰 / N 자연 / NNG
        주 / NNG
        의 / JKG
    쇼핑몰 / NNG   쇼핑몰 / NNG
    에서 / JKM 에서부터만큼은 / J 에서부터 / JKB
    부터 / JX    
    만큼 / NNG   만큼 / JKB
    은 / JX   은 / JX
    안정적 / NNG 안정적 / N 안정 / NNG
        적 / XSN
    으로 / JKM 으로 / J 으로 / JKB
    운영 / NNG 운영 / N 운영 / NNG
    되 / XSV 되 / X 되 / XSV
    고 / ECE 고 / E 고 / EC
    있 / VXV 있 / P 있 / VX
    다 / EFN 다 / E 다 / EF
    . / SF . / S . / SF
[1]All time analyses in this document were performed with time on a Thinkpad X1 Carbon (2013) and KoNLPy v0.3.
[2]Average of five consecutive runs.
[3]Average of ten consecutive runs.
[4]The current hannanum module raises a java.lang.ArrayIndexOutOfBoundsException: 10000 exception if the number of characters is too large.
Fork me on GitHub

Table Of Contents

Related Topics