Летучая мышь отключает проверку орфографии

Обновлено: 04.07.2024

В этом месяце на конференции WriteTheDocs в Лондоне обсуждался принцип «документы как код». Это идея использования текстовых форматов для вашей документации и хранения ее вместе с вашим кодом — в отличие от использования вики или другого проприетарного формата. Это позволяет использовать одни и те же инструменты для кода и для документов: контроль версий, проверка кода, текстовые редакторы и так далее. Упрощая переход между ними, более вероятно, что документы будут написаны и обновлены с изменениями кода.

Но одна проблема заключается в том, что текстовые редакторы для программистов, как правило, отключают проверку орфографии. Это разумно для кода: программный код мало похож на прозу, а проверка орфографии была бы слишком шумной, чтобы быть полезной. А как же писать прозу? Где красные и зеленые волнистые линии, предупреждающие об орфографических ошибках?

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

Что такое aspell?

aspell — это средство проверки орфографии, работающее из командной строки. У меня всегда открыто много окон командной строки, так что мне это подходит. Если вы предпочитаете графические приложения, вам, вероятно, следует попробовать что-то еще. Но инструмент командной строки может быть очень мощным и позволить вам одновременно обрабатывать множество файлов в пакетном режиме.

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

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

Установка aspell

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

Если вы используете OS X, вы можете установить aspell через Homebrew:

Если вы используете Ubuntu или Debian, попробуйте apt-get :

В CentOS или RHEL попробуйте yum :

Для пользователей Windows на сайте aspell есть готовые двоичные файлы, хотя я сам их не пробовал.

Использование aspell

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

Это читает файл, и для любых слов, которые, по его мнению, могут быть написаны с ошибкой, он предлагает вам интерфейс для исправления слова:

Отрывок текста со словом

Интерфейс выделяет проблемное слово и предлагает несколько вариантов:

  • Вы можете выбрать одно из предположений aspell для правильного написания (пронумерованные варианты)
  • Вы можете предоставить собственную замену (введите r )
  • Вы можете игнорировать это конкретное слово или добавить его в пользовательский словарь, чтобы больше не получать предупреждений об этом (введите i или a )

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

После просмотра всего файла вы возвращаетесь к командной строке.

Расширенное использование

Пакетная обработка

Запуск aspell для одного файла — это хорошо, но это не намного меньше хлопот, чем открытие файла в текстовом редакторе и вызов проверки орфографии ОС вручную. Преимущество инструмента командной строки в том, что мы можем обрабатывать файлы в пакетном режиме, не открывая их явно по очереди.

Например, в оболочке bash (Linux/OS X) я могу проверить каждый файл с расширением .md с помощью следующей команды:

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

Сохраняйте слова в личном словаре

Когда вы говорите aspell «добавить» слово в ваш словарь, это говорит aspell о двух вещах: больше не отмечать это слово как слово с ошибкой и рассматривать его как возможное исправление других слов с ошибками.

Ваш личный словарь хранится по адресу ~/.aspell.lang.pws , где lang — это один из языковых кодов, поддерживаемых aspell. Этот файл довольно прост: одна строка заголовка, за которой следует слово в строке для остальной части файла.

Вот пример того, как может выглядеть этот файл:

Чтобы добавить новые слова в свой личный словарь, добавьте новые строки в этот файл и обновите количество слов в строке заголовка. Формат этого файла более подробно описан на справочной странице aspell.

Должен быть флаг --personal, позволяющий указать на файл и использовать его как личный словарь.Это было бы полезно для проверки вашего словаря вместе с вашим хранилищем; к сожалению, мне никогда не удавалось успешно его использовать.

Отфильтровать разметку, зависящую от формата

Некоторые форматы обычного текста могут немного напоминать код. У них есть специальные биты синтаксиса, описывающие форматирование, но которые могут запутать программу проверки орфографии. Например, HTML-теги немного похожи на английские, но часто содержат слова, которых нет ни в одном словаре.

Кроме того, в aspell есть несколько фильтров для работы с некоторыми типами разметки. Вы можете сказать ему, что конкретный документ написан на HTML или TeX , и он пытается не помечать разметку. Досадно, что в нем нет фильтров для Markdown или ReStructured Text (двух форматов, с которыми я чаще всего работаю), но стоит знать, что эти фильтры есть.

Чего не может aspell

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

Я отношусь к aspell как к анализатору кода: это полезный первый шаг для проверки правильности, но он не заменит другого человека.

Авторское право © 2012–22 Алекс Чан. Prose имеет лицензию CC-BY, код — MIT. О сайте.

