1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Colabで韓国語を形態素解析

Posted at

韓国語の勉強を始め、例文など集めていると、動詞の活用が不規則で困ります。たとえば「見た人」を意味する韓国語「온 사람」は、「見る 오다)」の語幹「오」に過去連体形を示す「ㄴ」が付いて「온」になるのですが、一文字の中で変化があるので検索しにくいですね。

というわけで日本語の形態素解析のように韓国語でも形態素解析できないか探してみました。

今回、試してみたのはkonlpyというライブラリ。このライブラリ自体はmecabを含む5つのtag Packageを選べるのですが、このうちkkmaがGoogle Colabでも動かせましたので、こちらを使っていくことにします。(他のパッケージは動かせませんでした。誰か動かせたという情報あれば教えてください)

まず、関連パッケージをインストールします。ipywidgetsを入れておくと、入力する文字列をいちいちコードに貼らなくてもインタラクティブに入力できるので、おすすめです。

!pip install konlpy
!pip install mecab-python3

from konlpy.tag import Kkma
from konlpy.utils import pprint

!pip install ipywidgets
from ipywidgets import interact

本体のコードはこちら。ipywidgetsでインタラクティブに使いたいので、適当な関数名を付けています。

s = "기억이 돌아온 거야?"
def func(s):
  for line in s.split('\n'):
    print(line)
    poslist = Kkma().pos(line,flatten=False, join=False)
    for tags in poslist:
      if tags[0][1] == "VV" or tags[0][1] == "VA" : # 動詞または形容詞
        word = ""
        part = ""
        for tag in tags:
          word = word + " "+ tag[0]
          part = part + " "+ tag[1]
        print(word+" / "+part)
interact(func,s=s)

postlistをpprintすると、名詞などすべての品詞が出てきますが、今回は動詞(VV)の活用だけを見たいので絞り込んでいます。

実行すると、このように動詞を品詞ごとに分解した結果が出てきます。

기억이 돌아온 거야?
 돌아오 ㄴ /  VV ETD

文字列を入力する欄がありますので、そこにコピペすると何度でも解析できて便利ですね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?