Python使用pynlpir进行中文分词并保留段落信息

 更新时间:2024年03月01日 09:54:13   作者:PythonFun  
nlpir是由张华平博士开发的中文自然处理工具,可以对中文文本进行分词、聚类分析等,本文主要介绍了使用pynlpir进行中文分词并保留段落信息的具体方法,希望对大家有所帮助

一、引言

nlpir是由张华平博士开发的中文自然处理工具,可以对中文文本进行分词、聚类分析等,它既有在线的中文数据大数据语义智能分析平台,也有相关的python包pynlpir,其github的地址是:

Pynlpir在Github上的地址

这个包的使用是免费的,但是授权文件需要每个月更新一次。

二、利用pynlpir进行分词

1.安装模块

首先要安装这个模块,安装方法是在cmd命令行下输入:

pip install pynlpir

2. 更新授权

安装后还可能需要更新一下授权

pynlpir update

3. 开始批量分词

1)基础分词

import pynlpir
pynlpir.open()
s = '欢迎科研人员、技术工程师、企事业单位与个人参与NLPIR平台的建设工作。'
segs = pynlpir.segment(s)
for seg in segs:
    print(seg)

显示结果:

基本使用方法

2)批量分词

主要是采用os模块批量读取当前目录下的txt文件,然后分别按段落读取、分词、标注。词与标注信息之前中【_】来连接,两个词之间用【|】,段落之间加入换行符号,然后写入到【seg_】开头的txt文件里。这里,我们采用的是英文的标注信息,每个文件标注完成后会生成新的文件,最终代码如下:

import pynlpir
import os
 
# 初始化分词库
pynlpir.open ()
 
# 进行分词操作
txts = [file for file in os.listdir(".") if file.endswith(".txt")]
 
for txt in txts:
    with open(txt,"r",encoding="utf-8") as f:
        lines = [line.strip() for line in f.readlines()]
        for line in lines:
            segments = pynlpir.segment (line, pos_tagging=True,pos_english=True)
            with open("segged_"+os.path.basename(txt),"a+",encoding="utf-8") as fi:
                for segment in segments:
                    try:
                        fi.write(str(segment[0])+"_"+str(segment[1])+"|")
                    except Exception as exc:
                        print(exc,segment)
                fi.write("\n")
 
# 关闭分词库
pynlpir.close ()

4. 分词效果展示

经过分词和标注后的文件截图展示如下,可以看到很好地保留了段落的信息,这为后面进行词性统计也做好了准备。后期,可以根据nlpir的标注集,对于所有文本中的词性进行统计分析。

三、学后反思

pynlpir这个包分词速度还是很快的,但是使用起来有一定的难度。更新license时可以去github上下载,或者本地使用代理下载。

导入自定义字典时,注意字典编码要转化为ANSI编码,否则可能会报错。

批量分词时,注意文件的路径最好不要有中文,否则也可能无法顺利分词。

如果是在Linux上更新Lincense的话,为了保险起见,可以先去github上下载,再进行上传,以确保万无一失。

到此这篇关于Python使用pynlpir进行中文分词并保留段落信息的文章就介绍到这了,更多相关Python pynlpir中文分词内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在TensorFlow中屏蔽warning的方式

    在TensorFlow中屏蔽warning的方式

    今天小编就为大家分享一篇在TensorFlow中屏蔽warning的方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)

    Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)

    这篇文章主要介绍了Python在centos7.6上安装python3.9(默认python版本为2.7.5)的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-10-10
  • pyqt5实现登录界面的模板

    pyqt5实现登录界面的模板

    这篇文章主要为大家详细介绍了pyqt5登录界面的实现模板,通过登录界面打开主界面的实现方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Python win32com库的使用示例

    Python win32com库的使用示例

    win32com是Python中用于操作WindowsCOM组件的一个强大库,它允许Python程序与Windows应用程序进行交互,具有一定的参考价值,感兴趣的可以了解一下
    2025-10-10
  • python3.0 模拟用户登录,三次错误锁定的实例

    python3.0 模拟用户登录,三次错误锁定的实例

    下面小编就为大家带来一篇python3.0 模拟用户登录,三次错误锁定的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Python实现爬虫从网络上下载文档的实例代码

    Python实现爬虫从网络上下载文档的实例代码

    小编最近在研究python,接触到了爬虫,本文给大家带来了Python实现爬虫从网络上下载文档的知识。下面小编把具体实例代码分享到脚本之家平台,感兴趣的朋友参考下吧
    2018-06-06
  • 使用Python打造跨年倒计时时钟并实现烟花特效与整点报时

    使用Python打造跨年倒计时时钟并实现烟花特效与整点报时

    跨年的仪式感,从一款专属倒计时时钟开始~ 今天给大家分享一款我亲手开发的Python跨年报时程序,不仅有精美的模拟时钟界面,还有跨年前1分钟自动触发的烟花特效、整点/半点报时功能,需要的朋友可以参考下
    2025-12-12
  • Python实现文件快速定位的十种方法

    Python实现文件快速定位的十种方法

    在处理文件和目录时,Python提供了强大的内置模块和函数,让文件定位变得轻松快捷,下面,我们将一步步探索这些方法,从基础到进阶,让你成为文件定位的高手,需要的朋友可以参考下
    2026-02-02
  • 用Python实现一个简单的抽奖小程序

    用Python实现一个简单的抽奖小程序

    最近开始学习python相关知识,看最近有不少随机抽奖小程序,自己也做一个试试,下面这篇文章主要给大家介绍了关于如何利用Python实现一个简单的抽奖小程序的相关资料,需要的朋友可以参考下
    2023-05-05
  • python实现感知器算法(批处理)

    python实现感知器算法(批处理)

    这篇文章主要为大家详细介绍了python实现感知器算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01

最新评论