В рамках предстоящего выпуска 1.3 RStudio IDE мы рады показать вам предварительную версию функции проверки орфографии в реальном времени, которую мы добавили.

До версии RStudio 1.3 проверка орфографии была активным процессом, требующим от пользователя пошагового выполнения слова в диалоговом окне. Интегрировав проверку орфографии непосредственно в редактор, мы можем проверять слова по мере их ввода и давать рекомендации по запросу.

Как и в предыдущей реализации проверки орфографии (которая по-прежнему вызывается с помощью кнопки на панели инструментов), новая проверка орфографии полностью совместима с Hunspell, и можно использовать любые предыдущие пользовательские словари.

Интерфейс и использование

Использовать новую проверку орфографии в режиме реального времени просто благодаря стандартному и знакомому интерфейсу. Через короткий промежуток времени после ввода сохраненного файла поддерживаемого формата (R Script, R Markdown, C++ и др.) под словами, не прошедшими проверку орфографии загруженного словаря, появится желтая подчеркивание. Щелкните правой кнопкой мыши слово для предложений, чтобы игнорировать его или добавить его в свой локальный словарь, чтобы запомнить его на будущее. Приложение будет проверять только комментарии в файлах кода и необработанный текст в файлах уценки.


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

Настройка

Новая функция проверки орфографии может вам не подойти, и это нормально. Если вы не хотите, чтобы ваши инструменты постоянно подвергали сомнению ваше правописание, эту функцию легко отключить. Перейдите в Инструменты -> Общие параметры -> Орфография и снимите флажок "Использовать проверку орфографии в реальном времени".

Если вы печатаете на другом языке или действительно настаиваете на том, чтобы этот раздел назывался настройка, вы можете переключиться на другой словарь с тем же выпадающим интерфейсом, что и в RStudio 1.2. И ручная проверка орфографии, и проверка орфографии в реальном времени будут загружать один и тот же словарь. Если ни один из словарей, поставляемых с RStudio, не соответствует вашим потребностям, вы можете добавить любой совместимый с Hunspell словарь, нажав кнопку Добавить… рядом со списком пользовательских словарей.


Только верхушка айсберга

Это всего лишь небольшой пример того, что будет в RStudio 1.3, и мы рады показать вам больше того, над чем мы усердно работали, начиная с версии 1.2, в ближайшие недели. Следите за новостями!

Вы можете загрузить новую предварительную версию RStudio 1.3, чтобы попробовать ее самостоятельно:

Компонент SpellCheck предназначен для предоставления встроенных предложений по запросам на основе других похожих терминов.

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

Настройка компонента проверки правописания

Определить проверку орфографии в solrconfig.xml

Первый шаг — указать источник терминов в solrconfig.xml. Существует три подхода к проверке орфографии в Solr, которые обсуждаются ниже.

Проверка орфографии на основе индекса

IndexBasedSpellChecker использует индекс Solr в качестве основы для параллельного индекса, используемого для проверки орфографии. Это требует определения поля в качестве основы для терминов индекса; обычной практикой является копирование терминов из некоторых полей (таких как title, body и т. д.) в другое поле, созданное для проверки орфографии.Вот простой пример настройки solrconfig.xml с помощью IndexBasedSpellChecker:

Первый элемент определяет searchComponent для использования solr.SpellCheckComponent . Имя класса — это конкретная реализация SpellCheckComponent, в данном случае solr.IndexBasedSpellChecker . Определение имени класса необязательно; если не определено, по умолчанию используется IndexBasedSpellChecker .

SpellcheckIndexDir определяет местоположение каталога, содержащего индекс проверки орфографии, а поле определяет исходное поле (определенное в схеме) для терминов проверки орфографии. При выборе поля для индекса проверки орфографии лучше избегать интенсивно обрабатываемого поля, чтобы получить более точные результаты. Если в поле есть много вариантов слов, полученных в результате обработки синонимов и/или основ, словарь будет создан с этими вариантами в дополнение к более достоверным данным о правописании.

Наконец, buildOnCommit определяет, следует ли создавать индекс проверки орфографии при каждой фиксации (то есть каждый раз, когда в индекс добавляются новые документы). Это необязательно, и его можно опустить, если вы предпочитаете установить для него значение false .

Проверка орфографии DirectSolr

DirectSolrSpellChecker использует термины из индекса Solr без создания параллельного индекса, такого как IndexBasedSpellChecker . Преимущество этой проверки орфографии в том, что ее не нужно создавать регулярно, а это означает, что термины всегда соответствуют терминам в указателе. Вот как это можно настроить в solrconfig.xml

