|
Вопрос # 2 190/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!Помогите,пожалуйста,с решением одной нестандартной задачи.
Написать программу,выполняющую синтаксический анализ предложения русского языка.Предложение вводится с клавиатуры.Для глаголов использовать настоящее время,подлежащее,сказуемое,определение и дополнение.Использовать в предложении местоимение и наречие.
Т.е. необходимо,например, в поле Edit ввести предложение,а в Label,например,или тоже в Edit вывести информацию,о том,каким членом предложения является данное слово.Помогите с решением этой задачи.Заранее спасибо.
 |
Вопрос задал: Maverick (статус: Посетитель)
Вопрос отправлен: 12 декабря 2008, 19:08
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 12; последнее сообщение — 16 декабря 2008, 11:47; участников в обсуждении: 5.
|
Ученый (статус: 8-ой класс), 12 декабря 2008, 19:18 [#1]:
Огого! И в прямь сложная задача! Просто русский язык не всем людям дается, а уж программе.... Но задача интересная, надо подумать...
|
|
Вадим К (статус: Академик), 12 декабря 2008, 19:28 [#2]:
Анализ предложения на русском языке? та даже маленький ребёнок так завернет, что что вроде и понятно, а вот разобрать по частям речи - группа филологов будет спорить.
С англойской речью к примеру проще - там легко формализировать, а вот русский, украинский... это уже темой хорошего диплома попахивает. Даже для примитивных предложений.
Ведь для начала наверно прийдётся составить (найти, скачать) базу слов. потом научиться приводить различные словоформы к словарной форме. Даже для глаголов настоящего времени есть как минимум 6 формы (я иду, ты идёшь, он/она идет, мы идём, вы идете, они идут). Плюс есть куча неправильных глаголов, которые не просто меняют окончание (например я ем, он ест, они едят).
То есть, для начала надо подучить хорошо филологию родного языка (если он для Вас родной), и только потом браться.
Между тем, зная всё вышеприведённое, становиться понятным, почему англоязычный спам более пробивной - дело в том, что в английском очень легко генерировать предложения с одним и тем же смыслом, но с разными словами. В русском/украинском можно двинуться, пока сделешь хотя бы примитивное согласование всех слов в предложении.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Maverick (статус: Посетитель), 12 декабря 2008, 21:31 [#3]:
В принципе,данную программу достаточно написать и для предложений типа Я ИДУ ГУЛЯТЬ,не используя сложные обороты и словоформы.Буквально из 3-4 слов.
|
|
Вадим К (статус: Академик), 13 декабря 2008, 00:13 [#4]:
Ага, в примере как раз привели простенькое предложение ) Вот она сила языка. "ИДУ ГУЛЯТЬ" это сложное сказуемое, а это уже заметно усложняет задачу.
Скажите, зачем Вам это нужно? А потом будем решать что делать.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Maverick (статус: Посетитель), 13 декабря 2008, 07:42 [#5]:
Решение этой задачи преподаватель по программированию зачтёт мне как оценку "5" на экзамене.Это одно из контрольных заданий за семестр.
|
|
Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 13 декабря 2008, 09:35 [#6]:
Ну и препод у Вас. Впрочем, мы как-то обсуждали вариант дипломого проекта по распознаванию лиц на фотографии (по БД портретов) .
Насчет задачи... Может по окончаниям как-нибудь определять существительное, прилагательное, глагол, и исходя из этого отвечать подлежащее, сказуемое, определение... А вообще даже и непонятно, за что тут зацепиться. База слов? Может быть...
|
|
min@y™ (статус: Доктор наук), 13 декабря 2008, 11:07 [#7]:
Цитата:
Решение этой задачи преподаватель по программированию зачтёт мне как оценку "5" на экзамене.
Сдаётся мне, твой препод - большой юморист. Экстравагантно пошутил, однако.
З.Ы. Представь, что 2 моих последних предложения доолжна будет разобрать по синтаксису твоя будущая программа.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Вадим К (статус: Академик), 13 декабря 2008, 16:54 [#8]:
Чувствуется мне, что вопрошающий очень часто ходил на занятия, но перед всеми говорил, что он классный программист. Либо преподу захотелось новую машину (маловероятно, хотя). Вот и собирает. А по поводу разбора есть чудное предложение
"Встать пойти купить поесть". Для начала можно ручками разобрать )
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Maverick (статус: Посетитель), 13 декабря 2008, 22:25 [#9]:
Я понимаю,задача сложная,но дело в том,что разбор во всех языковых нюансах не требуется,т.е.например,по окончаниям найти определение,местоимений не так много - их можно поместить в массив,предлоги - аналогично,обстоятельства можно определить просто как наречия(окончание О)...Это необходимо для простых предложений.
|
|
Вадим К (статус: Академик), 14 декабря 2008, 01:11 [#10]:
Так зачем Вы тогда спрашиваете, если Вы и так всё знаете. Задача сложная, но для этого надо разбить на несколько подзадач. Например можно начать с разбиения на слова. А потом с построения дерева связей.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Maverick (статус: Посетитель), 16 декабря 2008, 11:23 [#11]:
Так это только как бы сказать наброски,мысли вслух.А как это реализовать в конкретном примере в Делфи - это я и не могу сделать.
|
|
Вадим К (статус: Академик), 16 декабря 2008, 11:47 [#12]:
Поверьте, это не работа на два вечера. Это как минимум хорошая аспирантская работа.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|