Ejemplo n.º 1
0
 def create_file_input(self, message):
     fileUtil = FileUtil()
     lst_char = message[:]
     all_message = ''
     for j in range(len(lst_char)):
         if j == 0:
             ans = 'B'
         else:
             ans = 'I'
         message_model = lst_char[j]+' '+self.get_group(lst_char[j])+' '+ans+'\n'
         all_message = all_message+message_model
     fileUtil.write_newfile('crf.test.data', all_message)                    
Ejemplo n.º 2
0
    def crfpp(self, msg):
        crf = CRF()
        fileUtil = FileUtil()
        crf.create_file_input(msg)
        os.system('crf_test -m model1 crf.test.data > crf.result')

        lst = fileUtil.read_file('crf.result')
        #         lst = [a for a in lst if a != u'\n']
        #         str_ans = reduce(lambda x,y:x+y, [a.split('\t')[0] for a in lst])

        # ans = reduce(lambda x,y:x+y, [a.split('\t')[3][:-1] for a in lst])
        #         lst_col3 = [a.split('\t')[3][:-1] for a in lst]
        lst_col3, str_ans = self.process_ans(lst)
        lst_ans = [n for (n, e) in enumerate(lst_col3) if e == 'B']
        result_lst = []
        for i in range(len(lst_ans) - 1):
            a = lst_ans[i]
            b = lst_ans[i + 1]
            result_lst.append(str_ans[a:b])
        result_lst.append(str_ans[b:len(str_ans)])
        return result_lst
Ejemplo n.º 3
0
 def create_file_output(self, message):
     result = []
     fileUtil = FileUtil()