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

news2024/10/2 10:34:28

在这里插入图片描述

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.coloradmin.cn/o/2184225.html

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

相关文章

修复OpenSSH远程代码执行漏洞:版本升级到9.9p1

目录 前言1. 备份配置文件2. 下载 OpenSSH 最新版本3. 编译安装 OpenSSH4. 替换旧版 OpenSSH 并创建符号链接5. 重启 SSH 服务6. 验证安装结果结语参考文章 前言 OpenSSH 是一种广泛使用的远程登录协议,它确保了服务器和客户端之间的安全通信。然而,随着…

Linux驱动开发(速记版)--设备树

第五十二章 初识设备树 52.1 设备树介绍 设备树(Device Tree)是嵌入式系统和Linux内核中用于描述硬件的一种机制。 设备树概述 目的:描述硬件设备的特性、连接关系和配置信息。 优势:与平台无关,提高系统可移植性和可…

【linux进程】进程优先级命令行参数环境变量

目录 一,进程切换二,进程优先级1. 什么是优先级2. 权限 vs 优先级3. 为什么要有优先级4. 优先级的查看方式 三,命令行参数1. 什么是命令行参数2. 为什么要有命令行参数3. 是谁做的 四,环境变量1. 基本概念2. 常见环境变量3. 查看环…

电商店铺多开自动回复软件

在电商平台上开设多个店铺,即店铺多开,是一种扩展业务和增加销售额的策略。然而,店铺多开需要谨慎规划和执行,以避免违反平台规定和管理上的混乱。以下是如何实现店铺多开的详细步骤和注意事项。 1. 确定多开目标 在决定多开店铺…

[云] Getting Started with Kubernetes - Environment setup 环境配置

启动一个 EC2 实例, 请按照以下步骤操作: 登录 AWS 控制台: 打开浏览器,访问 AWS Management Console 并登录到您的账户。 选择 EC2 服务: 在 AWS 控制台的“服务”菜单中找到并点击“EC2”进入 EC2 Dashboard。 启…

Spark SQL分析层优化

导读:本期是《深入浅出Apache Spark》系列分享的第四期分享,第一期分享了Spark core的概念、原理和架构,第二期分享了Spark SQL的概念和原理,第三期则为Spark SQL解析层的原理和优化案例。本次分享内容主要是Spark SQL分析层的原理…

国内车牌号检测数据集 7800张 车牌识别 带标注 voc yolo

车牌号检测数据集 7800张 车牌识别 带标注 voc yolo 车牌号码检测数据集 名称 车牌号码检测数据集 (License Plate Detection Dataset) 规模 图像数量:7800张图像。类别:无分类,主要针对车牌区域的定位。标注个数:10,000多个标…

Windows 11 的 24H2 更新將帶來全新 Copilot+ AI PC 功能

10 月起率先向 Insider 推出。 微軟今日宣布 Windows 11 的 24H2 更新將從 10 月起陸續開放給不同用戶,其中將包括多項全新 Copilot AI PC 功能。首先是回爐重造的 Recall 回顧,官方在聽取社群意見後對安全性做了進一步加強。現在用戶可以自己選擇是否保…

从小IPD到大IPD

IPD体系实施或变革是一个长期的系统工程,需要坚持“总体规划、分步实施”的原则,业界经常有从“小IPD”到“大IPD”的说法。 像华为当年就是从“产品开发流程”开始推行,就是小范围的“小IPD”,后面逐步扩大为“大IPD”&#xff0…

Ubuntu22.04之mpv播放器高频快捷键(二百七十)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

两个向量所在平面的法线,外积,叉积,行列式

偶尔在一个数学题里面看到求两向量所在平面的法线,常规方法可以通过法线与两向量垂直这一特点,列两个方程求解;另外一种方法可以通过求解两个向量的叉积,用矩阵行列式 (determinant) 的方式,之前还没见过,在…

正则表达式调试工具实战

正则表达式调试工具实战 1、新建工程QWidget工程工程名RegexTool 如果QT不会配置,请参考我的博客,QT配置 Widget.cpp 默认内容如下 2、主界面设计 三行两列,每行采用HBoxLayout作为行布局控件,内部一个Lable控件和一个TextEdit控件,采用VBoxLayout 控件包裹三个HBoxLa…

JWT | JWT 漏洞介绍

关注这个漏洞的其他相关笔记:JWT 漏洞 - 学习手册-CSDN博客 0x01:JWT 漏洞介绍 JWT(Json Web Token)是用于在网络应用环境间传递声明的一种基于 JSON 的开放标准。它通过使用 JSON 对象进行安全的信息传输,可以用于身…

ChatGPT实时语音将于本周向免费用户推出:OpenAI DevDay 2024详细解读

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普,AI工…

激活函数ReLU,Sigmoid,tanh,softmax性质讲解及使用matplotlib绘制

Sigmoid及tanh sigmoid及tanh的函数图像较为相似,它们的公式如下 Sigmoid公式 tanh公式 Sigmoid及tanh性质解析 Sigmoid和tanh作为激活函数都可以有效完成非线性映射的功效,其中Sigmoid经常作为2分类的神经网络的输出层的激活函数,由于其非线性映射会将输出值转换到0-1的区间…

心觉:潜意识开发为何失败?99%的人卡在理性与感性学习的误区

Hi,我是心觉,与你一起玩转潜意识、脑波音乐和吸引力法则,轻松掌控自己的人生! 挑战每日一省写作187/1000天 小时候看武侠剧的时候,经常看到剧中有武林高手把绝世武功传给某个涉世未深的铁憨憨主角,比如《天…

四、Drf认证组件

四、Drf认证组件 4.1 快速使用 from django.shortcuts import render,HttpResponse from rest_framework.response import Response from rest_framework.views import APIView from rest_framework.authentication import BaseAuthentication from rest_framework.exception…

win11 升级报 0x80073713 错误

安装错误 - 0x80073713 通常是由于系统文件损坏或 Windows Update 组件异常引起的。‌ 这个问题可能阻止您的系统正常接收和安装更新,影响系统的稳定性和安全性。 可以尝试如下如下方法: 首先,您可以尝试使用命令提示符运行系统文件检查器…

资源《Arduino 扩展板2-矩阵按钮 》说明。

资源链接: Arduino 扩展板2-矩阵按钮 1.文件明细 2.文件内容说明 包含:AD工程、原理图、PCB。 3.内容展示 4.简述 该文件为PCB工程,采用AD做的。 该文件打板后配合Arduino使用,属于Arduino的扩展板。 该文件主要有16个按钮…

wgan的实现的伪代码,和原理,dcgan,模型坍塌 em距离 js kl散

原文地址 https://blog.csdn.net/Keep_Trying_Go/article/details/130471766 伪代码详细看这个, 特别注意点:gan(xnosize) 生成器 是 输入噪声 ,而不是全部噪声生成的 特别注意点:gan(xnosize) 生成器 是 输入噪声 &#…