Понадобилось мне как-то собрать много русских существительных имён в единственном числе и именительном падеже. Стал искать на просторах Интернета. Всё, что попадалось под руку, было либо в не очень удобном формате для меня, либо любительскими сборниками. Хотелось всё-таки более официальных исходных данных, да чтобы можно было перевести в свой формат, например в таблицу базы данных MySQL.
1 сентября 2009 года вступил в силу приказ Министерства образования и науки, утверждающий перечень словарей, грамматик и справочников, рекомендованных Межведомственной комиссией по русскому языку при Минобрнауки. Среди 4 утверждённых книг — Грамматический словарь русского языка А. А. Зализняка.
Я остановился на этом словаре, во-первых, потому что в нём присутствует морфологическое описание слова, что бы вытащить, например, только глаголы совершенного вида. Во-вторых, потому что смог найти электронную версию словаря.
Был еще вариант граббинга wiktionary.org — Категория: Русские существительные. Может быть имеет смысл совместить эти две базы, но пока остановимся на Зализняке.
Словарь Зализняка был найден на сайте проекта «Вавилонская башня», посвященному сравнительно-историческому языкознанию. Словари Ожегова, Зализняка и Фасмера доступны как в режиме онлайн, так и для скачивания.
Скачиваем файл dicts.exe от 27.11.2004. Устанавливаем. В папке c:\StarSoft\dict\ буду расположены файлы. Нам нужны только начинающиеся на Z_* (от Z_160 до Z_239). Слова в файлах сгруппированы по первым буквам. Т.е. в файле Z_160 находятся все слова, начинающиеся с буквы А, в Z_161 — с буквы Б и т.д.
Файлы в кодировке OEM 866. Я для удобства перевёл их в UTF-8 с помощью Notepad++. Затем написал простенький парсер на PHP. Мне нужны были только существительные мужского и женского рода. Вы можете сами изменить регулярное выражение под свои нужды.
В итоге у меня получилась таблица с 39361 существительным.
1 сентября 2009 года вступил в силу приказ Министерства образования и науки, утверждающий перечень словарей, грамматик и справочников, рекомендованных Межведомственной комиссией по русскому языку при Минобрнауки. Среди 4 утверждённых книг — Грамматический словарь русского языка А. А. Зализняка.
Я остановился на этом словаре, во-первых, потому что в нём присутствует морфологическое описание слова, что бы вытащить, например, только глаголы совершенного вида. Во-вторых, потому что смог найти электронную версию словаря.
Был еще вариант граббинга wiktionary.org — Категория: Русские существительные. Может быть имеет смысл совместить эти две базы, но пока остановимся на Зализняке.
Словарь
Словарь Зализняка был найден на сайте проекта «Вавилонская башня», посвященному сравнительно-историческому языкознанию. Словари Ожегова, Зализняка и Фасмера доступны как в режиме онлайн, так и для скачивания.
Скачиваем файл dicts.exe от 27.11.2004. Устанавливаем. В папке c:\StarSoft\dict\ буду расположены файлы. Нам нужны только начинающиеся на Z_* (от Z_160 до Z_239). Слова в файлах сгруппированы по первым буквам. Т.е. в файле Z_160 находятся все слова, начинающиеся с буквы А, в Z_161 — с буквы Б и т.д.
Парсер
Файлы в кодировке OEM 866. Я для удобства перевёл их в UTF-8 с помощью Notepad++. Затем написал простенький парсер на PHP. Мне нужны были только существительные мужского и женского рода. Вы можете сами изменить регулярное выражение под свои нужды.
<?php<br/> <br/>mb_internal_encoding('utf-8');<br/> <br/>$dir = new DirectoryIterator(dirname(__FILE__).'/dict/');<br/>foreach ($dir as $file) <br/>{<br/> if($file->isDot()) {<br/> continue;<br/> }<br/> <br/> if (!preg_match_all('/^(\\p{L}{2,})\\s+\\d+\\s+(?:с|м|ж|мо|жо)\\s+/um', file_get_contents($file->getPathname()), $matches)) {<br/> continue;<br/> }<br/> <br/> foreach ($matches[1] as $word)<br/> {<br/> // делайте с $word что хотите<br/> }<br/>}
В итоге у меня получилась таблица с 39361 существительным.