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