Склонение слов русского языка
От: flashpoint Россия  
Дата: 12.04.05 08:25
Оценка:
Кто-нить делал склонение слов руского языка ????
Например: Иванов Иван Иванович->Иванову Ивану Ивановичу->Ивановым Иваном Ивановичем и т.д.
Т.е. алгоритм принимает слово в 1-ом параметре, а во 2-м параметре мы указываем склонение.

CMyClass a1;
CString csWord = "Иванов";
CString csRes = a1.GetWord(csWord,"РП"); // родительный падеж


12.04.05 18:24: Перенесено из 'C/C++'
Re: Склонение слов русского языка
От: LuciferMoscow Россия  
Дата: 12.04.05 08:37
Оценка:
Здравствуйте, flashpoint,

я делал. Исходники давно умерли.
Re[2]: Склонение слов русского языка
От: flashpoint Россия  
Дата: 12.04.05 08:45
Оценка:
LM>я делал. Исходники давно умерли.

Может реинкарнируешь ?
Re[3]: Склонение слов русского языка
От: LuciferMoscow Россия  
Дата: 12.04.05 08:59
Оценка:
Здравствуйте, flashpoint, Вы писали:
LM>>я делал. Исходники давно умерли.
F>Может реинкарнируешь ?

Делал только для ФИО+ перевод из именительного падежа а дательные.
В общем случае(для всех слов нужно думать)

Реанимировать = написать заново.
Ты готов за это платить?
Re: Склонение слов русского языка
От: jazzer Россия Skype: enerjazzer
Дата: 12.04.05 09:33
Оценка: +1
Здравствуйте, flashpoint, Вы писали:

F>Кто-нить делал склонение слов руского языка ????

F>Например: Иванов Иван Иванович->Иванову Ивану Ивановичу->Ивановым Иваном Ивановичем и т.д.
F>Т.е. алгоритм принимает слово в 1-ом параметре, а во 2-м параметре мы указываем склонение.

F>CMyClass a1;

F>CString csWord = "Иванов";
F>CString csRes = a1.GetWord(csWord,"РП"); // родительный падеж

Есть несколько библиотек морфологии, основанные в том числе и на словарях (а без них никак).
Продаются за деньги.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[4]: Склонение слов русского языка
От: Erop Россия  
Дата: 12.04.05 09:34
Оценка:
Здравствуйте, LuciferMoscow, Вы писали:

А что надо?
1) Получить все мыслимые гипотезы о форме
2) Получить все мыслимые гипотезы о любых формах
3) Получить всё точно и правильно, ну типа по "искать" получить "ищу" или по "человек" получить "людей"

если одно из первых двух, то ещё есть шансы сделать самому, но не факт, что оч. хорошо.
Один из способов -- взять как-нибудь коммерческий Engine и из него набрать статистику что бывает

Ну а если надо хорошо, то там без словарной поддержки никак, так что проще купить какой-нибудь коммерческий.

Скажем поискать в интеренете что-то типа "генерация форм слова, engine" )
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Склонение слов русского языка
От: McQwerty Россия  
Дата: 12.04.05 10:09
Оценка:
Здравствуйте, flashpoint, Вы писали:

F>Кто-нить делал склонение слов руского языка ????

F>Например: Иванов Иван Иванович->Иванову Ивану Ивановичу->Ивановым Иваном Ивановичем и т.д.
F>Т.е. алгоритм принимает слово в 1-ом параметре, а во 2-м параметре мы указываем склонение.

F>CMyClass a1;

F>CString csWord = "Иванов";
F>CString csRes = a1.GetWord(csWord,"РП"); // родительный падеж

Я бы делал так:
CString csWordIP = "Иванов";
CString csWordRP = "Иванова";
CString csWordDP = "Иванову";
...

И все формы хранить вместе в БД.

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

