Проверка орфографии яндекс: Спеллер — Технологии Яндекса

Проверка орфографии в тексте через Яндекс Speller

Оглавление

Вы можете добавить проверку орфографии прямо в личном кабинете. По нажатию на некоторую кнопку будет отправляться запрос к Яндекс Speller и выводиться таблица возможных ошибок по тексту. 

Как внедрить интеграцию: 

1. Создаем исходящий API метод с кодом yandexspell (с POST JSON)

процедура Request: 

CREATE PROCEDURE [dbo].[api_yandexspell_request]
	@parameters ExtendedDictionaryParameter READONLY,  -- входящие параметры для внутренней обработки (используйте Key, Value2)
	@username nvarchar(32)  -- текущий пользователь.
AS
BEGIN
	declare @text nvarchar(max)='', @itemID nvarchar(256), @id int
    select @itemid = isnull(Value2, Value) from @parameters where lower([Key])='itemid'
    
    if(left(@itemID, 8)='article_') begin 
    	set @id = try_cast(substring(@itemID, 9, 100) as int)
    	select top 1 @text = text1 from  as_articles 	 where id = @id
    end
	if(len(@text)=0) begin 
   		 select top 1 @text = text1 from  as_articles 	 
    end
    
    set @text = dbo.
as_stripHTML(@text) -- SELECT 1 Msg, Result, Url (адрес, куда будет идти запрос) select '' Msg, 1 Result, 'https://speller.yandex.net/services/spellservice.json/checkText?options=4' Url -- skip addressed -- SELECT 2 PARAMETERS - параметры, которые будут передаваться во внешний источник select 'text' name, @text value, 'form' [type] -- form (в форме передается), header (в http headers), get запросы передавайте прямо в URL END

Процедура Response: 

CREATE PROCEDURE [dbo].[api_yandexspell_response]
	@response nvarchar(max),
	@parameters ExtendedDictionaryParameter READONLY,  -- входящие параметры для внутренней обработки (используйте Key, Value2 - те же что и на request)	
	@username nvarchar(32)
AS
BEGIN
	-- SELECT 1
	select '' Msg, 1 Result, @response Response
	-- SELECT 2 Внешние действия
END

2. Реализуем обработку вывода в таблице (обязательно ставим в настройках таблицы Источник API = yandexspell) и @filters параметр имеет тип ExtendedDictionaryParameter.

Процедура GetItems: 

CREATE PROCEDURE [dbo].[crud_spellText_getItems]
	@filters ExtendedDictionaryParameter READONLY,  	
	@sort sql_variant,
	@direction nvarchar(8),
	@page int,
	@pageSize int,
	@username nvarchar(32)
AS
BEGIN
	-- filters...
	declare @resp nvarchar(max)
	select @resp = Value2 from @filters where [Key] = 'yandexspell'
	
	SELECT word text,     
    	'Code: '+ isnull(code,'') + ', Pos: ' + isnull(pos, '') + ', Row: '+ isnull([row], '') + ', Col: '+ isnull(col, '') desc_text,
        isnull( STUFF(
            (
            SELECT ', ' + value
                FROM openjson(s) AS t 
                FOR XML PATH('')
            ), 1, 2, N''
        ), '') s
    FROM OPENJSON(@resp, '$')
    WITH (
          
            code nvarchar(512) '$.code',
			pos nvarchar(512) '$.pos',
			[row] nvarchar(512) '$.row',
			col nvarchar(512) '$.col',
			word nvarchar(max) '$.word',
			s nvarchar(max) '$.s' as json
        )
    	
    -- SELECT 2
    select 1
    -- SELECT 3
    select 1 HideTitleCount, 1 Compact
	
END

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

Примечание: 

  • Текст передавать лучше без HTML в API. Для этого используем dbo.stripHTML функцию.
  • Документация от Яндекс: https://yandex.ru/dev/speller/doc/dg/concepts/speller-overview.html

Falcon Space — функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space

Насколько полезной была статья?

Google поиск по нашей документации

проверка орфографии от Яндекса и звонок с компьютера в телефон / Хабр

