Вопрос или проблема
Я хочу обучить свое приложение для оценки схожести фраз. Я хочу, чтобы моя модель предсказывала коэффициент схожести для фраз, как показано в приведенных ниже примерах.
пример-
International Business Machines = I.B.M
Synergy Telecom = SynTel
Beam inc = Beam Incorporate
Sir J J Smith = Johnson Smith
Alex, Julia = J Alex
James B. D. Joshi = James Joshi
James Beaty, Jr. = Beaty
Существует ли набор данных для обучения такой модели?
Это сложная задача, но определенно стоит ее изучить.
Интересный ресурс, на который стоит обратить внимание, — это DBpedia. Он нацелен на извлечение структурированной информации из проекта Википедия. Доступен под свободной лицензией (CC-BY-SA).
Вы можете удобно исследовать проект онлайн, например:
Обратите внимание, что вы ограничены обширными, но заканчивающимися знаниями в Википедии, например, Synergy Telecom/SynTel
похоже, не имеет записи. Ваше творчество потребуется для преодоления этого ограничения.
Это похоже на ссылки на сущности или, возможно, сопоставление именованных сущностей. Вы можете найти некоторые наборы данных здесь.
Ответ или решение
Для задачи оценки схожести фраз действительно существуют несколько подходящих источников данных и методов.
-
DBpedia: Это структура знаний, выделенная из Википедии, которая может быть полезна для вашего проекта. Она предоставляет информацию о различных сущностях, и в рамках этой информации вы можете найти дополнительные названия или сокращения. Например, можно посмотреть страницы вот таких объектов:
Однако следует отметить, что не все интересующие вас сферы могут быть охвачены, что потребует некоторой креативности и, возможно, дополнительных усилий по сбору информации для менее известных компаний или личностей.
-
Существующие наборы данных: Ваша задача также может быть связана с задачами связывания сущностей (entity linking) или сопоставлением именованных сущностей (named entity coreference). Некоторые наборы данных, которые могут быть полезны, можно найти на страницах, таких как NLPPROGRESS, где представлены различные датасеты, используемые для задачи связывания сущностей.
-
Специальные датасеты: Также стоит обратить внимание на том, что многие исследовательские группы и организации публикуют свои собственные наборы данных для конкретных задач. Например, вы можете попробовать найти датасеты на платформе Kaggle или GitHub, где исследователи делятся своими работами. Попробуйте использовать ключевые слова, такие как "phrase similarity dataset" или "entity resolution dataset".
-
Создание собственного набора данных: Если вы не найдете подходящий набор данных, вы можете рассмотреть возможность его создания. Это может включать в себя ручное создание списка фраз и их схожести, использование краулеров для сбора информации из различных источников или даже обращение к API таких сервисов, как Википедия или другие открытые базы данных. Это потребует времени и усилий, но может обеспечить персонализированное решение, которое лучше всего подходит для вашего приложения.
-
Модели машинного обучения: После подготовки данных, вы можете использовать библиотеки и фреймворки, такие как TensorFlow или PyTorch, для обучения модели. Осторожность в выборе метрик для оценки схожести также критична: вы можете рассмотреть использование таких метрик, как косинусное сходство или точки встраивания, подходящие для NLP задач.
В завершение, решение вашей задачи потребует комплексного подхода, включая исследование существующих ресурсов, возможно, создание собственных наборов данных и применение соответствующих алгоритмов машинного обучения для достижения желаемых результатов по схожести фраз.