初投稿です。
卒業研究するうえで文章を分かち書きする必要があったのですがpyknpには分かち書きする機能が無く、資料もほとんどなかったので書いてみました。以下の環境が構築済みである必要があります。
###開発環境
- centOS
- Python3.x
- Juman
- Juman++
- KNP
- pyKNP
##サンプルコード
単純に分かち書きするだけのコードです。
wakati.py
from pyknp import Jumanpp
def main():
text = "これはサンプルです"
#テキストを解析
juman = Jumanpp()
analysis = juman.analysis(text)
result = ""
#形態素が格納されているmrph_list()から見出し(midasi)を出力
for m in analysis.mrph_list():
#取得した各形態素の間に空白を入れる
result += str(m.midasi) +" "
print(result)
if __name__ == "__main__":
main()
###実行結果
$ python3 wakati.py
これ は サンプル です
無事分かち書きされました。
##MeCabとの比較
適当に選んだニュース記事で比較
#pyknpの分かち書き
企業 の 求人 、 学生 の 求職 が 様変わり して いる 。 学生 側 から 企業 に アプローチ して いた の が 、 企業 側 から 学生 に 接近 する 「 逆 求人 」 が 広がって いる のだ 。
#mecabの分かち書き
企業 の 求人 、 学生 の 求職 が 様変わり し て いる 。 学生 側 から 企業 に アプローチ し て い た の が 、 企業 側 から 学生 に 接近 する 「 逆 求人 」 が 広がっ て いる の だ 。
ほぼ同じですが微妙に違いが出ていますね