Выбирая поле для запроса этой программы проверки орфографии, вы хотите, чтобы для него был выполнен относительно небольшой анализ (особенно такой анализ, как корень). Обратите внимание, что вам нужно указать поле, которое будет использоваться для предложений, поэтому, как и в случае с IndexBasedSpellChecker , вы можете скопировать данные из таких полей, как title , body и т. д., в поле, предназначенное для предоставления вариантов правописания.

Многие параметры относятся к тому, как эта программа проверки орфографии должна запрашивать индекс для предложений терминов. DistanceMeasure определяет метрику, используемую во время запроса проверки орфографии. Значение "internal" использует показатель Левенштейна по умолчанию, который используется в других реализациях проверки орфографии.

Поскольку эта программа проверки орфографии запрашивает основной индекс, вы можете ограничить частоту запросов к индексу, чтобы избежать конфликтов производительности с пользовательскими запросами. Параметр точности определяет порог допустимого предложения, а параметр maxEdits определяет допустимое количество изменений термина. Поскольку большинство орфографических ошибок составляют всего 1 букву, установка значения 1 уменьшит количество возможных предложений (по умолчанию, однако, 2); значение может быть только 1 или 2. minPrefix определяет минимальное количество символов, которые должны быть общими для терминов. Установка значения 1 означает, например, что все варианты написания будут начинаться с одной и той же буквы.

Параметр maxInspections определяет максимальное количество возможных совпадений для просмотра перед возвратом результатов; значение по умолчанию — 5. minQueryLength определяет, сколько символов должно быть в запросе, прежде чем будут предоставлены предложения; по умолчанию 4.

Сначала проверка орфографии анализирует входящие слова запроса, ища их в индексе. Только слова запроса, отсутствующие в индексе или слишком редкие (ниже maxQueryFrequency ), считаются ошибочными и используются для поиска предложений. Слова, которые встречаются чаще, чем maxQueryFrequency, обходят проверку орфографии без изменений. После того, как предложения для каждого слова с ошибкой найдены, они фильтруются с достаточной частотой с порогомTokenFrequency в качестве граничного значения. Эти параметры ( maxQueryFrequency и thresholdTokenFrequency ) могут быть процентными (например, 0,01 или 1%) или абсолютными значениями (например, 4).

Проверка орфографии на основе файлов

Проверка FileBasedSpellChecker использует внешний файл в качестве словаря правописания. Это может быть полезно при использовании Solr в качестве сервера проверки правописания или если предложения по правописанию не должны основываться на фактических терминах в указателе. В solrconfig.xml вы должны определить searchComponent следующим образом:

Здесь разница заключается в использовании sourceLocation для определения местоположения файла терминов и использовании characterEncoding для определения кодировки файла терминов.

В предыдущем примере имя используется для обозначения этого конкретного определения средства проверки орфографии. Несколько определений могут сосуществовать в одном файле solrconfig.xml , а имя помогает их различать. При определении только одного средства проверки орфографии имя не требуется.

WordBreakSolrSpellChecker

WordBreakSolrSpellChecker предлагает подсказки, комбинируя соседние термины запроса и/или разбивая термины на несколько слов. Это расширение SpellCheckComponent, использующее WordBreakSpellChecker от Lucene.Он может обнаруживать орфографические ошибки, возникающие из-за неуместного пробела, без использования словарей на основе гальки и обеспечивает поддержку сортировки для ошибок разрыва слов, включая случаи, когда пользователь имеет сочетание орфографических ошибок одного слова и ошибок разрыва слов в одном запросе. . Он также обеспечивает поддержку сегментов.

Вот как это можно настроить в solrconfig.xml:

Некоторые параметры будут знакомы из обсуждения других средств проверки орфографии, таких как name , classname и field . Новым для этого средства проверки орфографии является CombineWords , который определяет, должны ли слова объединяться при поиске по словарю (по умолчанию true); breakWords , который определяет, должны ли слова разбиваться во время поиска по словарю (по умолчанию true); и maxChanges — целое число, определяющее, сколько раз средство проверки орфографии должно проверять возможности сортировки по индексу (по умолчанию — 10).

Проверку орфографии можно настроить с помощью традиционной проверки (например, DirectSolrSpellChecker ). Результаты объединяются, и параметры сортировки могут содержать различные исправления от обоих средств проверки орфографии.

Добавить в обработчик запросов

Запросы будут отправляться в RequestHandler. Если каждый запрос должен генерировать предложение, вы должны добавить следующее в requestHandler, который вы используете:

Тема Office Software, Отключение проверки орфографии Word 2016 в разделе "Технические вопросы"; Привет всем, я написал статью с подробным описанием шагов несколько лет назад. Я обновил статью на 2016 год. .

