:
from nltk import precision
uzun olarak:
Bu zordur. Sorun, NLTK'nin nasıl paketlendiğinden kaynaklandı. Biz dir(nltk.metrics)
bakarsak, NLTK deneysel bir versiyonunda alignment_error_rate
BTW
>>> import nltk
>>> dir(nltk.metrics)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'alignment_error_rate']
dışındaki bunun içinde bir şey, orada, alignment_error_rate
nltk.translate.metrics
taşındı, https://github.com/nltk/nltk/blob/develop/nltk/translate/metrics.py#L10 bakın. nltk.translate
paketi biraz kararsız çünkü hala geliştirilme aşamasında.
https://github.com/nltk/nltk/blob/develop/nltk/metrics/__init__.py
den geri ölçümlerini paketine dönecek olursak, biz görüyoruz:
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)
temelde, bu ölçütleri paketten fonksiyonları elle kodlanmış ve nltk.metrics.__init__.py
kadar itilmiş demektir. Bu nedenle, içe aktarmalar burada durursa, dir(metrics)
, burada içe aktarılan tüm metrikleri listeleyebilir.
Ama çünkü daha yüksek düzeyde, nltk.__init__.py
https://github.com/nltk/nltk/blob/develop/nltk/__init__.py#L131
de, paketler kullanılarak ithal edildi:
Artık tüm ölçümlerini yapabileceğiniz anlamına üst düzeye ithal edilmiş puanı
from nltk.metrics import *
:
>>> from nltk import precision
>>> from nltk import spearman_correlation
>>> from nltk import NgramAssocMeasures
Ancak, nltk.metrics.__init__.py
'da içe aktarılmayan nltk.metrics
numaralı tüm orta düzey modüller erişebilirsiniz. Ancak, işlevin ilgili dizinde nasıl kaydedildiğiyle doğru ad alanlarını kullanmalısınız./usr/local/lib/python2.7/dist-packages `üzere
>>> 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>
deneyin eklenmesi ve adlandırılmış boş bir dosya' __init __ py'. Bu bir işlev ithal etmek geçerli yollarını
dir(nltk.metrics)
göstermek ama vardır unutmayın/nltk/metrics' böylece python onu bir modül olarak tanımlayabilir. – CyrbilHangi işletim sistemini kullanıyorsunuz? NLTK'yi nasıl kurdunuz (pip veya başka bir şey)? NLTK ve python'un hangi sürümünü kullanıyorsunuz? Nltk'i nasıl ithal ettiniz? 'Nltk.metrics.score import precision' den denediniz mi? – alvas
Önceki yorumumda yazım hatası olduğunu not et, 'nltk.metrics.scores import precision' den denediniz mi? – alvas