Pythonで日本語の分かち書き
Pythonを使って、日本語の分かち書きを処理していく。
使うツールは、MeCab
日本語の分かち書きとは
日本語の分かち書きとは、文を語に分解して、それぞれをスペースによって区切る書き方である。
例えば、
“これはペンです。”
これを分かち書きすると
“これ は ペン です 。”
のようになる
日本語の文章は、語が英語のように分かれていない。
this is a pen.
英語の場合、語が、[‘this’, ‘is’, ‘a’, ‘pen’]のようにスペースで区切られている。
一方で、日本語は、
これはペンです。
上のように、スペースなどの区切りがないため、語の判別が困難である。
MeCab+Pythonで、分かち書き
import MeCab
text = "私の名前は、βshortです。ブログを書いています。"
tagger = MeCab.Tagger("-Owakati")
text = tagger.parse (text)
print(text)
#=====出力=======
#私 の 名前 は 、 β short です 。 ブログ を 書い て い ます 。
特定の品詞だけを抽出する
import MeCab
def wakati(text):
tagger = MeCab.Tagger('')
tagger.parse('')
node = tagger.parseToNode(text)
word_list = []
while node:
pos = node.feature.split(",")[0]
#品詞を選択
if pos in ["名詞"]:
word = node.surface
word_list.append(word)
node = node.next
return " ".join(word_list)
text = "私の名前は、βshortです。ブログを書いています。"
print(wakati(text))
#=====出力======
#私 名前 short ブログ
