Скрипт для обработки текстовых баз

Михайлович16 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
15.12.2009

Нужно реализовать приблизительно следующее:

Исходная позиция:

1). Имеется массив ключевых слов, вида:

домашнее порно с предосмотром

видео секс бомжа

порно фото зрелых тёлок

заказать частное порно видео

юный секс

лудшее порно

порнуха лезбиянок

толстые порно девушки

рассказы про первый секс

экстрим секс фистинг фото видео

etc...

все слова находятся в текстовом файле, по одному на строку, суммарным объёмом около 60-100К кейвордов.

2). Есть бесплатная библиотека phpmorhpy - http://phpmorphy.sourceforge.net/dokuwiki/demo

С помощью её можно ставить любые русские слова, в исходную форму и определять часть речи. (Смотрите примеры в комплекте либы).

Задача.

1). Определить размер исходных данных (количество ключевиков из списка, не короче N слов. N должно задаваться в настройках скрипта).

2). Определить часть речи каждого слова в каждом кейворде, который состоит не более, чем из N слов.

При этом:

-следует помнить, что инфинитив и глагол - это одно и тоже. Т.е. если слово "скачать", то это будет рядовой глагол,

а не инфинитив.

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

Например, файл предлогов:

в нём по одному на строчку предлоги:

для

к

etc.

Таким образом, можно знать, что для у нас это предлог в абсолютно большинстве случаев, а некакая-то там Для обыкновенная. Списки, при необходимости, составляются вручную пользователем. Используются только в случае, если библиотека для слова даёт варианты разных частей речи. Тогда скрипт должен "поискать" точное решение в этих текстовых файлах. Если ничего не найдено - тогда использовать первый из предложенных библиотекой вариантов. В принципе, этот пункт опционален и его необходимость обсуждается.

В итоге для, словосочетания: мама мыла раму, мы должны определить, что это конструкция: существительное + глагол + существительное

Если попадается буржуйское слово - пишем eng. Если число цифрами - пишем num.

3). Определить количество УНИКАЛЬНЫХ конструкций во всём массиве данных, где исходные данные - кеи из пунтка 1. Конструкция - это список частей речи ключевика. Так для примеров, мама мыла раму и тётю любит дядя конструкция одна: существительное+глагол+существительное.

4). Подсчитать сколько раз встречается каждая конструкция.

5). Подсчитать какой процент составляет каждая конструкция от общего их числа.

6). К каждой конструкции, случайным образом подобрать M (задаётся в настройках) примеров. Примеры берутся из исходных данных.

7). Вывести всё на экран в виде:

существительное + глагол + существительное - количество ... (...% от общей массы).

Примеры:

мама мыла раму

тётю любит дядя

8). Записать выведенное на экран в текстовый файл - log.txt

Исполнителя выберу через несколько дней. Оплата по факту. Цены сильно не задирать. Если у вас есть аккаунт на nulled.ws - это будет плюсом. (Все эти "шаманства" делаются для проекта, реализуемого в рамках "нулледа").