| 
| 
 | Вопрос # 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]:Поверьте, это не работа на два вечера. Это как минимум хорошая аспирантская работа. Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |