【Python】探索自然语言处理的利器:THULAC 中文词法分析库详解

在这里插入图片描述

THULAC(THU Lexical Analyzer for Chinese)是清华大学开发的一款中文词法分析工具,集成了分词和词性标注两大功能。THULAC 拥有强大的分词能力和高效的词性标注,适用于多种中文文本处理场景。该工具能够在保证高准确率的同时保持较快的处理速度,非常适合大规模中文数据处理。

在这里插入图片描述
华丽的分割线

⭕️宇宙起点

    • 🔨 THULAC 的特点
    • 📦 安装与配置
      • 1. 使用 pip 安装
      • 2. 使用 GitHub 源码安装
    • ♨️ 使用方法
      • 1. 分词与词性标注
      • 2. 只进行分词(无词性标注)
      • 3. 使用自定义词典
      • 4. 参数详解
      • 5. 文件分词与命令行使用
        • 命令行方式
    • 🚩 性能评测与对比
    • 🧱 典型应用场景
    • 📥 下载地址
    • 💬 结语
    • 📒 参考文献


标题1

🔨 THULAC 的特点

  1. 准确率高:在标准数据集(如 CTB5)上,分词 F1 值可达 97.3%,词性标注 F1 值为 92.9%。
  2. 处理速度快:同时进行分词和词性标注的速度为 300KB/s,只进行分词速度可达 1.3MB/s。
  3. 多种功能:支持分词、词性标注、文件分词、自定义词典、简繁转换等。

标题2

📦 安装与配置

1. 使用 pip 安装

直接通过 pip 安装:

pip install thulac

安装完成后,即可通过 import thulac 在 Python 中使用该工具。

2. 使用 GitHub 源码安装

可以通过 GitHub 下载源代码,并手动配置模型文件。安装步骤如下:

  1. 克隆 GitHub 仓库:
    git clone https://github.com/thunlp/THULAC-Python.git
    
  2. 下载模型文件,并将其放入 thulac/models 目录下。
  3. 安装依赖并测试。

标题3

♨️ 使用方法

THULAC 提供了分词和词性标注两种主要操作模式,并且可以通过不同参数进行自定义配置。

1. 分词与词性标注

以下是基本的使用方式:

import thulac# 默认模式:同时进行分词和词性标注
thu1 = thulac.thulac()
text = thu1.cut("我爱北京天安门", text=True)
print(text)  # 输出:我_r 爱_v 北京_ns 天安门_ns

2. 只进行分词(无词性标注)

# seg_only 模式:只进行分词,不进行词性标注
thu2 = thulac.thulac(seg_only=True)
text = thu2.cut("我爱北京天安门", text=True)
print(text)  # 输出:我 爱 北京 天安门

3. 使用自定义词典

用户可以通过传递 user_dict 参数使用自定义词典,从而增强特定领域的分词效果:

thu3 = thulac.thulac(user_dict="custom_dict.txt")

4. 参数详解

THULAC 的初始化支持多种参数,以适应不同的使用场景:

  • user_dict:指定用户词典的路径,提升分词精准度。
  • seg_only:默认为 False,设置为 True 时仅进行分词操作,不进行词性标注。
  • T2S:默认为 False,是否将繁体字转换为简体字。
  • model_path:模型文件路径,可自定义模型位置。
  • filt:是否过滤掉冗余词汇(如“可以”、“的”)。

5. 文件分词与命令行使用

THULAC 支持对文本文件进行批量分词处理,并输出结果到指定文件:

# 文件分词:读取 input.txt 并将结果输出到 output.txt
thu1.cut_f("input.txt", "output.txt")
命令行方式

可以使用命令行直接调用 THULAC 来进行文件处理:

python -m thulac input.txt output.txt

如果只需要分词功能,可以加上 seg_only 参数:

python -m thulac input.txt output.txt seg_only

标题4

🚩 性能评测与对比

THULAC 在多种数据集上均表现出色。在 PKU 测试集上,与 LTP、ICTCLAS、结巴分词等工具相比,THULAC 的分词准确率和处理速度均表现优异:

