【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.xdnf.cn/news/1552830.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

网络编程套接字TCP

前集回顾 上一篇博客中我们写了一个UDP的echo server,是一个回显服务器:请求是啥,响应就是啥 一个正常的服务器,要做三个事情: 读取请求并解析根据请求,计算响应把响应写回到客户端 DatagramPacket res…

基于大数据的大屏高速公路收费系统的开发设计与实现SpringBoot+vue

目录 1. 需求分析 2. 技术选型 3. 系统架构设计 4. 开发实现 5. 代码示例和效果演示 6. 持续优化 由于我国高速公路的建设和发展与国外先进国家有很大差距。在高速公路建成后,收费系统往往选用国外的成熟产品。虽然这些产品在功能上基本满足了高速公路收费的要…

【AI大模型】深入Transformer架构:编码器部分的实现与解析(上)

目录 🍔 编码器介绍 🍔 掩码张量 2.1 掩码张量介绍 2.2 掩码张量的作用 2.3 生成掩码张量的代码分析 2.4 掩码张量的可视化 2.5 掩码张量总结 🍔 注意力机制 3.1 注意力计算规则的代码分析 3.2 带有mask的输入参数: 3.…

电子竞技信息交流平台+ssm论文源码调试讲解

2系统关键技术 2.1 微信小程序 微信小程序,简称小程序,英文名Mini Program,是一种全新的连接用户与服务的方式,可以快速访问、快速传播,并具有良好的使用体验[1]。 小程序的主要开发语言是JavaScript,它与…

利用PDLP扩展线性规划求解能力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【Maven】依赖管理,Maven仓库,Maven核心功能

Maven 是一个项目管理工具,基于 POM(Project Object Model,项目对象模型)的概念,Maven 可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件 大白话:Maven 是一个项目管理工…

IDEA 2024将Java项目(module)打成JAR包

说明:标题中所说的项目在IDEA中被称为Module(模块),这里实际上是要将IDEA中的建立的Module打成JAR包。 目标:将module打包为JAR文件,随后在另一Module中导入并使用该JAR包。流程:新建chpt03与test两个Module&#xff0…

解决银河麒麟操作系统V10软件包架构不符问题

TOC 💖The Begin💖点点关注,收藏不迷路💖 在银河麒麟桌面操作系统V10中安装软件包时,如果遇到“软件架构与本机架构不符”的提示,可以尝试以下步骤来解决问题: 1. 确认架构一致性 查看本机架构…

小学一年级教材识字表,写字表,笔画名称表,偏旁名称表大全,方便大家学习打印!

前言 本次巧手打字通(一起来打字)小课堂文章主要为大家带来小学一年级语文识字表、写字表、笔画名称表以及偏旁名称表。这份资料不仅涵盖了一年级语文课程中必须掌握的核心字词,还列出教程里的笔画名称表,旨在帮助孩子们在识字的…

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

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

使用OneAPI+Ollama+Dify搭建一个兼容OpenAI的API发布及AI应用开发系统(二)客户端设置

这一编我们介绍Ollama客户端的设置,那么客户端在这里指的就是你放在家里的Ollama服务器,通过与VPS里安装的OneAPI配合,从而实现了为Ollama生成API访问的服务,并为后端服务器提供安全保障。 一:安装客户端软件 客户端…

【Linux】进程优先级、调度、命令行参数:从理论到实践(二)

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 🚀 前言一: 🔥 进程优先级 🍵 基本概念🍵 查看系统进程🍵 PRI and NI🍵 PRI vs NI🍵 用to…

【数据管理】数据脱敏解决方案(word原件)

1 概述 1.1 数据脱敏定义 1.2 数据脱敏原则 1.2.1基本原则 1.2.2技术原则 1.2.3管理原则 1.3 数据脱敏常用方法 3.1.1泛化技术 3.1.2抑制技术 3.1.3扰乱技术 3.1.4有损技术 1.4 数据脱敏全生命周期 2 制定数据脱敏规程 3 发现敏感数据 4 定义脱敏规则 5 执…

本科生已不够 AI公司雇佣各领域专家训练大模型

9月29日消息,人工智能模型的性能在很大程度上依赖于其训练数据的质量。传统方法通常是雇用大量低成本劳动力对图像、文本等数据进行标注,以满足模型训练的基本需求。然而,这种方式容易导致模型在理解和生成信息时出现“幻觉”现象&#xff0c…

<<迷雾>> 第5章 从逻辑学到逻辑电路(5)--异或门 示例电路

!ABA!B 的逻辑电路组成 info::操作说明 鼠标单击开关切换开合状态 注: 这个实际就是 异或门, 当两个输入相异时输出高电平, 否则输出低电平 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyj…

读数据湖仓04数据架构与数据工程

1. 大容量存储器 1.1. 几乎是到最后时刻,大容量存储器才被引入基础数据的基础设施中 1.1.1. 分析人员通常不会直接在大容量存储器中进行数据分析 1.1.2. 大容量存储器在基础数据中扮演的角色也特别重要,它能够在许多方面支持数据分析人员自由灵活地完成…

从零开始搭建UVM平台(七)-加入monitor

书接上回: 从零开始搭建UVM平台(一)-只有uvm_driver的验证平台 从零开始搭建UVM平台(二)-加入factory机制 从零开始搭建UVM平台(三)-加入objection机制 从零开始搭建UVM平台(四&…

Github 2024-10-02C开源项目日报 Top9

根据Github Trendings的统计,今日(2024-10-02统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目9BitBake项目1Netdata: 开源实时监控平台 创建周期:4020 天开发语言:C协议类型:GNU General Public License v3.0Star数量:68982 个For…

JAVA开源项目 周边产品销售网站 计算机毕业设计

本文项目编号 T 061 ,文末自助获取源码 \color{red}{T061,文末自助获取源码} T061,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

【算法】0/1背包问题

背包中有一些物品,每件物品有它的价值与重量,给定一个重量,在该重量范围内取物品(每件物品不可重复取),求最大价值。 将需求转化为表格,每一行中的每个格子代表可选哪些下标的物品在总重量限额内…