Как преобразовать строки в python в векторы чисел, чтобы я мог сравнить их с другими векторами? - PullRequest
0 голосов
/ 07 января 2020

Я ищу способ преобразования строк в векторы чисел в фитоне. Как

"Привет, как дела?" -> "29 73 281 38"
"Как дела" -> "73 281 28 54"

Я хочу сравнить предложения из пользовательского ввода с предложениями из данных, которые хранятся как векторы.

1 Ответ

0 голосов
/ 07 января 2020

Я предполагаю, что вы пытаетесь создать плотное векторное представление для ваших входных предложений.

Посмотрите, поможет ли приведенный ниже код.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...