1. Hanlp の概要
Hanlp は中国語の自然言語処理ツールです。Hanlp は、単語分割、品詞タグ付け、固有表現認識、依存関係構文分析、センチメント分析、テキスト分類などを含む、さまざまな自然言語処理タスクをサポートします。その主な利点は次のとおりです。
- 高い精度率:HanlpはCRFモデル単語分割を採用しており、現時点で非ディープラーニング手法の中で最高の単語分割効果があり、曖昧な単語や未知の単語に対する認識効果が高く、単語分割の精度と速度が効果的に向上します。 。
- 幅広い対応範囲: Hanlp は、単語分割、品詞タグ付け、固有表現認識、依存関係構文分析、センチメント分析、テキスト分類などを含むさまざまな自然言語処理タスクをサポートしており、ほとんどの自然言語処理に対応できます。ニーズ。
- 多言語サポート: Hanlp は中国語、英語、日本語などの複数言語の処理をサポートしており、多言語環境での自然言語処理タスクに適用できます。
- 統合が簡単: Hanlp は豊富な API インターフェイスとすぐに使えるモデルを提供し、Java プロジェクトに簡単に統合でき、Python、Go、C++ などの複数のプログラミング言語の使用をサポートします。
つまり、Hanlp は強力で統合が容易な中国語自然言語処理ツールであり、幅広いアプリケーション シナリオを備えています。
2. 問題の背景
最近、仕事で hanlp パッケージを使用する必要があるので、その道を歩き始めました...
ModuleNotFoundError: 「hanlp」という名前のモジュールがありませんエラー
pip install pyhanlp インストールエラー
3. 解決策
ステップ 1: JPype1 をインストールします。ただし、インストールしてエラーを報告するには、 pip install JPype1 コマンドを使用します。
解決策: Python バージョンに対応する jypel のwhl を見つけて、ダウンロード リンク: https://www.lfd.uci.edu/~gohlke/pythonlibs/
Python バージョンに応じて、対応するインストール パッケージをダウンロードすることを選択します: pip install JPype1-1.2.0-cp36-cp36m-win_amd64.whl
注: インストールするときは、 whl サフィックスも使用する必要があります。
インストールが成功したかどうか (操作が成功したかどうか) を確認します。
import jpype
jvmPath=jpype.getDefaultJVMPath()
print(jvmPath) # D:\jdk\bin\server\jvm.dll
インストールが完了したら、この時点で pip install pyhanlp をインストールしますが、それでもエラーが報告されます。
ステップ 2: ソース コードをコンパイルしてインストールする
公式 Web サイトにアクセスしてソース コード zip をダウンロードし、それを Python パッケージに解凍します。リンクアドレス:mirrors/hankcs/HanLP・GitCode
解凍後、解凍したインストールディレクトリ内にある
D:\python3.6.6\Lib\site-packages\HanLP-doc-zh (これはインストール ディレクトリです) を実行します。
python setup.py install
コンパイルとインストールを開始します。
インストール プロセス中にエラーが報告されます。torch をインストールする必要があります。Python インストール パッケージに移動してダウンロードしてインストールするだけです。
Python インストール パッケージ コレクション: https://www.lfd.uci.edu/~gohlke/pythonlibs/
もう一度実行します: python setup.py install、まだ少し問題がありますが、実行中のコードは次のエラーを報告しなくなりました: ModuleNotFoundError: 'hanlp' という名前のモジュールがありません。
ピットを踏み続け……
ステップ 3: HanLP のインストール
jar 構成ファイル hanlp.jar パッケージとデータをダウンロードします。アドレス: Releases · hankcs/HanLP · GitHub
ダウンロードするには、下の画像をクリックしてください。
ダウンロード後、まず hanlp-1.8.4-release インストール パッケージをローカルに解凍し、名前を hanlp_package (任意に取得) に変更し、data-for-1.7.5.zip で解凍したデータ フォルダーを hanlp_package インストール ディレクトリに置きます。パッケージ。
次に、hanlp.properties 構成ファイルを変更し、内部のデフォルトのパスをローカル パスに変更します。
注: HanLP のパスは「D:\software\hannlp」にあります (パスに中国語を含めないことをお勧めします)
4. HanLP コードのテスト
from jpype import *
startJVM(getDefaultJVMPath(), "-Djava.class.path=D:\software\hannlp\hanlp-1.7.2.jar;D:\software\hannlp",
"-Xms1g",
"-Xmx1g") # 启动JVM,Linux需替换分号;为冒号:
print("=" * 30 + "HanLP分词" + "=" * 30)
HanLP = JClass('com.hankcs.hanlp.HanLP')
# 中文分词
print(HanLP.segment('小明毕业于北京理工大学,后就职与中国科学院大数据研究所。'))
print("-" * 70)
shutdownJVM()
操作結果:
==============================HanLP分词==============================
[小明/nz, 毕业/v, 于/p, 北京理工大学/ntu, ,/w, 后/f, 就职/vi, 与/cc, 中国科学院/nt, 大/a, 数据/n, 研究所/nis, 。/w]
----------------------------------------------------------------------
ただし、現時点ではまだ pyhanlp をインポートできず、プログラムの実行時にエラーが報告されます。pip install pyhanlp をインストールするコマンドを実行しても、依然としてエラーが報告されます。
再起動してから pip install pyhanlp を実行すると、インストールは成功し、解決しました。!!
コードテスト:
from pyhanlp import *
conten_list = HanLP.parseDependency("小明毕业于北京理工大学,后就职与中国科学院大数据研究所。")
print(conten_list)
操作結果:
1 小明 小明 nh nr _ 2 主谓关系 _ _
2 毕业 毕业 v v _ 0 核心关系 _ _
3 于 于 p p _ 2 动补结构 _ _
4 北京理工大学 北京理工大学 ni ntu _ 3 介宾关系 _ _
5 , , wp w _ 2 标点符号 _ _
6 后 后 nd f _ 7 状中结构 _ _
7 就职 就职 v v _ 2 并列关系 _ _
8 与 与 p p _ 11 左附加关系 _ _
9 中国科学院 中国科学院 ni nt _ 10 定中关系 _ _
10 大数据 大数据 n n _ 11 定中关系 _ _
11 研究所 研究所 n n _ 7 并列关系 _ _
12 。 。 wp w _ 2 标点符号 _ _
5. まとめ
要約すると、上記の手順により、pip install pyhanlp インストール エラーまたは ModuleNotFoundError: No module names 'hanlp' エラーの問題を解決できます。