def test_role_tag(self): word_seg_list = [ new_tag_vertex(TAG_BIGIN), Vertex(u"秦", attribute=Attribute(u'n 1')), Vertex(u"光荣", attribute=Attribute(u'n 1')), Vertex(u"同志", attribute=Attribute(u'n 1')), new_tag_vertex(TAG_END), ] taglist = role_tag(word_seg_list) self.assertTrue(isinstance(taglist, list)) self.assertEqual(taglist[2].to_tuple(), (NR.Z, 29, NR.L, 2)) tag_index_list = viterbi_roletag(taglist, PersonTranMatrix().hmm) self.assertEqual(tag_index_list[0], NR.A, u"人名识别,第一个标识应该为TAG_BAGIN") self.assertEqual(tag_index_list[1], NR.B) self.assertEqual(tag_index_list[2], NR.Z) self.assertEqual(tag_index_list[3], NR.L) self.assertEqual(tag_index_list[4], NR.A)
def test_tag_vector_real_word_len_should_eq_0(self): # 标识词的real_word不能为空,否则在字典里无法表示 self.assertEqual(new_tag_vertex(TAG_BIGIN).real_word, chr(32)) self.assertEqual(new_tag_vertex(TAG_END).real_word, chr(32))