Проверка орфографии с открытым исходным кодом
Оценивал добавление проверки орфографии к продукту, которым я владею. Согласно моему исследованию основные решения, которые должны быть приняты:
- Библиотека для использования.
- Словарь (это может быть конкретный регион, британский английский, американский и т. Д.).
- Списки исключений. Каждый раз, когда обнаруживается опечатка, возможно, что это не опечатка, а словоблудие, специфичное для пользователя. На этом этапе пользователям должна быть предоставлена возможность
добавьте это в свой пользовательский список исключений. - Помимо пользовательского пользовательского списка также список исключений, основанный на пользовательском пространстве клиентов инструмента. То есть термины / сокращения в области работы пользователей. Например, FX не будет опечаткой для валютных трейдеров.
Открытые вопросы, которые у меня были, перечислены ниже, и если бы я мог получить вклад в них, это было бы очень полезно. Вначале я думал о hunspell, который является библиотекой с открытым исходным кодом, предлагаемой под MPL, и используется продуктами семейства firefox и OpenOffice. Есть какие-нибудь ужасные истории, использующие это? Есть серые зоны с лицензированием? Проверка орфографии будет происходить на клиенте Windows.
Словари доступны из различных источников, некоторые из них бесплатны по MPL, а некоторые - нет. Любые предложения по хорошим источникам для бесплатных словарей.
Многоязычная поддержка и что нужно разработать, чтобы поддержать их?
Для 4, как пользовательские словари синхронизируются со стороной сервера и со стороны клиента? Проверка орфографии должна происходить на стороне клиента, поэтому каждый раз при первом запуске они отталкиваются или синхронизируются очень часто?
4 ответа
Как уже упоминалось, Hunspell - это современная проверка орфографии. Это проверка орфографии Open Office, Thunderbird, Firefox и Google Chrome. Доступны порты для всех основных языков программирования. Он работает с каталогами Open Office, поэтому поддерживается множество языков.
Я использовал Hunspell для нескольких вещей, и у меня нет никаких ужасных историй с этим. Я использовал его только на английском (американском) языке, но он претендует на работу с другими языками.
Что касается лицензирования, он предлагает на выбор GPL, LGPL и MPL. Если вам не нравится MPL, вы всегда можете использовать LGPL.
Существует несколько широко используемых вариантов зрачка: myspell, aspell. Проверь их.
Вот хорошая демонстрация Питера Норвига: я нахожу это простое объяснение гораздо более интуитивным. Перейдите по ссылкам в документе для более глубокого анализа.