数据集分词工具时间 (s)准确率召回率
msr_testLTP3.210.8670.896
pku_testTHULAC0.510.9440.908
pku_testjieba0.230.8500.784

标题5

🧱 典型应用场景

THULAC 适用于以下几种场景:

  • 大规模中文文本分析:如新闻语料、社交媒体文本的分词与词性标注。
  • 搜索引擎与推荐系统:通过分词获取关键字,提升搜索与推荐精度。
  • 自然语言理解:进行中文分词和词性标注后,可用于实体识别、情感分析等高级任务。

标题6

📥 下载地址


THULAC 最新版 下载地址


标题7

💬 结语

THULAC 是一个高效、易用的中文词法分析工具,尤其在大规模数据处理时具有显著优势。它能够以较高的准确率进行分词和词性标注,并支持自定义词典、简繁转换等多种高级功能,非常适合中文 NLP 研究人员和开发者使用。


标题8

📒 参考文献

  • THULAC 官网
  • THULAC GitHub仓库

TheEnd


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/436974.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-系分(5)

目录 计算机网络 DNS解析 DHCP动态主机配置协议 网络规划与设计 层次化网络设计 网络冗余设计 综合布线系统 1. 双栈技术 2. 隧道技术 3. 协议转换技术 其他网络技术 DAS(Direct Attached Storage,直连存储) NAS(Net…

应用于人形手机器人超小型HarmonicDrive哈默纳科减速机

人形手机器人需要高度的精准性和灵活性以完成各种复杂的任务。减速机的应用,为其提供了关键的动力传输和运动控制支持,它能够将电机的高速旋转转换为适合人形手机器人动作的低速高扭矩输出,确保机器人的动作平稳、准确。HarmonicDrive哈默纳科…

HTML粉色烟花秀

目录 系列文章 写在前面 完整代码 下载代码 代码分析 写在最后 系列文章 序号目录1HTML满屏跳动的爱心(可写字)2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4

cocos打包后发布web,控制台报错.plist资源下载404

web加载报错 download failed: assets/main/native/0a/0a1a5e41-7d91-4a5d-9552-2c10e5fc5867.plist, status: 404, 应该是MIME属性没有设置允许下载.plist后缀的文件。 对于linux应该改nginx或apache,允许下载该类文件。 我部署在了windows服务器上&am…

基于element+vue,结合el-select,自定义内置筛选框的下拉框组件

基于elementvue&#xff0c;结合el-select&#xff0c;自定义内置筛选框的下拉框组件 效果如下&#xff1a; 代码如下&#xff1a; <template><div class"m-t50 m-l50"><el-select class"phoneAreaCodeSelect" popper-class"selec…

设计模式之门面(Facade)模式

前言 在组建构建过程中&#xff0c;某些接口之间直接的依赖常常会带来很多问题、甚至跟本无法实现。采用添加一层&#xff08;间接&#xff09;稳定接口&#xff0c;来隔离本来互相紧密关联的接口是一种常见的解决方案 定义 “接口隔离” 模式。为子系统中的一组接口提供一个一…

在掌控板中加载人教版信息科技教学指南中的educore库

掌控板中加载educore库 人教信息科技数字资源平台&#xff08;https://ebook.mypep.cn/free&#xff09;中的《信息科技教学指南硬件编程代码说明》文件中提到“本程序说明主要供教学参考。需要可编程主控板须支持运行MicroPython 脚本程序。希望有更多的主控板在固件中支持ed…

【测试类文档整理】软件项目测试方案(word)

1. 引言 1.1. 编写目的 1.2. 项目背景 1.3. 读者对象 1.4. 参考资料 1.5. 术语与缩略语 2. 测试策略 2.1. 测试完成标准 2.2. 测试类型 2.2.1. 功能测试 2.2.2. 性能测试 2.2.3. 安全性与访问控制测试 2.3. 测试工具 3. 测试技术 4. 测试资源 4.1. 人员安排 4.…

【华为HCIP实战课程一】OSPF相关基础介绍及基础配置,网络工程师必修

一、OSPF介绍 开放式最短路径优先协议OSPF(Open Shortest Path First),IPv4使用的OSPFv2,针对IPv6使用OSPFv3协议。 二、为什么需要OSPF OSPF出现之前,网络广泛使用RIP路由协议,RIP由于最大16跳数限制无法适应大型网络,RIP是基于距离矢量算法的路由协议,应用在大型网…

你以为瀑布流布局很复杂?Vue-Waterfall让你秒变前端高手

你以为瀑布流布局很复杂&#xff1f;Vue-Waterfall让你秒变前端高手 Vue-Waterfall 是一个轻量级的 Vue.js 组件&#xff0c;专为实现灵活的瀑布流布局设计。如果你需要在页面上呈现动态、响应式的布局&#xff0c;那这个组件绝对能帮到你&#xff01;本文将带你快速了解这个组…

开源模型应用落地-模型微调-语料采集-数据核验(三)

一、前言 在自然语言处理(NLP)的快速发展中,语料采集作为基础性的步骤显得尤为重要。它不仅为机器学习模型提供了所需的训练数据,还直接影响模型的性能和泛化能力。随着数据驱动技术的不断进步,如何有效并高效地收集、清洗和整理丰富多样的语料,已成为研究者和工程师们亟…

.Net 基于IIS部署blazor webassembly或WebApi

1.安装IIS(若安装&#xff0c;请忽略) 选择:控制面板–>程序–>程序和功能 选择:启动或关闭Windows功能&#xff0c;勾选相关项&#xff0c;再点击确定即可。 2.安装Hosting Bundle 以.net6为例&#xff0c;点击连接https://dotnet.microsoft.com/en-us/download/dot…

★ C++进阶篇 ★ map和set

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将继续和大家一起学习C进阶篇第四章----map和set ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 C基础篇专栏&#xff1a;★ C基础篇 ★_椎名澄嵐的博客-CSDN博…

scrapy 爬取微博(五)【最新超详细解析】: 爬取微博文章

1 读取配置参数 爬取微博文章首先需要读取settings.py中的设置的配置变量&#xff0c;然后编写爬虫&#xff0c;读取的配置变量主要有爬取的关键词、时间范围、爬取区域等。 class WeiboSearchSpider(scrapy.Spider):name weibo_searchallowed_domains [weibo.com]settings…

Windows 环境下 MySQL5.5 安装与配置详解

Windows 环境下 MySQL5.5 安装与配置详解 目录 Windows 环境下 MySQL5.5 安装与配置详解一、MySQL 软件的下载二、安装 MySQL三、配置 MySQL1、配置环境变量2、安装并启动 MySQL 服务3、设置 MySQL 字符集4、为 root 用户设置登录密码 一、MySQL 软件的下载 1、登录网址&#…

基于Springboot+Vue的《计算机基础》网上考试系统(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

github项目--crawl4ai

github项目--crawl4ai 输出html输出markdown格式输出结构化数据与BeautifulSoup的对比 crawl4ai github上这个项目&#xff0c;没记错的话&#xff0c;昨天涨了3000多的star&#xff0c;今天又新增2000star。一款抓取和解析工具&#xff0c;简单写个demo感受下 这里我们使用cra…

ThreadLocal内存泄漏分析

一、ThreadLocal内存泄漏分析 1.1 ThreadLocal实现原理 1.1.1、set(T value)方法 查看ThreadLocal源码的 set(T value)方法&#xff0c;可以发现数据是存在了ThreadLocalMap的静态内部类Entry里面 其中key为使用弱引用的ThreadLocal实例&#xff0c;value为set传入的值。核…

031集——文本文件按空格分行——C#学习笔记

如下图&#xff0c;读取每行文本&#xff0c;每行文本再按空格分开读取一个字符串&#xff0c;输出到另一个文本&#xff1a; CAD环境下&#xff0c;代码如下&#xff1a; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; using System; using Sys…

deepin 无线网络搜不到信号

搜索不到wifi信号和无法连接wifi&#xff0d;论坛&#xff0d;深度科技 (deepin.org)https://bbs.deepin.org/zh/post/218198