本文整理汇总了Python中dragnn.python.evaluation.segmentation_summaries方法的典型用法代码示例。如果您正苦于以下问题:Python evaluation.segmentation_summaries方法的具体用法?Python evaluation.segmentation_summaries怎么用?Python evaluation.segmentation_summaries使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dragnn.python.evaluation
的用法示例。
在下文中一共展示了evaluation.segmentation_summaries方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testCalculateSegmentationMetrics
# 需要导入模块: from dragnn.python import evaluation [as 别名]
# 或者: from dragnn.python.evaluation import segmentation_summaries [as 别名]
def testCalculateSegmentationMetrics(self):
self._gold_corpus = []
self._test_corpus = []
def add_sentence_for_segment_eval(starts, ends, corpus):
"""Adds a sentence to the corpus."""
sentence = sentence_pb2.Sentence()
for start, end in zip(starts, ends):
sentence.token.add(word='x', start=start, end=end)
corpus.append(sentence.SerializeToString())
# A test case with 5 gold words, 4 test words and 3 are correct.
# -gold tokens: 'This is a gold sentence'
# -test tokens: 'Thisis a gold sentence'
add_sentence_for_segment_eval(
[0, 5, 8, 10, 15], [3, 6, 8, 13, 22], self._gold_corpus)
add_sentence_for_segment_eval(
[0, 8, 10, 15], [6, 8, 13, 22], self._test_corpus)
# Another test case with 3 gold words, 5 test words and 2 correct words.
# -gold tokens: 'another gold sentence'
# -test tokens: 'another gold sen tence'
add_sentence_for_segment_eval([0, 8, 13], [6, 11, 20], self._gold_corpus)
add_sentence_for_segment_eval([0, 8, 13, 17, 21], [6, 11, 15, 19, 22],
self._test_corpus)
prec, rec, f1 = evaluation.calculate_segmentation_metrics(self._gold_corpus,
self._test_corpus)
self.assertEqual(55.56, prec)
self.assertEqual(62.50, rec)
self.assertEqual(58.82, f1)
summaries = evaluation.segmentation_summaries(self._gold_corpus,
self._test_corpus)
self.assertEqual({
'precision': 55.56,
'recall': 62.50,
'f1': 58.82,
'eval_metric': 58.82
}, summaries)