Я хочу применить модель Роберта для сходства текста. Учитывая пару предложений, ввод должен быть в формате <s> A </s></s> B </s>
. Я выяснил два возможных способа генерации входных идентификаторов, а именно
a)
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained('roberta-base')
list1 = tokenizer.encode('Very severe pain in hands')
list2 = tokenizer.encode('Numbness of upper limb')
sequence = list1+[2]+list2[1:]
В этом случае последовательность [0, 12178, 3814, 2400, 11, 1420, 2, 2, 234, 4179, 1825, 9, 2853, 29654, 2]
b)
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained('roberta-base')
list1 = tokenizer.encode('Very severe pain in hands', add_special_tokens=False)
list2 = tokenizer.encode('Numbness of upper limb', add_special_tokens=False)
sequence = [0]+list1+[2,2]+list2+[2]
В этом случае последовательность [0, 25101, 3814, 2400, 11, 1420, 2, 2, 487, 4179, 1825, 9, 2853, 29654, 2]
Здесь 0
представляет <s>
токен, а 2 представляет </s>
токен. Я не уверен, что является правильным способом кодирования данных двух предложений для вычисления сходства предложений с использованием модели Роберты.