Как узнать преобразование между двумя предварительно обученными вложениями? - PullRequest
0 голосов
/ 02 декабря 2018

Я новичок в нейронных сетях, так что это может быть довольно тривиальный вопрос, но я понятия не имею, с чего начать.У меня есть следующая конфигурация: куча книг с заголовками, которые преобразуются в векторы с использованием word2vec, и куча пользовательских поисковых запросов для книг, которые также преобразуются в векторы с использованием сторонней модели.У меня вопрос, как я могу предсказать, какие книги должны идти с каким поисковым запросом?Это похоже на то, что я ищу матрицу, которая трансформируется между двумя вложениями (книгами и поисковыми запросами), но я понятия не имею, как на самом деле это сделать.

Одна вещь, о которой я подумал, это керасы с двумя вложениями, вроде этого:

book = Input(name = 'book', shape = [1])
book_embedding = Embedding(name = 'book_embedding',
                           input_dim = len(number_of_books),
                           output_dim = book_embedding_size,
                           trainable=False)(book)

?????? this is where I am missing what to do, since
I don't think keras allows two Embedding layers to be 
connected through another Embedding layer?


# Embedding the queries for books 
query_embedding = Embedding(name = 'query_embedding',
                           input_dim = len(number_of_queries),
                           output_dim = query_embedding_size,
                           trainable=False)(???)

# the output would have to be a 1 if the book was found by that query,
# and 0 otherwise
out = Dense(1, activation = 'sigmoid')(query_embedding)
model = Model(inputs = book, outputs = out)

Но я никогда не видел примеров трех слоев внедрения, вместе взятых, поэтому у меня нетИдея, если это вообще возможно.

Я даже на правильном пути здесь?Любые советы будут оценены.

...