本文整理汇总了Python中nltk.metrics.accuracy方法的典型用法代码示例。如果您正苦于以下问题:Python metrics.accuracy方法的具体用法?Python metrics.accuracy怎么用?Python metrics.accuracy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nltk.metrics
的用法示例。
在下文中一共展示了metrics.accuracy方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: accuracy
# 需要导入模块: from nltk import metrics [as 别名]
# 或者: from nltk.metrics import accuracy [as 别名]
def accuracy(chunker, gold):
"""
Score the accuracy of the chunker against the gold standard.
Strip the chunk information from the gold standard and rechunk it using
the chunker, then compute the accuracy score.
:type chunker: ChunkParserI
:param chunker: The chunker being evaluated.
:type gold: tree
:param gold: The chunk structures to score the chunker on.
:rtype: float
"""
gold_tags = []
test_tags = []
for gold_tree in gold:
test_tree = chunker.parse(gold_tree.flatten())
gold_tags += tree2conlltags(gold_tree)
test_tags += tree2conlltags(test_tree)
# print 'GOLD:', gold_tags[:50]
# print 'TEST:', test_tags[:50]
return _accuracy(gold_tags, test_tags)
# Patched for increased performance by Yoav Goldberg <[email protected]>, 2006-01-13
# -- statistics are evaluated only on demand, instead of at every sentence evaluation
#
# SB: use nltk.metrics for precision/recall scoring?
#
示例2: evaluate
# 需要导入模块: from nltk import metrics [as 别名]
# 或者: from nltk.metrics import accuracy [as 别名]
def evaluate(self, gold):
"""
Score the accuracy of the tagger against the gold standard.
Strip the tags from the gold standard text, retag it using
the tagger, then compute the accuracy score.
:type gold: list(list(tuple(str, str)))
:param gold: The list of tagged sentences to score the tagger on.
:rtype: float
"""
tagged_sents = self.tag_sents(untag(sent) for sent in gold)
gold_tokens = sum(gold, [])
test_tokens = sum(tagged_sents, [])
return accuracy(gold_tokens, test_tokens)
示例3: evaluate
# 需要导入模块: from nltk import metrics [as 别名]
# 或者: from nltk.metrics import accuracy [as 别名]
def evaluate(self, gold):
"""
Score the accuracy of the tagger against the gold standard.
Strip the tags from the gold standard text, retag it using
the tagger, then compute the accuracy score.
:type gold: list(list(tuple(str, str)))
:param gold: The list of tagged sentences to score the tagger on.
:rtype: float
"""
tagged_sents = self.tag_sents(untag(sent) for sent in gold)
gold_tokens = list(chain(*gold))
test_tokens = list(chain(*tagged_sents))
return accuracy(gold_tokens, test_tokens)
示例4: test
# 需要导入模块: from nltk import metrics [as 别名]
# 或者: from nltk.metrics import accuracy [as 别名]
def test(self, test_sequence, verbose=False, **kwargs):
"""
Tests the HiddenMarkovModelTagger instance.
:param test_sequence: a sequence of labeled test instances
:type test_sequence: list(list)
:param verbose: boolean flag indicating whether training should be
verbose or include printed output
:type verbose: bool
"""
def words(sent):
return [word for (word, tag) in sent]
def tags(sent):
return [tag for (word, tag) in sent]
def flatten(seq):
return list(itertools.chain(*seq))
test_sequence = self._transform(test_sequence)
predicted_sequence = list(imap(self._tag, imap(words, test_sequence)))
if verbose:
for test_sent, predicted_sent in izip(test_sequence, predicted_sequence):
print('Test:',
' '.join('%s/%s' % (token, tag)
for (token, tag) in test_sent))
print()
print('Untagged:',
' '.join("%s" % token for (token, tag) in test_sent))
print()
print('HMM-tagged:',
' '.join('%s/%s' % (token, tag)
for (token, tag) in predicted_sent))
print()
print('Entropy:',
self.entropy([(token, None) for
(token, tag) in predicted_sent]))
print()
print('-' * 60)
test_tags = flatten(imap(tags, test_sequence))
predicted_tags = flatten(imap(tags, predicted_sequence))
acc = accuracy(test_tags, predicted_tags)
count = sum(len(sent) for sent in test_sequence)
print('accuracy over %d tokens: %.2f' % (count, acc * 100))