Часть 9. Семантическое сходство
В этом уроке мы продемонстрируем модуль Codeq’s NLP API, который можно использовать для анализа семантического сходства между текстами. Предыдущие уроки из этой серии можно найти здесь:
- Часть 1. Начало работы и отправка запросов к API.
- Часть 2. Вызов аннотаторов НЛП для лингвистического анализа.
- Часть 3. Использование текстовых классификаторов для классификации чувств и эмоций и выявления сарказма в текстах.
- Часть 4. Выявление оскорбительного и вредоносного содержания в текстах.
- Часть 5. Извлечение и устранение неоднозначности именованных сущностей.
- Часть 6. Извлечение речевых действий, вопросов и заданий.
- Часть 7. Обобщение текстов.
- Часть 8. Извлечение семантических ролей.
Полный список модулей Codeq NLP API можно найти здесь:
Вызов конечной точки семантического подобия
Конечная точка для получения семантического сходства между текстами также может быть вызвана с помощью экземпляра нашего Python SDK. Как обычно, для создания экземпляра этого клиента вам необходимо использовать свои учетные данные API в качестве входных параметров.
from codeq_nlp_api import CodeqClient client = CodeqClient(user_id="USER_ID", user_key="USER_KEY")
Вместо определения конвейера с именами некоторых аннотаторов НЛП, как мы делали в предыдущих уроках, в этом случае вам нужно использовать другой метод клиента, чтобы получить сходство между текстами:
client.analyze_text_similarity(text1, text2)
Этот метод требует в качестве входных данных две строки и возвращает в качестве вывода словарь, содержащий text_similarity_score:
text1 = 'More than 100 injured in Texas plant blast' text2 = 'Hundreds believed injured in Texas fertiliser plant blast' similarity_score = client.analyze_text_similarity(text1, text2) print(similarity_score) # Output: # # {"text_similarity_score": 4.55188775062561}
Оценка схожести указывает на семантическую связь между входными текстами, выраженную в диапазоне от 1 до 5, где 1 означает крайне несвязанные, а 5 означает высоко связанные:
- 5.Эти два предложения полностью эквивалентны, так как означают одно и то же.
- 4.Эти два предложения в основном эквивалентны, но различаются некоторые несущественные детали.
- 3.Эти два предложения примерно эквивалентны, но некоторая важная информация отличается или отсутствует в одном или другом.
- 2.Эти два предложения не эквивалентны, но имеют общие детали или относятся к одной и той же теме.
- 1.Эти два предложения совершенно не похожи.
Заворачивать
В этом руководстве мы описали, как использовать конечную точку семантического подобия API Codeq NLP. В приведенном ниже коде показано, как перебирать его вывод:
- Взгляните на нашу документацию, чтобы узнать больше об инструментах НЛП, которые мы предоставляем.
- Вам нужно вдохновение? Перейдите к нашим демонстрационным примерам использования и посмотрите, как вы можете интегрировать различные инструменты.
- В нашем демонстрационном разделе НЛП вы также можете попробовать наши инструменты и найти примеры вывода каждого модуля.