MeCab의 출력 형식을 정리하여 Pandas로 처리 할 수있게했다
개요
MeCab 의 반환값의 의미를 모르기 때문에 조사해 정리해 보았습니다.그리고, 그 결과를 Pandas 공개되었습니다.
실행 환경
곤란한 곳
MeCab에서 "스플라툰에서 우데마에 X가 되지 않아서 분하다."라는 문자열을 입력하면 다음 결과가 반환된다.
スプラトゥーン 名詞,固有名詞,一般,*,*,*,Splatoon,スプラトゥーン,スプラトゥーン
で 助詞,格助詞,一般,*,*,*,で,デ,デ
ウデマエ 名詞,一般,*,*,*,*,腕前,ウデマエ,ウデマエ
X 名詞,固有名詞,一般,*,*,*,X,エックス,エックス
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なら 動詞,自立,*,*,五段・ラ行,未然形,なる,ナラ,ナラ
なく 助動詞,*,*,*,特殊・ナイ,連用テ接続,ない,ナク,ナク
て 助詞,接続助詞,*,*,*,*,て,テ,テ
悔しい 形容詞,自立,*,*,形容詞・イ段,基本形,悔しい,クヤシイ,クヤシイ
。 記号,句点,*,*,*,*,。,。,。
EOS
탭으로 구분된 이후의 쉼표로 구분된 요소의 각각의 의미를 잘 모르겠다.
반환값의 포맷
GitHub 가 참고가 되었습니다. 거기에서 유추하면 MeCab의 형식은 다음과 같은 형태입니다.
表層形\t品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音
CaboCha의 출력은 활용형과 활용형의 순서가 반대로 되어 있는 것에 주의입니다.
응용 예
활용 해결
같은 단어에서도 활용형이 다르면 다른 문자열이 되어 버려, 분석 내용에 따라서는 불편이 생깁니다. 예를 들어 문장에 어떤 키워드가 포함되어 있는지 추출하는 작업입니다. 아래의 문장이라면, 「가지고」와 「가지고 있다」가 다른 단어가 되어, 기대한 결과와 다른 요인이 될 수 있습니다.
コントローラーの持ち方を変えて、ガチホコを持ったら勝てるようになった。
コントローラー 名詞,一般,*,*,*,*,コントローラー,コントローラー,コントローラー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
持ち 動詞,自立,*,*,五段・タ行,連用形,持つ,モチ,モチ
方 名詞,接尾,特殊,*,*,*,方,カタ,カタ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
変え 動詞,自立,*,*,一段,連用形,変える,カエ,カエ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
、 記号,読点,*,*,*,*,、,、,、
ガチホコ 名詞,固有名詞,一般,*,*,*,ガチホコ,ガチホコ,ガチホコ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
持っ 動詞,自立,*,*,五段・タ行,連用タ接続,持つ,モッ,モッ
たら 助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
勝てる 動詞,自立,*,*,一段,基本形,勝てる,カテル,カテル
よう 名詞,非自立,助動詞語幹,*,*,*,よう,ヨウ,ヨー
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なっ 動詞,自立,*,*,五段・ラ行,連用タ接続,なる,ナッ,ナッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS
여기서, 「원형」의 요소를 보러 가면, 함께 「가지」로 변환되고 있으므로, 활용으로 머리를 괴롭힐 필요는 없습니다.
읽기와 발음에 주목한 해석
일본어는 같은 읽기나 발음에서도, 히라가나・가타카나・한자와 다른 표기 수법이 있습니다. 발화했을 때에 어떤 리듬감이 되는지를 해석하고 싶은 등(예를 들면 시의 좋고 나쁜 판정이라든지)의 태스크에서는, 이 일본어의 사양은 불편합니다.
サンフランで土師さんが箸を持って橋の端を渡る
サンフラン 名詞,一般,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
土師 名詞,固有名詞,人名,姓,*,*,土師,ハジ,ハジ
さん 名詞,接尾,人名,*,*,*,さん,サン,サン
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
箸 名詞,一般,*,*,*,*,箸,ハシ,ハシ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
持っ 動詞,自立,*,*,五段・タ行,連用タ接続,持つ,モッ,モッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
橋 名詞,一般,*,*,*,*,橋,ハシ,ハシ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
端 名詞,一般,*,*,*,*,端,ハジ,ハジ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
渡る 動詞,自立,*,*,五段・ラ行,基本形,渡る,ワタル,ワタル
EOS
「읽기」나 「발음」의 요소를 보러 가면, 한자를 카타카나로 변환해 주기 때문에, 처리가 매우 편해집니다. 원래 카타카나의 경우는 「*」가 되어 버리므로, 주의입니다. 그 때는 표층형을 대신 가져오면 됩니다.
Pandas에서 다룰 수 있도록했습니다.
CaboCha 기사 에 샘플 코드를 넣었으므로, 괜찮으면 사용해 보세요. 아래와 같이 사용할 수 있습니다!
Python 3.6.5 |Anaconda custom (64-bit)| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from mecab_pandas import MeCabParser
>>> mp = MeCabParser()
>>> mp.parse("ケルビン強化されたと思ったけど、やっぱスパッタリー最強だわ。")
surface_form word_class class_detail1 class_detail2 class_detail3 \
0 ケルビン 名詞 一般 None None
1 強化 名詞 サ変接続 None None
2 さ 動詞 自立 None None
3 れ 動詞 接尾 None None
4 た 助動詞 None None None
5 と 助詞 格助詞 引用 None
6 思っ 動詞 自立 None None
7 た 助動詞 None None None
8 けど 助詞 接続助詞 None None
9 、 記号 読点 None None
10 やっぱ 副詞 一般 None None
11 スパッタリー 名詞 一般 None None
12 最強 名詞 一般 None None
13 だ 助動詞 None None None
14 わ 助詞 終助詞 None None
15 。 記号 句点 None None
conjugational_type conjugational_form original_form katakana pronunciation
0 None None ケルビン ケルビン ケルビン
1 None None 強化 キョウカ キョーカ
2 サ変・スル 未然レル接続 する サ サ
3 一段 連用形 れる レ レ
4 特殊・タ 基本形 た タ タ
5 None None と ト ト
6 五段・ワ行促音便 連用タ接続 思う オモッ オモッ
7 特殊・タ 基本形 た タ タ
8 None None けど ケド ケド
9 None None 、 、 、
10 None None やっぱ ヤッパ ヤッパ
11 None None None None None
12 None None 最強 サイキョウ サイキョー
13 特殊・ダ 基本形 だ ダ ダ
14 None None わ ワ ワ
15 None None 。 。 。
후기
코드를 작성하는 것은 간단했지만 결과 형식을 찾는 데 어려움을 겪었습니다. 리소스를 활용하고 있으므로, 잘못하는 설이 있네요. 「여기에 있다」같은 정보가 있으면 꼭 코멘트해 주세요! 그럼
Reference
이 문제에 관하여(MeCab의 출력 형식을 정리하여 Pandas로 처리 할 수있게했다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hasoya/items/0561bb1481a648aa8e6e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
スプラトゥーン 名詞,固有名詞,一般,*,*,*,Splatoon,スプラトゥーン,スプラトゥーン
で 助詞,格助詞,一般,*,*,*,で,デ,デ
ウデマエ 名詞,一般,*,*,*,*,腕前,ウデマエ,ウデマエ
X 名詞,固有名詞,一般,*,*,*,X,エックス,エックス
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なら 動詞,自立,*,*,五段・ラ行,未然形,なる,ナラ,ナラ
なく 助動詞,*,*,*,特殊・ナイ,連用テ接続,ない,ナク,ナク
て 助詞,接続助詞,*,*,*,*,て,テ,テ
悔しい 形容詞,自立,*,*,形容詞・イ段,基本形,悔しい,クヤシイ,クヤシイ
。 記号,句点,*,*,*,*,。,。,。
EOS
GitHub 가 참고가 되었습니다. 거기에서 유추하면 MeCab의 형식은 다음과 같은 형태입니다.
表層形\t品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音
CaboCha의 출력은 활용형과 활용형의 순서가 반대로 되어 있는 것에 주의입니다.
응용 예
활용 해결
같은 단어에서도 활용형이 다르면 다른 문자열이 되어 버려, 분석 내용에 따라서는 불편이 생깁니다. 예를 들어 문장에 어떤 키워드가 포함되어 있는지 추출하는 작업입니다. 아래의 문장이라면, 「가지고」와 「가지고 있다」가 다른 단어가 되어, 기대한 결과와 다른 요인이 될 수 있습니다.
コントローラーの持ち方を変えて、ガチホコを持ったら勝てるようになった。
コントローラー 名詞,一般,*,*,*,*,コントローラー,コントローラー,コントローラー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
持ち 動詞,自立,*,*,五段・タ行,連用形,持つ,モチ,モチ
方 名詞,接尾,特殊,*,*,*,方,カタ,カタ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
変え 動詞,自立,*,*,一段,連用形,変える,カエ,カエ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
、 記号,読点,*,*,*,*,、,、,、
ガチホコ 名詞,固有名詞,一般,*,*,*,ガチホコ,ガチホコ,ガチホコ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
持っ 動詞,自立,*,*,五段・タ行,連用タ接続,持つ,モッ,モッ
たら 助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
勝てる 動詞,自立,*,*,一段,基本形,勝てる,カテル,カテル
よう 名詞,非自立,助動詞語幹,*,*,*,よう,ヨウ,ヨー
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なっ 動詞,自立,*,*,五段・ラ行,連用タ接続,なる,ナッ,ナッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS
여기서, 「원형」의 요소를 보러 가면, 함께 「가지」로 변환되고 있으므로, 활용으로 머리를 괴롭힐 필요는 없습니다.
읽기와 발음에 주목한 해석
일본어는 같은 읽기나 발음에서도, 히라가나・가타카나・한자와 다른 표기 수법이 있습니다. 발화했을 때에 어떤 리듬감이 되는지를 해석하고 싶은 등(예를 들면 시의 좋고 나쁜 판정이라든지)의 태스크에서는, 이 일본어의 사양은 불편합니다.
サンフランで土師さんが箸を持って橋の端を渡る
サンフラン 名詞,一般,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
土師 名詞,固有名詞,人名,姓,*,*,土師,ハジ,ハジ
さん 名詞,接尾,人名,*,*,*,さん,サン,サン
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
箸 名詞,一般,*,*,*,*,箸,ハシ,ハシ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
持っ 動詞,自立,*,*,五段・タ行,連用タ接続,持つ,モッ,モッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
橋 名詞,一般,*,*,*,*,橋,ハシ,ハシ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
端 名詞,一般,*,*,*,*,端,ハジ,ハジ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
渡る 動詞,自立,*,*,五段・ラ行,基本形,渡る,ワタル,ワタル
EOS
「읽기」나 「발음」의 요소를 보러 가면, 한자를 카타카나로 변환해 주기 때문에, 처리가 매우 편해집니다. 원래 카타카나의 경우는 「*」가 되어 버리므로, 주의입니다. 그 때는 표층형을 대신 가져오면 됩니다.
Pandas에서 다룰 수 있도록했습니다.
CaboCha 기사 에 샘플 코드를 넣었으므로, 괜찮으면 사용해 보세요. 아래와 같이 사용할 수 있습니다!
Python 3.6.5 |Anaconda custom (64-bit)| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from mecab_pandas import MeCabParser
>>> mp = MeCabParser()
>>> mp.parse("ケルビン強化されたと思ったけど、やっぱスパッタリー最強だわ。")
surface_form word_class class_detail1 class_detail2 class_detail3 \
0 ケルビン 名詞 一般 None None
1 強化 名詞 サ変接続 None None
2 さ 動詞 自立 None None
3 れ 動詞 接尾 None None
4 た 助動詞 None None None
5 と 助詞 格助詞 引用 None
6 思っ 動詞 自立 None None
7 た 助動詞 None None None
8 けど 助詞 接続助詞 None None
9 、 記号 読点 None None
10 やっぱ 副詞 一般 None None
11 スパッタリー 名詞 一般 None None
12 最強 名詞 一般 None None
13 だ 助動詞 None None None
14 わ 助詞 終助詞 None None
15 。 記号 句点 None None
conjugational_type conjugational_form original_form katakana pronunciation
0 None None ケルビン ケルビン ケルビン
1 None None 強化 キョウカ キョーカ
2 サ変・スル 未然レル接続 する サ サ
3 一段 連用形 れる レ レ
4 特殊・タ 基本形 た タ タ
5 None None と ト ト
6 五段・ワ行促音便 連用タ接続 思う オモッ オモッ
7 特殊・タ 基本形 た タ タ
8 None None けど ケド ケド
9 None None 、 、 、
10 None None やっぱ ヤッパ ヤッパ
11 None None None None None
12 None None 最強 サイキョウ サイキョー
13 特殊・ダ 基本形 だ ダ ダ
14 None None わ ワ ワ
15 None None 。 。 。
후기
코드를 작성하는 것은 간단했지만 결과 형식을 찾는 데 어려움을 겪었습니다. 리소스를 활용하고 있으므로, 잘못하는 설이 있네요. 「여기에 있다」같은 정보가 있으면 꼭 코멘트해 주세요! 그럼
Reference
이 문제에 관하여(MeCab의 출력 형식을 정리하여 Pandas로 처리 할 수있게했다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hasoya/items/0561bb1481a648aa8e6e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
コントローラーの持ち方を変えて、ガチホコを持ったら勝てるようになった。
コントローラー 名詞,一般,*,*,*,*,コントローラー,コントローラー,コントローラー
の 助詞,連体化,*,*,*,*,の,ノ,ノ
持ち 動詞,自立,*,*,五段・タ行,連用形,持つ,モチ,モチ
方 名詞,接尾,特殊,*,*,*,方,カタ,カタ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
変え 動詞,自立,*,*,一段,連用形,変える,カエ,カエ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
、 記号,読点,*,*,*,*,、,、,、
ガチホコ 名詞,固有名詞,一般,*,*,*,ガチホコ,ガチホコ,ガチホコ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
持っ 動詞,自立,*,*,五段・タ行,連用タ接続,持つ,モッ,モッ
たら 助動詞,*,*,*,特殊・タ,仮定形,た,タラ,タラ
勝てる 動詞,自立,*,*,一段,基本形,勝てる,カテル,カテル
よう 名詞,非自立,助動詞語幹,*,*,*,よう,ヨウ,ヨー
に 助詞,格助詞,一般,*,*,*,に,ニ,ニ
なっ 動詞,自立,*,*,五段・ラ行,連用タ接続,なる,ナッ,ナッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS
サンフランで土師さんが箸を持って橋の端を渡る
サンフラン 名詞,一般,*,*,*,*,*
で 助詞,格助詞,一般,*,*,*,で,デ,デ
土師 名詞,固有名詞,人名,姓,*,*,土師,ハジ,ハジ
さん 名詞,接尾,人名,*,*,*,さん,サン,サン
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
箸 名詞,一般,*,*,*,*,箸,ハシ,ハシ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
持っ 動詞,自立,*,*,五段・タ行,連用タ接続,持つ,モッ,モッ
て 助詞,接続助詞,*,*,*,*,て,テ,テ
橋 名詞,一般,*,*,*,*,橋,ハシ,ハシ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
端 名詞,一般,*,*,*,*,端,ハジ,ハジ
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
渡る 動詞,自立,*,*,五段・ラ行,基本形,渡る,ワタル,ワタル
EOS
CaboCha 기사 에 샘플 코드를 넣었으므로, 괜찮으면 사용해 보세요. 아래와 같이 사용할 수 있습니다!
Python 3.6.5 |Anaconda custom (64-bit)| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from mecab_pandas import MeCabParser
>>> mp = MeCabParser()
>>> mp.parse("ケルビン強化されたと思ったけど、やっぱスパッタリー最強だわ。")
surface_form word_class class_detail1 class_detail2 class_detail3 \
0 ケルビン 名詞 一般 None None
1 強化 名詞 サ変接続 None None
2 さ 動詞 自立 None None
3 れ 動詞 接尾 None None
4 た 助動詞 None None None
5 と 助詞 格助詞 引用 None
6 思っ 動詞 自立 None None
7 た 助動詞 None None None
8 けど 助詞 接続助詞 None None
9 、 記号 読点 None None
10 やっぱ 副詞 一般 None None
11 スパッタリー 名詞 一般 None None
12 最強 名詞 一般 None None
13 だ 助動詞 None None None
14 わ 助詞 終助詞 None None
15 。 記号 句点 None None
conjugational_type conjugational_form original_form katakana pronunciation
0 None None ケルビン ケルビン ケルビン
1 None None 強化 キョウカ キョーカ
2 サ変・スル 未然レル接続 する サ サ
3 一段 連用形 れる レ レ
4 特殊・タ 基本形 た タ タ
5 None None と ト ト
6 五段・ワ行促音便 連用タ接続 思う オモッ オモッ
7 特殊・タ 基本形 た タ タ
8 None None けど ケド ケド
9 None None 、 、 、
10 None None やっぱ ヤッパ ヤッパ
11 None None None None None
12 None None 最強 サイキョウ サイキョー
13 特殊・ダ 基本形 だ ダ ダ
14 None None わ ワ ワ
15 None None 。 。 。
후기
코드를 작성하는 것은 간단했지만 결과 형식을 찾는 데 어려움을 겪었습니다. 리소스를 활용하고 있으므로, 잘못하는 설이 있네요. 「여기에 있다」같은 정보가 있으면 꼭 코멘트해 주세요! 그럼
Reference
이 문제에 관하여(MeCab의 출력 형식을 정리하여 Pandas로 처리 할 수있게했다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hasoya/items/0561bb1481a648aa8e6e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(MeCab의 출력 형식을 정리하여 Pandas로 처리 할 수있게했다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hasoya/items/0561bb1481a648aa8e6e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)