Для примера с "Ивановыми":
CString csWordIP = "Иванова";
CString csWordRP = "Ивановой";
CString csWordDP = "Ивановой";
...
Re[5]: Склонение слов русского языка
От: LuciferMoscow Россия  
Дата: 12.04.05 10:12
Оценка:
Здравствуйте, Erop, Вы писали:
E>Ну а если надо хорошо, то там без словарной поддержки никак, так что проще купить какой-нибудь коммерческий.
Без словарей действительно никак. В моем случае можно было каждинально уменьшать размер словаря(усложняя анализ программой). Но обучать мою программу все равно нуно было
Re[6]: Склонение слов русского языка
От: SWW Россия  
Дата: 12.04.05 11:41
Оценка: -1 :)
E>>Ну а если надо хорошо, то там без словарной поддержки никак, так что проще купить какой-нибудь коммерческий.
LM>Без словарей действительно никак.

Ничего подобного. Я когда-то написал такую dll (если найду — запостю), все делается абсолютно формально за одним исключением: склонение некоторых слов в винительном падеже зависит от того, одушевленное оно или нет.
Re[7]: Склонение слов русского языка
От: Erop Россия  
Дата: 12.04.05 11:48
Оценка: 1 (1) +1
Здравствуйте, SWW, Вы писали:

SWW>Ничего подобного. Я когда-то написал такую dll (если найду — запостю), все делается абсолютно формально за одним исключением: склонение некоторых слов в винительном падеже зависит от того, одушевленное оно или нет.


Да? И как "абсолютно формально" из "человек" получить "людей" ?

А ведь ещё бывают чередования, скажем бессмертное "ключик" -> "ключика", но "замочек" -> "замочка" А ещё бывает бука "ё"
А ещё бывают исключения и т. п.

Но если речь идёт о генерации правдоподобной гипотезы о винительном падеже единственного числа, по начальной форме существительного, то тогда конечно это можно сделать. Бкдет работать на большом очень проценте слов (ну скажем 95%)

А вот если форма нужна произвольная, а ещё хуже, если нужно поддержать и формы глаголов, то упс.
Ещё хуже если хочется поддержать словообразование, скажем из "офицерский" уметь получить "по-офицерски"

С уважением, Егор.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: Склонение слов русского языка
От: LuciferMoscow Россия  
Дата: 12.04.05 11:53
Оценка: +1
Здравствуйте, SWW, Вы писали:
E>>>Ну а если надо хорошо, то там без словарной поддержки никак, так что проще купить какой-нибудь коммерческий.
LM>>Без словарей действительно никак.
SWW>Ничего подобного. Я когда-то написал такую dll (если найду — запостю), все делается абсолютно формально за одним исключением: склонение некоторых слов в винительном падеже зависит от того, одушевленное оно или нет.
Алгоритм в студию. Как там вопил Станиславский?! Не верю!
Re: Склонение слов русского языка
От: Аноним  
Дата: 12.04.05 12:38
Оценка:
Здравствуйте, flashpoint, Вы писали:

F>Кто-нить делал склонение слов руского языка ????

F>Например: Иванов Иван Иванович->Иванову Ивану Ивановичу->Ивановым Иваном Ивановичем и т.д.
F>Т.е. алгоритм принимает слово в 1-ом параметре, а во 2-м параметре мы указываем склонение.

F>CMyClass a1;

F>CString csWord = "Иванов";
F>CString csRes = a1.GetWord(csWord,"РП"); // родительный падеж

А при чем тут форум по С/C++?
Re[8]: Склонение слов русского языка
От: Кодт Россия  
Дата: 12.04.05 13:01
Оценка: :))) :))
Здравствуйте, Erop, Вы писали:

SWW>>Ничего подобного. Я когда-то написал такую dll (если найду — запостю), все делается абсолютно формально за одним исключением: склонение некоторых слов в винительном падеже зависит от того, одушевленное оно или нет.


E>Да? И как "абсолютно формально" из "человек" получить "людей" ?


E>А ведь ещё бывают чередования, скажем бессмертное "ключик" -> "ключика", но "замочек" -> "замочка" А ещё бывает бука "ё"

