中国語形態素解析エンジンjieba
jiebaのPython版で使ってみました。
他のプログラミング言語のバージョンもあります。
インストール
$ pip install jieba
テキストセグメンテーション
>>> import jieba
>>> text = "我明天去东京大学上课。早上十点开始。"
#"私は明日東京大学の授業に出ます。朝の十時から。"
jieba.cut
の戻り値はジェネレータ
jieba.lcut
の戻り値はリスト
jieba.cut_for_search
の戻り値はジェネレータ
jieba.lcut_for_search
の戻り値はリスト
Accurate Mode
>>> segments = jieba.cut(text)
>>> list(segments)
['我', '明天', '去', '东京大学', '上课', '。', '早上', '十点', '开始', '。']
>>> segments = jieba.lcut(text)
>>> segments
['我', '明天', '去', '东京大学', '上课', '。', '早上', '十点', '开始', '。']
东京大学がひと単語になっています、いいですね!
Full Mode
cut_all=True
にする。
>>> segments = jieba.cut(text, cut_all=True)
>>> list(segments)
['我', '明天', '去', '东京', '东京大学', '大学', '学上', '上课', '。', '早上', '十点', '开始', '。']
>>> segments = jieba.lcut(text, cut_all=True)
>>> segments
['我', '明天', '去', '东京', '东京大学', '大学', '学上', '上课', '。', '早上', '十点', '开始', '。']
Search Engine Mode
>>> segments = jieba.cut_for_search(text)
>>> list(segments)
['我', '明天', '去', '东京', '大学', '东京大学', '上课', '。', '早上', '十点', '开始', '。']
>>> segments = jieba.lcut_for_search(text)
>>> segments
['我', '明天', '去', '东京', '大学', '东京大学', '上课', '。', '早上', '十点', '开始', '。']
キーワード抽出
>>> import jieba.analyse
>>> text = '''
... 伴随全球化进程不断加速,人类正面临着日益严峻的挑战,能源危机、环境污染、金融环境不稳定以及贫穷等各种问题不断显现在我们面前。应对这些挑战,各类人才需要通力协作,献力献策,共同攻克这些全球化难题。在这种背景下,作为领导型人才的摇篮,东京大学肩负着义不容辞的责任。我们将会以无限的勇气、智慧与责任感迎面直对这些挑战。
... 学贵精专,攀登学术巅峰毋庸置疑成为治学的原动力。对于在治学道路上苦苦求索的年轻学者和广大学生而言,他们不断前进、不断成长的动力源自于获取最精尖知识的一种兴奋感与喜悦感。东京大学不负国民所托,为这些学生、学者提供了成长的乐土,使其更好地造福社会。
... 东京大学创立至今,一直保持着东西方文化相结合的学术观点,不断发展,放眼世界,形成一面独特的旗帜。秉承传统,展望未来,东京大学吸引了各式人才汇聚于此,探索求知,灵变创新,将逐步成为“全球性知识创新与协作的据点”。在东大,国界、文化、年龄的壁垒通通被打破,新领域学术研究超越文理界限,产官学合作在此通力展开。为实现这一目标,首先需要创立卓越性与国际性二者兼备的研究生院,并积极开展跨学科的新学术领域拓展。... 东京大学宪章中规定,东京大学致力于为世界和平与人类福祉作出不朽的贡献。而现代社会正飞速发展,我们需要顺应时代发展的要求,将学术研究赋予新时代的意义。在坚守传统的同时,体制改革亦不可或缺。在深化本科生教育改革的同时,不断推进研究生院的根本变革,使其创造知识价值主体的意义显现出来。此外,亟需推进人事制度的改革创新,大力倡导男女平等,多给年轻人创造学以致用的机会, 并实现兼顾人力资源的流动性与稳定性。 不可忽视的一个问题是,推进上述改革的前提是提升整个社会对科研学术的信赖感,而这种信赖感建立在强化科研道德水准,推动科研成果转化的基础之上。
... 通过不断推陈出新,我们致力于将东京大学发展成为为日本民众所爱戴,乃至为整个世界所爱戴的东京大学。
... '''
テキストは東京大学総長談論中国語版になります。
tf-idf値による抽出
>>> keywords = jieba.analyse.extract_tags(text, topK=20, withWeight=False, allowPOS=())
>>> keywords
['东京大学', '不断', '信赖感', '学术', '挑战', '人才', '治学', '知识', '研究生院', '爱戴', '学术研究', '创新', '推进', '全球化', '改革', '科研', '这些', '致力于', '喜悦感', '创立']
良さそうですね。日本の漢字と少し違いますが、だいたい読めます。
TextRankに基づく抽出
>>> keywords = jieba.analyse.textrank(text, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))
>>> keywords
['成为', '知识', '创新', '学术', '发展', '需要', '改革', '人才', '推进', '科研', '挑战', '实现', '领域', '意义', '社会', '学术研究', '人类', '文化', '治学', '勇气']
その他
他にもたくさんの機能を持っていて、
辞書をいじったり、品詞タグ付けしたり、などの事ができるので、詳しくは公式をみた方が良さそうです。README.mdの前半は中国語ですが、後半は英語訳になっています。
筆者は東京大学と全く関係ありあません。