:
from nltk import precision
ロングでは:
これはトリッキーです。この問題は、NLTKがどのようにパッケージ化されたかによって発生しました。私たちはdir(nltk.metrics)
を見れば、NLTKの最先端のバージョンでalignment_error_rate
ところで
>>> import nltk
>>> dir(nltk.metrics)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'alignment_error_rate']
以外のその内部の何も、ありません、alignment_error_rate
がnltk.translate.metrics
に移動された、https://github.com/nltk/nltk/blob/develop/nltk/translate/metrics.py#L10を参照してください。 nltk.translate
パッケージはまだ開発中であるため、少し不安定です。
https://github.com/nltk/nltk/blob/develop/nltk/metrics/__init__.py
から、バックメトリックパッケージに行く、我々はこれを参照してください。
from nltk.metrics.scores import (accuracy, precision, recall, f_measure,
log_likelihood, approxrand)
from nltk.metrics.confusionmatrix import ConfusionMatrix
from nltk.metrics.distance import (edit_distance, binary_distance,
jaccard_distance, masi_distance,
interval_distance, custom_distance,
presence, fractional_presence)
from nltk.metrics.paice import Paice
from nltk.metrics.segmentation import windowdiff, ghd, pk
from nltk.metrics.agreement import AnnotationTask
from nltk.metrics.association import (NgramAssocMeasures, BigramAssocMeasures,
TrigramAssocMeasures, ContingencyMeasures)
from nltk.metrics.spearman import (spearman_correlation, ranks_from_sequence,
ranks_from_scores)
は基本的に、これはメトリックパッケージから機能を手動でコード化されたとnltk.metrics.__init__.py
に押し上げられていることを意味します。したがって、インポートがここで停止した場合は、dir(metrics)
に、ここでインポートされたすべてのメトリックがリストされます。
しかし理由は、より高いレベルで、nltk.__init__.py
https://github.com/nltk/nltk/blob/develop/nltk/__init__.py#L131
で、パッケージを使用してインポートされた:
from nltk.metrics import *
は今、すべての指標がスコアあなたが行うことができることを意味し、トップレベルにインポートされました:
>>> from nltk import precision
>>> from nltk import spearman_correlation
>>> from nltk import NgramAssocMeasures
nltk.metrics.__init__.py
にインポートされていないnltk.metrics
にある中間レベルのモジュールにはまだアクセスできます。しかし、関数がそれぞれのディレクトリにどのように保存されるかについては、正しい名前空間を使用する必要があります。これらはdir(nltk.metrics)
に示すが、機能をインポートするための有効な方法がありませんので注意してください:。
>>> from nltk.metrics import spearman
>>> from nltk.metrics import paice
>>> from nltk.metrics import scores
<function precision at 0x7fb584a34938>
>>> scores.precision
>>> spearman.spearman_correlation
<function spearman_correlation at 0x7fb5842b3230>
>>> from nltk.metrics.scores import precision
>>> precision
<function precision at 0x7fb584a34938>
追加してみてくださいと '__init __という名前の空のファイル' /usr/local/lib/python2.7/dist-packagesにpy'/nltk/metrics'を実行するので、pythonはそれをモジュールとしてインポートすることができます。 – Cyrbil
あなたはどのOSを使用していますか?どうやってNLTK(pipなど)をインストールしましたか?どのバージョンのNLTKとPythonを使用していますか?どのようにnltkをインポートしましたか? 'nltk.metrics.score import precision'から試しましたか? – alvas
私の前のコメントのタイプミスに注意してください。あなたは 'nltk.metrics.scores import precision'を試しましたか? – alvas