Win11环境Mecab日语分词和词性分析以及动态库DLL not found问题(Python3.10)

简介: 日语因为存在假名,会导致翻译软件进行翻译时机翻味道过重的问题,比如積ん読(つんどく)这个词,大多数软件会翻译成:堆积的读,但其实是明明买了书却不读,光放着的意思。有时候也需要单独查句子中的单词释义来理解句子的意思,但一看下去全是假名,无法像中文或者英文那样进行简单的分词操作。 本次我们基于Python3.10的三方库Mecab来对日语进行分词和词性分析。

MeCab_top-1024x538.png

日语因为存在假名,会导致翻译软件进行翻译时机翻味道过重的问题,比如積ん読(つんどく)这个词,大多数软件会翻译成:堆积的读,但其实是明明买了书却不读,光放着的意思。有时候也需要单独查句子中的单词释义来理解句子的意思,但一看下去全是假名,无法像中文或者英文那样进行简单的分词操作。

本次我们基于Python3.10的三方库Mecab来对日语进行分词和词性分析。

安装和配置Mecab

首先下载最新的Mecab0.996的64位安装包:

https://github.com/ikegami-yukino/mecab/releases

随后双击进行安装,注意编码选择国标码utf-8:

默认的Shift_JIS是日本电脑系统常用的编码表,能容纳全形及半形拉丁字母、平假名、片假名、符号及日语汉字。

当然如果您的电脑是日本系统,那就选择Shift_JIS,但utf-8是通用的。

安装成功后,最好把bin目录添加到系统的环境变量中。

动态库DLL not found问题

随后安装对应的Python依赖:

pip install mecab-python3

随后导入到Mecab库可能会报DLL not found。

这是因为系统找不到Mecab的运行库libmecab.dll

此时,可以考虑将Mecab安装目录中的bin目录里的libmecab.dll拷贝到系统的C:/windows/system32目录中。

因为在Windows操作系统中,DLL文件是动态链接库文件,其中包含许多可供其他程序调用的功能。如果您想要让一个程序能够使用一个DLL文件,需要确保该DLL文件已经正确地安装到系统目录中,而system32就是Win11系统的动态库安装目录。

言而总之,将DLL文件放到C:\Windows\System32目录下可以让其对其他程序可见,但需要注意用户权限问题。

Mecab日语分词和词性解析

随后编写代码test.py:

import MeCab  

CONTENT = "私はpythonを使用して、プログラミングを勉強しています。積ん読"  

tagger = MeCab.Tagger()  
parse = tagger.parse(CONTENT)  

print(parse)

运行结果:

PS D:\jiyun\积云\boo3_public> python -u "d:\jiyun\积云\boo3_public\mecab_test.py"  
私      ワタクシ        ワタクシ        私-代名詞       代名詞                  0  
は      ワ      ハ      は      助詞-係助詞  
python  python  python  python  名詞-普通名詞-一般                      0  
を      オ      ヲ      を      助詞-格助詞  
使用    シヨー  シヨウ  使用    名詞-普通名詞-サ変可能                  0  
し      シ      スル    為る    動詞-非自立可能 サ行変格        連用形-一般     0  
て      テ      テ      て      助詞-接続助詞  
、                      、      補助記号-読点  
プログラミング  プログラミング  プログラミング  プログラミング-programming      名詞-普通名詞-サ変可能                  4  
を      オ      ヲ      を      助詞-格助詞  
勉強    ベンキョー      ベンキョウ      勉強    名詞-普通名詞-サ変可能                  0  
し      シ      スル    為る    動詞-非自立可能 サ行変格        連用形-一般     0  
て      テ      テ      て      助詞-接続助詞  
い      イ      イル    居る    動詞-非自立可能 上一段-ア行     連用形-一般     0  
ます    マス    マス    ます    助動詞  助動詞-マス     終止形-一般  
。                      。      補助記号-句点  
積ん読  ツンドク        ツンドク        積ん読  名詞-普通名詞-一般

可以看到这里将私はpythonを使用して、プログラミングを勉強しています。積ん読这个完整的日文句子切分成了单词,并且标注了词性,比如前文提到的積ん読这种词。

如果是大型的文本,也能以读文件的方式来进行切分和释义:

import MeCab  

