Exemplo n.º 1
0
 def _create_example(self, lines, set_type):
     examples = []
     for (i, line) in enumerate(lines):
         guid = "%s-%s" % (set_type, i)#生成唯一编号
         text = tokenization.convert_to_unicode(line[1])#bert里面的函数,生成句子
         label = tokenization.convert_to_unicode(line[0])#标签
         examples.append(InputExample(guid=guid, text=text, label=label))
     return examples
Exemplo n.º 2
0
 def _create_example(self, lines, set_type):
     examples = []
     for (i, line) in enumerate(lines):
         guid = '%s-%s' % (set_type, i)
         text = tokenization.convert_to_unicode(line[1])
         label = tokenization.convert_to_unicode(line[0])
         examples.append(InputExample(guid=guid, text=text, label=label))
     return examples
Exemplo n.º 3
0
 def _create_examples(self, lines, set_type):
     """
     :param lines: 二维矩阵 [['O B-PER O'], ['char1, char2, char3'], ...]
     :param set_type: 类型
     :return: list [InputExample1, InputExample2, ... ]
     """
     examples = []
     for i, line in enumerate(lines):
         guid = '%s-%s' % (set_type, i)
         text = tokenization.convert_to_unicode(line[1])
         label = tokenization.convert_to_unicode(line[0])
         examples.append(InputExample(guid=guid, text=text, label=label))
     return examples
 def _create_examples(self, lines, set_type):
     """Creates examples for the training and dev sets."""
     examples = []
     for (i, line) in enumerate(lines):
         if i == 0:
             continue
         guid = "%s-%s" % (set_type, i)
         text_a = tokenization.convert_to_unicode(line[3])
         if set_type == "test":
             label = "重来"
         else:
             label = tokenization.convert_to_unicode(line[0])
         examples.append(InputExample(guid=guid, text_a=text_a,
                                      label=label))
     return examples
 def _create_examples(self, lines, set_type):
     examples = []
     np.random.shuffle(lines)
     for i, line in enumerate(lines):
         guid = '%s-%s' %(set_type, i)
         # if set_type == 'test':
         #     text_a = tokenization.convert_to_unicode(line[1])
         #     label = '0'
         # else:
         #     text_a = tokenization.convert_to_unicode(line[1])
         #     label = tokenization.convert_to_unicode(line[0])
         #     self.labels.add(label)
         text_a = tokenization.convert_to_unicode(line[1])
         label = tokenization.convert_to_unicode(line[0])
         self.labels.add(label)
         examples.append(
             InputExample(guid=guid, text_a=text_a, label=label, text_b=None)
         )
     return examples
Exemplo n.º 6
0
 def _create_example(self, lines, set_type):
     examples = []
     for (i, line) in enumerate(lines):
         guid = "%s-%s" % (set_type, i)
         text = tokenization.convert_to_unicode(line[1])
         label = tokenization.convert_to_unicode(line[0])
         # if i == 0:
         #     print('label: ', label)
         # print('text:',text)
         # print('label:',label)
         '''
         text: 我 们 变 而 以 书 会 友 , 以 书 结 缘 , 把 欧 美 、 港 台 流 行 的 食 品 类 图 谱 、 画 册 、 工 具 书 汇 集 一 堂 。
         label: O O O O O O O O O O O O O O O B-LOC B-LOC O B-LOC B-LOC O O O O O O O O O O O O O O O O O O O O
         text: 为 了 跟 踪 国 际 最 新 食 品 工 艺 、 流 行 趋 势 , 大 量 搜 集 海 外 专 业 书 刊 资 料 是 提 高 技 艺 的 捷 径 。
         label: O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
         text: 其 中 线 装 古 籍 逾 千 册 ; 民 国 出 版 物 几 百 种 ; 珍 本 四 册 、 稀 见 本 四 百 余 册 , 出 版 时 间 跨 越 三 百 余 年 。
         label: O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
         InputExample(guid=guid, text=text, label=label)是一个类的初始化,可通过
         a.guid,a.text,a.label,分别调用属性值
         '''
         examples.append(InputExample(guid=guid, text=text, label=label))
     return examples
Exemplo n.º 7
0
def read_line_examples(lst_strs):
    """Read a list of `InputExample`s from a list of strings."""
    unique_id = 0
    for ss in lst_strs:
        line = tokenization.convert_to_unicode(ss)
        if not line:
            continue
        line = line.strip()
        text_a = None
        text_b = None
        m = re.match(r"^(.*) \|\|\| (.*)$", line)
        if m is None:
            text_a = line
        else:
            text_a = m.group(1)
            text_b = m.group(2)
        yield InputExample(unique_id=unique_id, text_a=text_a, text_b=text_b)
        unique_id += 1
Exemplo n.º 8
0
def read_tokenized_examples(lst_strs):
    """

    :param lst_strs: [[]] 每个子元素为一个序列,子元素的每一个元素为这个序列的一个index
    :return:
    """
    unique_id = 0
    # 对lst_list中的数据进行转化为ID
    lst_strs = [[tokenization.convert_to_unicode(w) for w in s] for s in lst_strs]
    for ss in lst_strs:
        text_a = ss
        text_b = None
        try:
            # 这里使用|||对输入的句子进行切分如果存在这个符号,表示输入的是两个句子,即text_a 和text_b, 否则index出错,只会存在test_a
            j = ss.index('|||')
            text_a = ss[:j]
            text_b = ss[(j + 1):]
        except ValueError:
            pass
        yield InputExample(unique_id=unique_id, text_a=text_a, text_b=text_b)
        unique_id += 1
Exemplo n.º 9
0
def read_examples(input_file):
    """Read a list of `InputExample`s from an input file."""
    examples = []
    unique_id = 0
    with tf.gfile.GFile(input_file, "r") as reader:
        while True:
            line = tokenization.convert_to_unicode(reader.readline())
            if not line:
                break
            line = line.strip()
            text_a = None
            text_b = None
            m = re.match(r"^(.*) \|\|\| (.*)$", line)
            if m is None:
                text_a = line
            else:
                text_a = m.group(1)
                text_b = m.group(2)
            examples.append(
                InputExample(unique_id=unique_id, text_a=text_a, text_b=text_b))
            unique_id += 1
    return examples