Мы объявляем открытую программу бета-тестирования новых версий Яндекс.Браузера. Начиная с нынешней, желающие смогут попробовать самое новое и помочь Яндексу в том, чтобы найти ошибки, которые нам не удалось выявить в условиях внутреннего тестирования. Одновременно пользователи бета-версии смогут оценить новые возможности еще до их появления в стабильном канале.

Что нового появилось, кроме бета-канала:

  • Улучшенная проверка орфографии
  • Синхронизация в мобильном браузере и Быстрый звонок
  • Эксперимент: Умная кнопка «Назад»
  • Эксперимент: быстрый переход назад/вперед
  • Эксперимент: быстрый возврат в начало страницы
  • Бета-версия браузера под Андроид теперь работает на планшетах
  • На модерации версия браузера под Айфон

Уже сейчас вы можете загрузить бета-версию Яндекс.

Браузера. Ниже читайте подробности обо всех нововведениях.



Улучшенная проверка орфографии

В прошлый раз мы рассказывали о том, что научили наш Браузер искать по странице с учетом морфологии русского языка. Теперь немного расскажем о том, как была улучшена проверка орфографии.

Во всех предыдущих версиях мы использовали стандартный способ проверки из проекта Chromium. При этом мы анализировали слова, которые вводят пользователи, и формировали подсказки с помощью словаря, обновляемого при выходе новых версий браузера. У этой реализации есть определенные недостатки. Во-первых, сам словарный запас достаточно ограничен. Попробуйте в любом текстовом поле вбить «сабака». Подсказки будут примерно такие:

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

Команда Яндекс.Браузера создала свой улучшенный словарь, который формируется у нас и загружается с наших серверов, умеет обновляться и поддерживает морфологию.

Качество подсказок теперь должно возрасти. Сам словарь будет автоматически обновляться и поддерживаться в актуальном состоянии.

Потерянная «собака» нашлась. А над порядком подсказок все еще идет работа.

Обратите внимание, что анализ вводимого вами текста и формирование подсказок происходит полностью локально. Браузер не отправляет ваш текст на сервер. Конечно же, если вы добавите новое слово в свой словарь, то оно будет синхронизировано между вашими устройствами.

Новый словарь пока доступен только в версии для Windows.

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

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

Открываем любой сайт, который содержит телефонный номер. В этот момент Яндекс.Браузер проанализирует содержание страницы и определит, есть ли на ней номера телефонов. Как вы понимаете, сделать это не так уж и просто, поскольку не существует единого способа написания телефонных номеров. Они могут содержать пробелы, дефисы, скобки. Код страны или города может быть вовсе не указан. Да и сам код может начинаться с «+7», а может и через «8». Добавим к этому разнообразие самих кодов и длин номеров. Но в большинстве случаев Яндекс.Браузер уже сейчас справляется со всем этим и подсвечивает доступные для звонка номера. А если вы нашли пример, где это не работает, то мы будем благодарны вам за багрепорт.

Если кликнуть по номеру, то Браузер предложит вам позвонить по нему. Сам номер уже приводится в нормализованном формате. Под нормализацией мы понимаем удаление лишних символов и добавление недостающего кода. Но чтобы подставить код страны и города, нам для начала нужно его узнать. К счастью, Яндекс.Поиск уже умеет с некоторой вероятностью определять, к какому региону или городу относится тот или иной сайт. Наш Браузер обращается к этим данным и восстанавливает телефонный номер. В результате получается готовый для звонка номер, который по нажатию на кнопку «Позвонить» будет отправлен на ваш смартфон через push-уведомление.

Принимающей стороной на вашем смартфоне будет опять же Яндекс.Браузер, который получит номер, запросит подтверждение и инициирует звонок.

Для работы Быстрого звонка вам нужно установить текущую бета-версию, а также обновленную версию Яндекс.Браузера для Android или для iPhone. И не забыть включить синхронизацию.

Вы всегда можете отключить подсветку номеров в настройках Браузера.

Эксперимент: Умная кнопка «Назад»

