Как сделать пользовательский словарь для Hunspell - PullRequest
22 голосов
/ 27 сентября 2011

У меня есть вопрос о создании пользовательского словаря для hunspell. Я использую общий английский словарь и файл аффиксов прямо сейчас. Как я могу добавить определенные пользователем слова в этот словарь для каждого из моих пользователей?

Ответы [ 5 ]

15 голосов
/ 20 февраля 2013

создайте свой собственный список слов и файл аффиксов для вашего языка, если он не существует. Ну, для папиаменту - родного языка Кюрасао - такого словаря не существует. Но мне было трудно выяснить, как создавать такие файлы, поэтому я документирую это здесь: http://www.suares.com/index.php?page_id=25&news_id=233

4 голосов
/ 23 декабря 2011

Я пытаюсь сделать то же самое, но пока не нашел достаточно информации, чтобы начать.

Однако вы можете посмотреть hunspell - формат словарей Hunspell и аффиксных файлов .

ОБНОВЛЕНИЕ

Если вы работаете с .NET, вы можете загрузить Hunspell .NET port .Использовать его тоже довольно просто.

var bee = new Hunspell();
bee.Load("path_to_en_US.aff");
bee.Load("path_to_en_US.dic");
bee.Add("my_custom_word1");
bee.Add("my_custom_word2");
var suggestions = bee.Suggest("misspel_word");
1 голос
/ 09 июня 2018

Секрет получения hunspell на работе (по крайней мере, для меня) заключался в том, чтобы выяснить, в каких местах он будет искать, которые принадлежат мне, и поместить туда собственные словари. Также имейте в виду, что словари имеют определенный формат, поэтому вы должны соблюдать эти правила.

Запуск hunspell -D покажет вам путь поиска. На MacOS мой включает /Users/scott/Library/Spelling, поэтому я создал этот каталог и поместил туда мой. Допустим, вы хотите назвать свой словарь mydict, а ваш входной файл данных слов называется dict.txt. Мы будем использовать путь, который я только что показал.

Сначала скопируйте файл .aff по умолчанию. Вы увидите это при запуске hunspell -D, как описано выше. Для меня это в /Library/Spelling/en_US/. Так

cp /Library/Spelling/en_US.aff /Users/scott/Library/Spelling/mydict.aff

Затем, каждый раз, когда вы обновляете свой список ввода (dict.txt), делайте это:

DICT=/Users/scott/Library/Spelling/mydict.dic cd ~/doc/dict cat dict.txt | sort | uniq > dict.in wc -l dict.in > $DICT cat dict.in >> $DICT rm dict.in

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

hunspell -l -d scott,en_US <filename>

0 голосов
/ 05 мая 2014

Посмотрите документацию в openoffice

http://www.openoffice.org/lingucomponent/

специально этот документ http://www.openoffice.org/lingucomponent/dictionary.html

Это хорошая отправная точка

0 голосов
/ 21 марта 2013

Я также реализую этот тип функций.Создав объект Hunspell со связанным словарем, вы можете добавить к нему отдельные слова.

Имейте в виду, что эти слова будут доступны только до тех пор, пока объект Ханспелл ​​жив.Каждый раз, когда вы получаете доступ к новому объекту, вам придется снова добавлять все определенные пользователем слова.

...