E>А ещё бывают исключения и т. п.

Армянское радио спрашивают: как склонять имя Ной.
Отвечаем:
И: Ной
Р: Ного
Д: Ному
В: Ного
Т: Ным
П: о Ном (о Нём)
(© Красная бурда)
Перекуём баги на фичи!
Re: Склонение слов русского языка
От: ssm Россия  
Дата: 12.04.05 13:24
Оценка:
Здравствуйте, flashpoint, Вы писали:

F>CMyClass a1;

F>CString csWord = "Иванов";
F>CString csRes = a1.GetWord(csWord,"РП"); // родительный падеж

проще переложить эту заботу на пользователя, тоесть помимо "Имя" и "Фамилия" иметь в справочнике физ. лиц необходимые падежные формы.
Re[8]: Склонение слов русского языка
От: SWW Россия  
Дата: 12.04.05 13:29
Оценка: :)
SWW>>Ничего подобного. Я когда-то написал такую dll (если найду — запостю), все делается абсолютно формально за одним исключением: склонение некоторых слов в винительном падеже зависит от того, одушевленное оно или нет.

E>Да? И как "абсолютно формально" из "человек" получить "людей" ?


Речь шла о склонении существительных, а не о получении множественного числа.
По поводу "замочка" сейчас не помню, если найду — завтра напишу.
Re: Склонение слов русского языка
От: xtile  
Дата: 13.04.05 07:16
Оценка:
Здравствуйте, flashpoint, Вы писали:

F>Кто-нить делал склонение слов руского языка ????

F>Например: Иванов Иван Иванович->Иванову Ивану Ивановичу->Ивановым Иваном Ивановичем и т.д.
F>Т.е. алгоритм принимает слово в 1-ом параметре, а во 2-м параметре мы указываем склонение.

F>CMyClass a1;

F>CString csWord = "Иванов";
F>CString csRes = a1.GetWord(csWord,"РП"); // родительный падеж

Делали.
Затраты примерно 4 человеко-мес.

А в чем вопрос ?
Re[2]: Склонение слов русского языка
От: LuciferMoscow Россия  
Дата: 13.04.05 07:26
Оценка: +1
Здравствуйте, xtile, Вы писали:
X>Делали.
X>Затраты примерно 4 человеко-мес.
Перебор вроде
Re: Склонение слов русского языка
От: conraddk Россия  
Дата: 13.04.05 08:53
Оценка:
Здравствуйте, flashpoint, Вы писали:

F>Кто-нить делал склонение слов руского языка ????

Почитай обработка русского текста
Автор: Nuald
Дата: 05.10.04
и Склонения имен
Автор: Demiurg
Дата: 23.09.04
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Все на свете должно происходить медленно и неправильно...
Re: Склонение слов русского языка
От: morpher Великобритания http://morpher.ru
Дата: 28.11.08 13:28
Оценка: 3 (1)
Здравствуйте, flashpoint, Вы писали:

F> Кто-нить делал склонение слов руского языка ????

F> Например: Иванов Иван Иванович->Иванову Ивану Ивановичу->Ивановым Иваном Ивановичем и т.д.

Делал, и весьма успешно Только Вам нужен форум не "Алгоритмы", а "Готовые библиотеки":

http://morpher.ru

Специализированная библиотека склонения слов и словосочетаний на русском языке.
Умеет склонять ФИО, ники, должности, названия отделов, предприятий и многое другое.
Доступна для .NET, Win32 (C++, Delphi, COM) и в виде веб-сервиса.
Алгоритм склонения лучший среди аналогов.
Re[2]: Склонение слов русского языка
От: Erop Россия  
Дата: 28.11.08 22:03
Оценка:
Здравствуйте, morpher, Вы писали:

M>Алгоритм склонения лучший среди аналогов.

А как их сравнивают? Я думал, что они уже давно умеют работать абсолютно точно...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.