Я предполагаю, что вы пытаетесь создать плотное векторное представление для ваших входных предложений.
Посмотрите, поможет ли приведенный ниже код.
sentences = ["Hi how are you?", "How are you doing"]
# Step 1: Create vocabulary - a set of distinct tokens from your input sentences
vocab = set()
for sentence in sentences:
tokens = sentence.split()
for token in tokens:
vocab.add(token)
# Step 2: Create a map (token: ID)
vocab_map = {}
for i, token in enumerate(sorted(vocab)): # sorted lexicographically for reproducibility
vocab_map[token] = i
# encode the sentences using the map you created in the previous step
for sentence in sentences:
encoded_sentence = []
tokens = sentence.split()
for token in tokens:
encoded_sentence.append(str(vocab_map[token]))
print(' '.join(encoded_sentence))
Запуск вышеуказанного код должен получить следующее:
0 4 2 6
1 2 5 3