Склонение ФИО

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Склонение ФИО

Сообщение Andrey Fedorov » 27.02.2008 (Ср) 11:41

Кто нибудь писал функцию? Интересует в основном родительный падеж. С максимально возможным учетом всех вариантов... Ну и склонение должностей так же интересует.

В интернете нашлась библиотечка: http://www.delphikingdom.com/asp/viewit ... 5582613911

Но хотелось бы в исходниках...
Последний раз редактировалось Andrey Fedorov 27.02.2008 (Ср) 12:02, всего редактировалось 1 раз.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 27.02.2008 (Ср) 12:02

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

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.02.2008 (Ср) 12:15

Viper писал(а):Ндя... боюсь задачка очень даже непростая...


Ну никто и не говорит что простая. Это пол определить просто, да и то при наличии отчества...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

CodeName33
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 297
Зарегистрирован: 01.09.2004 (Ср) 13:25
Откуда: SPb

Сообщение CodeName33 » 27.02.2008 (Ср) 14:26

Насколько я помню - иностранные фамилии вообще не склоняются. Напримет г-н Козловский не будет склонятся, если он будет англичанином. т.е. "Сегодня не видел г-на Козловский". А если же он был бы русским, то он будет склоняться: "Сегодня не видел г-на Козловского". Тут уже никакие определения не помогут...
Программисты не глючат - глючат компиляторы...

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 27.02.2008 (Ср) 14:40

CodeName33, не совсем так. Вернее совсем не так. Если речь о г-не Козловском, то склоняться он будет однозначно, а вот если mr Kozlovsky, то им он и останется. Другое дело происхождение фамилий, вот тут как раз куча нюансов, о чем я уж написал.
Весь мир матрица, а мы в нем потоки байтов!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 27.02.2008 (Ср) 15:27

Пол задается вручную? Или тоже надо определять автоматически?
Lasciate ogni speranza, voi ch'entrate.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 27.02.2008 (Ср) 15:39

Я делал со словарем. Пол разбирало автоматически, но процедура была чувствительна к порядку слов Фамилия - Имя - Отчество.
Если такая интересует, вечером выложу.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 27.02.2008 (Ср) 16:37

Денис писал(а):Я делал со словарем. Пол разбирало автоматически, но процедура была чувствительна к порядку слов Фамилия - Имя - Отчество.
Если такая интересует, вечером выложу.


Выложи посмотреть. И должность, если есть - например, падежи должности "Директор столовой"...

Вообще-то неплохо работает компонентик по той ссылке что у меня в первом письме, но смущает недоступность кода...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 27.02.2008 (Ср) 20:52

Пол разбирало автоматически

А как? Маша - женский пол, а Петя - мужской, а особого отличия нету :?
Денис, выкладывай, всем интересно.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 27.02.2008 (Ср) 21:27

Andrey Fedorov
Вот. Исходник, как всегда утерян (а жаль) я восстановил по памяти. Нужно в коде просто дополнить правила словарей для специфичных имен. и все.

Я исходил из того, что такие переобразования делаются как правило в серьезных программах кадрового и прочего человеческого учетя, в связи с чем из словарей выпадали всякие "Петя", "Маша", "Шура" и прочие. В именах подразумевался паспортный стиль, - "Петр", "Марья", "Александр"

В примере для подбора по словарю отсекаются последние буквы. для более точного анализа были блоки, отсекавшие по 2 буквы, допустим "ья" заменялось на "и", а это могли быть и "Марья" и "Илья" и в обоих случаях работали.

В данном примере я не заморачивался с объединениями-разъединениями, поскольку это все легко делается и не имеет отношения к рассматриваемому сейчас вопросу. А в утерянном варианте у меня сначала захватывалась строка, в которой предполагалось наличие ФИО, дробилась по пробелу на три слова, каждое слово переводилось в родительный падеж, а затем все снова склеивалось в одну строку и возвращалось.

И последнее - как мне кажется, в 1с и прочих из этой оперы алгоритм тот-же. мало того, что он нечувствителен к полу, согласно ему можно автоматически определять пол с 75% вероятностью.
Вложения
Example.rar
пример перевода падежа
(атака словарем)
(1.56 Кб) Скачиваний: 102
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 82

    TopList  
cron