这是对涂铭等老师撰写的《Python自然语言处理实战:核心技术与算法》中第6章句法分析的学习笔记。
在这里插入图片描述

基于PCFG的中文句法分析实战

#coding=utf-8

# 分词
import jieba

# PCFG句法分析
from nltk.parse import stanford
import os
if __name__ == '__main__':

    string = '明天是晴天'
    seg_list = jieba.cut(string, cut_all=False, HMM=True)
    seg_str = ' '.join(seg_list)

    print(seg_str)
    root = './'
    parser_path = root + 'stanford-parser.jar'
    model_path =  root + 'stanford-parser-4.0.0-models.jar'

    # 指定JDK路径
    if not os.environ.get('JAVA_HOME'):
        # set the JAVA_HOME environment:
        JAVA_HOME = r"D:\JDK\bin\java.exe"
        os.environ.setdefault('JAVA_HOME', JAVA_HOME)


    # PCFG模型路径
    pcfg_path = 'edu/stanford/nlp/models/lexparser/chinesePCFG.ser.gz'

    parser = stanford.StanfordParser(
        path_to_jar=parser_path,
        path_to_models_jar=model_path,
        model_path=pcfg_path
    )

    sentence = parser.raw_parse(seg_str)
    for line in sentence:
        print(line.leaves())
        line.draw()

总结

在这里插入图片描述

Logo

一站式 AI 云服务平台

更多推荐