FILE_NAME = "sample.txt"  

with open(FILE_NAME, "r", encoding="utf-8") as f:  
    CONTENT = f.read()  

tagger = MeCab.Tagger()  
parse = tagger.parse(CONTENT)  

print(parse)

注意这里读文件时需要声明编码是utf-8。

程序返回:

私      名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ  
は      助詞,係助詞,*,*,*,*,は,ハ,ワ  
python  名詞,一般,*,*,*,*,*  
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ  
使用    名詞,サ変接続,*,*,*,*,使用,シヨウ,シヨー  
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ  
て      助詞,接続助詞,*,*,*,*,て,テ,テ  
、      記号,読点,*,*,*,*,、,、,、  
プログラミング  名詞,サ変接続,*,*,*,*,プログラミング,プログラミング,プログラミング  
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ  
勉強    名詞,サ変接続,*,*,*,*,勉強,ベンキョウ,ベンキョー  
し      動詞,自立,*,*,サ変・スル,連用形,する,シ,シ  
て      助詞,接続助詞,*,*,*,*,て,テ,テ  
い      動詞,非自立,*,*,一段,連用形,いる,イ,イ  
ます    助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス  
。      記号,句点,*,*,*,*,。,。,。

结语

Mecab最初由奈良先端科学技术大学院大学开发,目前由工藤拓(Taku Kudou)维护,作为Google日语输入项目的一部分。MeCab的名称源自开发者最喜欢的食物“mekabu”(和布蕪),这是一道由裙带菜叶制成的日本菜肴。

MeCab的优势包括准确的分析日语、快速的分析速度以及对不同操作系统的跨平台支持。 MeCab是日语文本处理的重要工具,为日语文本分析和处理提供了强大的支持。

相关文章
|
5月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
360 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
5月前
|
Python
在VScode环境下配置Python环境的方法
经过上述步骤,你的VSCode环境就已经配置好了。请尽情享受这扇你为自己开启的知识之窗。如同你在冒险世界中前行,你的探索之路只有越走越广,你获得的知识只会越来越丰富,你的能力只会越来越强。
524 37
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
1485 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
7月前
|
Java API Docker
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
以上内容是一个简单的实现在Java后端中通过DockerClient操作Docker生成python环境并执行代码,最后销毁的案例全过程,也是实现一个简单的在线编程后端API的完整流程,你可以在此基础上添加额外的辅助功能,比如上传文件、编辑文件、查阅文件、自定义安装等功能。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在线编程实现!如何在Java后端通过DockerClient操作Docker生成python环境
|
9月前
|
Shell Linux Ruby
Python3虚拟环境venv
`venv` 是 Python 的虚拟环境工具,用于为不同项目创建独立的运行环境,避免依赖冲突。通过 `python3 -m venv` 命令创建虚拟环境,并使用 `source bin/activate` 激活。激活后,所有 Python 包将安装在该环境中,不影响系统全局环境。退出环境使用 `deactivate` 命令。每个虚拟环境拥有独立的包集合,确保项目间的隔离性。删除虚拟环境只需删除其目录即可。
650 34
|
9月前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
209 1
|
9月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
585 2
|
9月前
|
Python
探索Python虚拟环境:virtualenv、venv与pipenv比较
在Python开发中,有效的环境管理至关重要。virtualenv、venv和pipenv是常用的虚拟环境管理工具。virtualenv支持Python 2.7+和3.3+,可创建独立环境;venv为Python 3.3+内置库,简单轻量但功能有限;pipenv则结合了包管理和虚拟环境管理,生成Pipfile.lock确保依赖确定性和安全性,推荐作为首选工具。
344 2
|
10月前
|
算法 网络协议 Python
探秘Win11共享文件夹之Python网络通信算法实现
本文探讨了Win11共享文件夹背后的网络通信算法,重点介绍基于TCP的文件传输机制,并提供Python代码示例。Win11共享文件夹利用SMB协议实现局域网内的文件共享,通过TCP协议确保文件传输的完整性和可靠性。服务器端监听客户端连接请求,接收文件请求并分块发送文件内容;客户端则连接服务器、接收数据并保存为本地文件。文中通过Python代码详细展示了这一过程,帮助读者理解并优化文件共享系统。
|
9月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
200 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈

推荐镜像

更多