Pythonのfoolnltkライブラリで中国語NERを実現

目標

中国語テキストの実体命名認識 NER (Named Entity Recognition)


Pythonはfoolnltkライブラリをインストールします

最初のステップは、foolnltk ライブラリをインストールすることです!pip install foolnltk

このコード行をコンソール ビューに直接入力します。

!pip install foolnltk

2 番目のステップでは、fool モジュールを呼び出します。import fool

import fool

**

次に問題が発生しました
—ModuleNotFoundError: 'tensorflow.contrib' という名前のモジュールがありません

**
ここに画像の説明を挿入問題分析: tensorflow.contrib は tensorflow1.0 に組み込まれており、tensorflow は現在バージョン 2.0 であり、tensorflow2.0 の contrib は非推奨です。
tensorflow のダウングレードを検討し、古いバージョンの tensorflow のインストールを試みることができます。

!pip install tensorflow==1.14.0

一部のコンピュータ実験環境では、グラフィックス カードの CUDA アクセラレーションなどがある場合、tensorflow のダウングレードには適していないため、tensorflow2.0 バージョンで tensorflow1.0 パッケージを使用する方法をいくつか紹介します。
解決策:No module named 'tensorflow.xxx'同様のエラーが発生した場合は、まずコード ファイルの先頭にある import ステートメントを確認します。ここでは、エラー メッセージに従って model.py ファイルを開き

import tensorflow as tf

に変更されました

import tensorflow.compat.v1 as tf
tf.compat.v1.disable_eager_execution()

バンドル

from tensorflow.contrib.crf import viterbi_decode

に変更されました

from tensorflow_addons.text.crf import viterbi_decode
需要先安装tensorflow_addons库,直接在consolo视图输入 !pip install tensorflow_addons

変更したmodel.pyファイルを保存すると、import foolfoolモジュールを再度正常にインポートできるようになります。
注:predictor.py ファイルにも同じ問題がある可能性があり、方法は上記と同じです。

NER を達成するには、fool.analysis() 関数を呼び出します。

import fool
text='''我24小时为您服务,您3秒给我点个赞+关注+收藏。--作于2022年五月五日晚九点四十五分'''
word,ner=fool.analysis(text)
print(word)
print(ner)

演算結果

1 行目は単語分割の結果、2 行目は NER の結果です。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_43483899/article/details/124597442