Как закодировать таксономию в контекстном меню Weaviate

Я хотел бы создать семантический контекст для своих данных перед векторизацией фактических данных в Weaviate (https://github.com/semi-technologies/weaviate). Допустим, у нас есть таксономия, в которой у нас есть набор концепций, специфичных для предметной области, вместе со ссылками на связанные с ними концепции. Не могли бы вы посоветовать мне, как лучше всего закодировать не только эти понятия, но и отношения между ними с помощью контекстного словаря?

1 ответ

В зависимости от вашего варианта использования есть несколько вариантов ответа.

  1. Вы можете создать «семантический контекст» в схеме Weaviate и использовать модуль векторизации для векторизации данных в соответствии с этой схемой.
  2. В ваших данных есть концепции, специфичные для предметной области, о которых готовые модули векторизации не знают (например, конкретные сокращения).
  3. Вы хотите захватить семантический контекст (то есть векторизовать) самого графа перед добавлением его в Weaviate.

Первый - самый простой и понятный, последний - самый эзотерический.

Создайте схему и используйте векторизатор для ваших данных

В вашем случае вы должны создать схему на основе своей таксономии и загрузить данные с помощью готового векторизатора (этот конфигуратор поможет вам создать файл для создания Docker).

Я бы порекомендовал начать с этого в любом случае, потому что он определит вашу модель данных и то, как вы можете искать и / или классифицировать данные. Возможно даже, что для вашего варианта использования этот шаг уже решает проблему, потому что готовые векторизаторы (предупреждение о смещении) довольно приличны.

Концепции, специфичные для предметной области

На момент написания Weaviate имеет два векторизатора: контекстный и трансформерный модули.

Если вы хотите расширить Weaviate с помощью настраиваемого контекста, вы можете или расширить контекствыполнитьточную настройку и распространить настраиваемые преобразователи .

Если вы сделаете это, я настоятельно рекомендую сделать первый шаг. Потому что это просто улучшит результаты.

Захват семантического контекста вашего графика

Я не думаю, что это то, что вы хотите, но это возможно и довольно эзотерично. В принципе, вы можете сохранить свой векторизованный график в Weaviate, но вам нужно сгенерировать векторы самостоятельно. Например, на момент написания мы смотрим на RDF2Vec.

PS:
Поскольку люди часто спрашивают о роли онтологий и таксономий в Weaviate, я написал это сообщение в блоге .

Другие вопросы по тегам