Большой Воронежский Форум
» Программирование>Программа на заказ - деление слов на составные части
misteriada 12:08 12.05.2012
Нужна программа, которая делила бы структурную схему каждого слова словаря на части и выводила все эти части в ячейки интерфейса самой программы.
В базе каждое слово имеет свою морфемную структуру, но она не разделена на составляющие, именно разделить их программно в первую очередь и требуется, т.е. при выборе слова должны отображаться все его морфемы по ячейкам. Список морфем тоже есть в отдельном файле.
Проклитики в схеме: стоят в начале слова и отделены от его основы пробелом.
Приставка в схеме: стоит в начале слова или после предыдущей приставки, отделены -(дефисом)
Корень: стоит после приставок или проклитика (если приставка отсутствует), как правила заканчивается символом =, который открывает суффиксы (бывают сиключения)
Суффикс: находится после корня (корень может быть и нулевым), мжет быть несколько, обособлен символом=, заканчиваться также может на символ _ (показатель начала окончания) или пробел (редко перед энклитиком)
окончание: располагается в конце слова или перед энклитиком, перед началом окончания в схеме всегода символ _.
Энклитик: располагается в конце слова, перед ним всегда пробел.
Бывают исключения (особенно это касается сложных слов, где 2 корня, их необходимо просто разбирать отдельно по той же схеме т.е. дополнительным алгоритмом т.к. делится будет не одно слово, а два или три, но по той же схеме).
Должно выполняться преобразование в обе стороны: 1. Берем слово - разбивается на морфемы и все они отображаются. 2. Берем любую морфему - отображаются все слова, в которые данная морфема входит.
Проще говоря есть формула, которую надо разложить по границам ее составляющих частей и обеспечить вывод этих частей на экран. Потом посчитать сколько раз каждая часть схемы употреблялась и сделать вывод в Эксель.
Исходные данные: БД Аксесс (можно заменить любой другой БД), в ней содержатся слова и их структурная схема.

Пример:
пример : взяла наобум слова, чтобы было видно смысл...
НАБОРОТЬСЯ - это слово
на-бОр=0=тi_# сьн - морфемная структура этого слова т.е. схема
приставка: на
корень: бОр
суффикс: 0 (нулевой), тi
окончание:#
энклитик: сьн
ПРИХЛЕБНИК при хлЕб=ьн=ик_ъ
проклитик: при
корень: хлЕб
суффиксы: ьн, ик
окончание: ъ

ПРИЧИННО-СЛЕДСТВЕННЫЙ(само слово) при-кИн=ьн_о{-}сл>д=ьск=тв=ен=ьн_ый (его структурная схема)
со сложными словами алгоритм тот же, но вдвойне:
схема первой части:
приставка: при
корень: кИн
суффикс:ьн
окончание: о
схема второй части:
корень: сл>д
суффиксы: ьск, тв, ен, ьн
окончание: ый

В итоге полкчаем: надо разобрать формализованную строку и раскидать ее содержимое по бд. Все остальное стандартный набор действий над бд.


Срок до 15 мая. По оплата в личку. За руководство пользователя, составленное для "дурака" - оплата отдельно.
Spectator 02:30 13.05.2012
Дерзайте)
Если кто до 15 мая вам такое напишет, вот чесно - шампанское с меня) с исполнителем по спиртному договоримя) Тоже не поскуплюсь.

16 мая тема будет закрыта
За восстановление без совета со мной - бан.
misteriada 18:01 13.05.2012

Сообщение от Spectator:
Дерзайте)
Если кто до 15 мая вам такое напишет, вот чесно - шампанское с меня) с исполнителем по спиртному договоримя) Тоже не поскуплюсь.


16 мая тема будет закрыта
За восстановление без совета со мной - бан.

а что там писать? для программиста Делфи работы по этой задаче на 1 день.
silly 20:04 13.05.2012
Отлично. Почему тогда с вами никто не хочет связываться?
Yandex 21:04 13.05.2012
silly, слишком просто
Когда пересдача?
misteriada 05:45 14.05.2012

Сообщение от Yandex:
silly, слишком просто

Когда пересдача?

нет пересдачи, нужно до 23 мая сдать курсовой проект
misteriada 05:47 14.05.2012

Сообщение от silly:
Отлично. Почему тогда с вами никто не хочет связываться?

Хотелось бы знать... наверно потому что все такие "неповторимые" и если не знают, что такое "проклитик" - задача не решаема (это реальные слова нескольких программистов...)...
Spectator 11:57 14.05.2012

Сообщение от misteriada:
Хотелось бы знать... наверно потому что все такие "неповторимые" и если не знают, что такое "проклитик" - задача не решаема (это реальные слова нескольких программистов...)...

Есть одна чисто техническая проблема, которую Вы не понимаете.... При сколь угодно большом (т.е. не 10 и не 20) количестве морфем, на достаточно большом тексте... перебор будет работать дольше чем вы будете защищать курсовую. Поэтому те кто не знают как эту задачу решить не берутся из-за того что не знают, а те кто знают - не берутся, потому что знают что они ее не решат)))
Yandex 12:40 14.05.2012
Spectator, мне кажется не надо текст парсить. Надо слова по отдельности бить.

misteriada, стукни в аську - 165016340. Может помогу твоему горю, если с твоей стороны будет полная филологическая поддержка, а не просто приведенный кусок текста (он с опечатками или с ошибками?) и набор непонятных неработающих прог.
misteriada 20:14 14.05.2012

Сообщение от Spectator:
Есть одна чисто техническая проблема, которую Вы не понимаете.... При сколь угодно большом (т.е. не 10 и не 20) количестве морфем, на достаточно большом тексте... перебор будет работать дольше чем вы будете защищать курсовую. Поэтому те кто не знают как эту задачу решить не берутся из-за того что не знают, а те кто знают - не берутся, потому что знают что они ее не решат)))

перебор не будет работать долго т.к. количество слов строго ограничено и разделив слово 1 раз программа не будет делить его каждый раз когда ее буду просить найти это слово...
БД я занималась и защищалась в этой сфере, можно обработать огромный массив информация.
потный 15:05 15.05.2012

Сообщение от misteriada:
БД я занималась и защищалась в этой сфере, можно обработать огромный массив информация.

вы меня покорили.
misteriada 05:34 16.05.2012
программа есть, прошу закрыть тему
Вверх