Можно ли переучить универсальный кодер предложений Google, чтобы он учитывал ключевые слова при кодировании предложений? - PullRequest
0 голосов
/ 21 октября 2019

Я немного запутался в том, что значит установить trainable = True при загрузке универсального кодировщика предложений 3. У меня небольшой корпус (3000 различных предложений), учитывая предложение, я хочу найти 10 наиболее похожих предложений. Мой текущий метод:

1) Загрузите модуль embed = hub.Module("path", trainable =False)

2) Кодируйте все предложения: session.run(embed(sentences))

3) Найдите самые близкие предложения, используя косинусное сходство.

Это работает достойно, но я бы хотел, чтобы модель была настроена на мой собственный словарь, потому что есть определенные ключевые слова, которые важнее других. Таким образом, это не проблема классификации. При рассмотрении существующих примеров переобучения в модуле (https://www.tensorflow.org/hub/tutorials/text_classification_with_tf_hub) он предназначен для классификации.

Можно ли заставить Universal Sentence Encoder переучивать мои ключевые слова и выводить различные вложения (например, путем настройкиtrainable = True)

1 Ответ

0 голосов
/ 11 ноября 2019

Настройка hub.Module(..., trainable=True) не позволяет изменять словарь, но делает обучаемыми переменные модуля, что может быть достаточно, чтобы получить шанс на релевантность существующих слов.

Предварительно обученные вложения слов, такие как USEбыть полезным для различных задач (включая классификацию, регрессию, поиск близости в пространстве вложения). Вообще говоря, нет ничего плохого в том, чтобы начать с тех же модулей TF Hub для любого из них.

РЕДАКТИРОВАТЬ: См. Также https://github.com/tensorflow/hub/issues/355

...