Добавить кнопку tl; dr в Google Docs

Независимо от того, являетесь ли вы писателем, специалистом по обработке данных или просто просматриваете источники, чтобы выполнить работу, чтение более длинных текстов для извлечения крохотной информации может быть довольно утомительным. Автоматизация таких элементов вашей работы позволяет сосредоточиться на творческой стороне дела.

Резюме текста

Резюмирование текста - это метод выделения ключевых информационных элементов объемного текста. Резюмирование текста вручную - сложная и затратная по времени задача, поэтому для ее автоматизации стали популярными алгоритмы НЛП и машинного обучения.

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

В этой статье мы подготовим собственное индивидуальное решение, которое в то же время не требует передовых знаний в области науки о данных.

«🔔 Хотите больше подобных статей? Подпишите здесь."

Облако НЛП

NLP Cloud - поставщик множества API-интерфейсов для обработки текста с использованием моделей машинного обучения. Один из них - текстовый сумматор, который выглядит многообещающим с точки зрения простой реализации.

Средство суммирования, предоставляемое NLP Cloud, является экстрактивным, что означает, что новые предложения не генерируются, но удаляются части с низким соотношением информации и шума.

Давайте посмотрим на пример:

Мы передаем блок текста, и модель возвращает сводку. Но работать в консоли не очень удобно. Итак, давайте заставим Документы Google резюмировать выбранный фрагмент текста таким образом.

Расширение Google Docs

Наша цель - создать удобное меню, чтобы резюмирование текста происходило автоматически из Документов Google.

Так устроен наш проект. Используя скрипт приложений, мы расширим графический интерфейс с помощью кнопки, которая будет запускать функции, которые взаимодействуют с NLP Cloud API, а затем вставим результат ниже.

Начнем с подготовки дополнения к меню.

Делаем меню

Использование скриптов Google Apps для добавления пользовательских функций в Документы Google довольно просто. Вы можете настроить пользовательский интерфейс, добавив новые меню, диалоговые окна и боковые панели. Чтобы создать сценарий, после открытия Документов Google выберите Инструменты - ›Редактор сценария.

Примечание: вы можете узнать больше о создании проекта скрипта приложений Google в других моих статьях:



Все элементы интерфейса нужно добавить в функцию onOpen. Он запускается после открытия документа и позволяет нам добавить меню.

После сохранения скрипта и обновления Документов вы должны найти новый элемент меню «Text Summarizer».

Перед тем, как реализовать функцию summarizeSelection, мы должны получить выделенный текст.

Получить выбор

Сложная часть - получить текущий выделенный текст и передать его функциям. Это возможно благодаря функции getSelection:

Однако эта функция возвращает не только выделенную часть документов, но и целый абзац, в котором находятся выбранные элементы. Поэтому мы создаем более сложную getSelectedText функцию:

Функция просто берет весь абзац и обрезает его до выбранного фрагмента. Он также возвращает индекс абзаца, чтобы вы знали, куда вставить резюме.

Теперь давайте отправим текст в API и проанализируем результат.

Внешние API

Мы будем использовать службу UrlFetch, чтобы напрямую делать запросы к API. Запрос Text Summarization API требует авторизации через токен. Чтобы получить его, зарегистрируйтесь на nlpcloud.io (бесплатный план подойдет).

Запрашиваемый API возвращает необработанный ответ JSON на запрос.

Помните, что весь текст, обрабатываемый этим скриптом, отправляется во внешний API.

Чтобы проверить работоспособность, просто выделите фрагмент текста в Документах и ​​выберите Text Summarization -> Summarize selection в меню Документы.

Через мгновение обработки вы должны увидеть всплывающее окно с результатом, который вы даже можете скопировать.

Написание ответа на документ

Наконец, мы можем вставить сводку, созданную API, прямо в документ. Для облегчения различения выделите текст резюме жирным шрифтом. Вот почему функция getSelectedText также возвращает индекс абзаца выделенного текста.

Таким образом, мы точно знаем, где указать Apps Script для вставки нового текста.

Давайте протестируем финальную версию:

Выводы

Создание приложения, расширяющего функциональность Google Docs на основе внешних API, является интересной альтернативой созданию больших систем для автоматизации неудобных рабочих шагов. Более того, отдельные компоненты могут быть заменены в зависимости от потребностей и конкретных навыков. Например, наше решение можно расширить с помощью обнаружения эмоций или классификации текста (также доступно в NLP Cloud). Вы также можете подготовить собственный API или простые функции прямо в Apps Script.

использованная литература

Https://jeffreyeverhart.com/2018/10/05/translate-text-google-doc-using-google-apps-script/

Https://developers.google.com/google-ads/scripts/docs/features/third-party-apis

Https://netlabe.com/real-time-context-targeting-using-nlp-baceb4324fc4