Что должна делать кнопка «Назад» (а также соответствующие ей жесты, горячие клавиши и кнопки мыши) в любом браузере? Возвращать вас туда, откуда вы пришли. Но в ряде случаев она не способна нам помочь. Например, если вы открыли ссылку в новой вкладке. В этом случае браузер не помнит вашей истории, и кнопка «Назад» не действует. Другой пример. Если браузер запускается из сторонней программы, то вернуться назад через кнопку у вас также не выйдет.

Чтобы сделать кнопку «Назад» немного умнее и решить описанные выше проблемы, в Яндекс.Браузер добавлен новый эксперимент, найти который можно по адресу chrome:flags#ya-enable-smartback. Вот как будет выглядеть возможность вернуться в приложение, которое вызвало Браузер:

Эксперимент: быстрый переход назад/вперед

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

Эксперимент включен по умолчанию в текущей бете.

Эксперимент: быстрый возврат в начало страницы

Пользователи достаточно часто сталкиваются с ситуаций, когда нужно вернуться в начало страницы. Обычно для этого используют либо сторонние расширения, либо инструменты самого сайта, либо делают это вручную. В рамках еще одного эксперимента, который в этой бета-версии также включен по умолчанию, Яндекс.Браузер позволяет быстро вернуться в начало страницы, кликнув по заголовку вкладки. Повторный клик возвращает вас в то место на странице, где вы были.

В этой бете вы можете заметить и некоторые другие изменения:

  • Новая структура меню (для Windows), сформированная на основе популярности у пользователей тех или иных разделов.
  • Новый прогресс-бар, визуализирующий процесс загрузки страницы.
  • Максимальное количество виджетов в Табло увеличено до 20.
  • Под капотом Браузера прячется новый механизм докачки файлов, который мы обучаем корректно восстанавливать прерванные загрузки.

Бета-версия Яндекс.Браузера устанавливается поверх стабильной, использует тот же профиль и обновляется по своему каналу. Обратный переход на стабильную версию необходимо проводить через полное удаление Браузера и синхронизацию данных.

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

Upd. Добавили ссылку на Яндекс.Браузер для iPhone.

pyaspeller · PyPI

Описание проекта

pyaspeller (Python Yandex Speller) — это cli-инструмент и библиотека на чистом python для поиска опечаток в текстах, файлах и на веб-сайтах.

Проверка орфографии использует API Яндекс.Спеллера. (ограничения)

Функции

  • Средство командной строки

Вы можете исправить свои локальные файлы или веб-страницы

 $ pyaspeller ./doc
$ пьяспеллер https://team-tricky.github.io
$ pyaspeller "в субботу утромъ"
в субботу утром
 
  • Библиотека

Используйте орфограф для вашего кода

 >>> from pyaspeller import YandexSpeller
>>> Speller = YandexSpeller()
>>> fixed = Sppeler.spelled('Triky Custle — отличная игра-головоломка. ')
>>> исправлено
«Tricky Castle — отличная игра-головоломка».
 

Вы можете использовать класс Word для однословных запросов:

 >>> из Pyaspeller import Word
>>> проверить = Word('тест')
>>> проверить.правильно
ЛОЖЬ
>>> проверить.варианты
[у'тест']
>>> проверить.spellsafe
ты тест
 

Установка

Используйте ваш любимый менеджер пакетов:

 $ python3 -m pip install pyaspeller
 

Также доступны rust и javascript версии этого спеллера.

Детали проекта


Эта версия

1.1.0

1.0.0

0.2.3

0.2.0

0.1.0

0.0.5

0.0.4

0.0.3

0.0.2

Скачать файлы

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

Исходный дистрибутив

pyaspeller-1.1.0.tar.gz (12,0 КБ посмотреть хеши)

Загружено источник

Встроенный дистрибутив

pyaspeller-1. 1.0-py3-none-any.whl (12,2 КБ посмотреть хеши)

Загружено ру3

Хэши для pyaspeller-1.1.0.tar.gz
Алгоритм Дайджест хэша
ША256 394a168fcc86feecba27f5fd3cfaf9f9плата38c82b6d39d62fbdade5b5686477d
МД5 dfdbd97f2fbc3f7d7b67a9fe3a717110
БЛЕЙК2б-256 677e40dde6af4f361803f750c300fa3d8ad83e4b0cc00161c16d217da235f3c6