Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 190

Раздел: Delphi » Прочее
/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!Помогите,пожалуйста,с решением одной нестандартной задачи.
Написать программу,выполняющую синтаксический анализ предложения русского языка.Предложение вводится с клавиатуры.Для глаголов использовать настоящее время,подлежащее,сказуемое,определение и дополнение.Использовать в предложении местоимение и наречие.
Т.е. необходимо,например, в поле Edit ввести предложение,а в Label,например,или тоже в Edit вывести информацию,о том,каким членом предложения является данное слово.Помогите с решением этой задачи.Заранее спасибо.

Maverick Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: 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

Maverick (статус: Посетитель), 12 декабря 2008, 21:31 [#3]:

В принципе,данную программу достаточно написать и для предложений типа Я ИДУ ГУЛЯТЬ,не используя сложные обороты и словоформы.Буквально из 3-4 слов.
Вадим К

Вадим К (статус: Академик), 13 декабря 2008, 00:13 [#4]:

Ага, в примере как раз привели простенькое предложение:)) Вот она сила языка. "ИДУ ГУЛЯТЬ" это сложное сказуемое, а это уже заметно усложняет задачу.
Скажите, зачем Вам это нужно? А потом будем решать что делать.
Галочка "подтверждения прочтения" - вселенское зло.
Maverick

Maverick (статус: Посетитель), 13 декабря 2008, 07:42 [#5]:

Решение этой задачи преподаватель по программированию зачтёт мне как оценку "5" на экзамене.Это одно из контрольных заданий за семестр.
Косолапов Дмитрий Юрьевич

Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 13 декабря 2008, 09:35 [#6]:

Ну и препод у Вас. Впрочем, мы как-то обсуждали вариант дипломого проекта по распознаванию лиц на фотографии (по БД портретов) :D.

Насчет задачи... Может по окончаниям как-нибудь определять существительное, прилагательное, глагол, и исходя из этого отвечать подлежащее, сказуемое, определение... А вообще даже и непонятно, за что тут зацепиться. База слов? Может быть...
min@y™

min@y™ (статус: Доктор наук), 13 декабря 2008, 11:07 [#7]:

Цитата:


Решение этой задачи преподаватель по программированию зачтёт мне как оценку "5" на экзамене.


Сдаётся мне, твой препод - большой юморист. Экстравагантно пошутил, однако.

З.Ы. Представь, что 2 моих последних предложения доолжна будет разобрать по синтаксису твоя будущая программа. :)
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Вадим К

Вадим К (статус: Академик), 13 декабря 2008, 16:54 [#8]:

Чувствуется мне, что вопрошающий очень часто ходил на занятия, но перед всеми говорил, что он классный программист. Либо преподу захотелось новую машину (маловероятно, хотя). Вот и собирает. А по поводу разбора есть чудное предложение:)
"Встать пойти купить поесть". Для начала можно ручками разобрать:))
Галочка "подтверждения прочтения" - вселенское зло.
Maverick

Maverick (статус: Посетитель), 13 декабря 2008, 22:25 [#9]:

Я понимаю,задача сложная,но дело в том,что разбор во всех языковых нюансах не требуется,т.е.например,по окончаниям найти определение,местоимений не так много - их можно поместить в массив,предлоги - аналогично,обстоятельства можно определить просто как наречия(окончание О)...Это необходимо для простых предложений.
Вадим К

Вадим К (статус: Академик), 14 декабря 2008, 01:11 [#10]:

Так зачем Вы тогда спрашиваете, если Вы и так всё знаете. Задача сложная, но для этого надо разбить на несколько подзадач. Например можно начать с разбиения на слова. А потом с построения дерева связей.
Галочка "подтверждения прочтения" - вселенское зло.
Maverick

Maverick (статус: Посетитель), 16 декабря 2008, 11:23 [#11]:

Так это только как бы сказать наброски,мысли вслух.А как это реализовать в конкретном примере в Делфи - это я и не могу сделать.
Вадим К

Вадим К (статус: Академик), 16 декабря 2008, 11:47 [#12]:

Поверьте, это не работа на два вечера. Это как минимум хорошая аспирантская работа.
Галочка "подтверждения прочтения" - вселенское зло.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:25
Выполнено за 0.02 сек.