Обратная ссылка
Инструменты темы
Поиск темы

Привет всем! Несколько лет назад я написал статью с подробным описанием шагов. Я обновил статью на 2016 год.

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

3 Спасибо matt_isda_bomb:

Дата регистрации июль 2012 г. Местонахождение Lincs Сообщений 2,157 Поблагодарить сообщение 3 Поблагодарили 239 раз в 210 сообщениях Репутация 68

извините, что поднимаю старую тему. я применил все настройки, как указано выше, которые, похоже, работают (проверка орфографии выделена серым цветом), f7 не работает, но пользователи все еще могут щелкнуть правой кнопкой мыши и получить предложения. Я включил «не включать дополнительные действия в контекстном меню»

Дата регистрации: февраль 2007 г. Место: Линкольншир Сообщений: 393 Поблагодарили: 38 Поблагодарили: 11 раз в 11 сообщениях Репутация: 34

Первоначальное сообщение от ITGURU

извините, что поднимаю старую тему. я применил все настройки, как указано выше, которые, похоже, работают (проверка орфографии выделена серым цветом), f7 не работает, но пользователи все еще могут щелкнуть правой кнопкой мыши и получить предложения. Я включил «не включать дополнительные действия в контекстном меню»

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

Есть идеи?


Дата регистрации: февраль 2013 г. Местоположение Chiswick Сообщений: 3 356 Поблагодарили: 2 084 Поблагодарили: 1 641 раз в 957 сообщениях Репутация: 1007

Дата регистрации: февраль 2007 г. Место: Линкольншир Сообщений: 393 Поблагодарили: 38 Поблагодарили: 11 раз в 11 сообщениях Репутация: 34

Дата регистрации июль 2005 г. Расположение позади вас! Сообщения 178 Поблагодарили сообщение 79 Поблагодарили 16 раз в 14 сообщениях Репутация 36

Дата регистрации: февраль 2007 г. Место: Линкольншир Сообщений: 393 Поблагодарили: 38 Поблагодарили: 11 раз в 11 сообщениях Репутация: 34

Дата регистрации: февраль 2007 г. Место: Линкольншир Сообщений: 393 Поблагодарили: 38 Поблагодарили: 11 раз в 11 сообщениях Репутация: 34

Кто-нибудь знает, как отключить синонимы через ключ gpo или reg?


Дата регистрации: февраль 2013 г. Местоположение Chiswick Сообщений: 3 356 Поблагодарили: 2 084 Поблагодарили: 1 641 раз в 957 сообщениях Репутация: 1007

Первоначальное сообщение от tri_94

Почему они хотят использовать Word? Какие функции им нужны? Это все очень хорошо, когда говорят: «Нам нужна программа X», но затем просить сделать лоботомию и удалить половину ее функций не кажется разумным!

Дата регистрации: февраль 2007 г. Место: Линкольншир Сообщений: 393 Поблагодарили: 38 Поблагодарили: 11 раз в 11 сообщениях Репутация: 34

Первоначальное сообщение от FishCustard

Почему они хотят использовать Word? Какие функции им нужны? Это все очень хорошо, когда говорят: «Нам нужна программа X», но затем просить сделать лоботомию и удалить половину ее функций не кажется разумным!

Я согласен с вами в основном потому, что: а) студенты знают, как им пользоваться, и б) так проще делать верхние и нижние колонтитулы


Дата регистрации Январь 2008 г. Местоположение Milton Keynes Сообщений: 3 543 Поблагодарить сообщение: 751 Поблагодарили: 1 501 раз в 1 038 сообщениях Репутация: 1466

Первоначальное сообщение от MrLudwig

Office 2013 — %programfiles(x86)%\Microsoft Office\Office15\PROOF\msspell7.dll

Большинство подходов к GPO отлично подходят для Office 2013. Большинство руководств по GPO для этого относятся к Word, но те же самые вещи можно применять и к другим приложениям Office, где есть аналогичные параметры GPO. Числовые списки команд и нажатий клавиш, которые необходимо заблокировать, необходимо воспроизвести для PowerPoint, Excel и т. д.

Исключением является то, что F7 по-прежнему вызывает проверку орфографии в Excel 2013, а в Word я получаю нечеткие синие линии. Поэтому я сделал дополнительный шаг и создал подходящую группу безопасности и использовал отдельный объект групповой политики компьютера, чтобы установить привилегии отказа для этой группы в файле msspell7.dll. F7 в Excel теперь показывает «Проверка орфографии и грамматики завершена». Мне просто нужно не забыть применить GPO [I] и/я также добавить соответствующих пользователей в группу безопасности.

Читайте также: