Esempio n. 1
0
    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)
Esempio n. 2
0
 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))