Реализовать скрипт на языке php 7.1 используя Laravel 5.8

5 000 руб. за проект
15 декабря 2020, 09:17 • 2 отклика • 40 просмотров
Реализовать скрипт на языке php 7.1 используя Laravel 5.8.


Параметры скрипта:

  1. Путь к файлу со списком наименований. В данном файле более 150 000 строк, поэтому его проходить построчно, а не загружать целиком.
  2. Флаг создать все необходимые таблицы mysql
Алгоритм.

Шаг 1.


Для каждого строки определяем список слов.


  1. Заменить символы (, . - ( ) ) пробелами
  2. Слова заключенные в кавычки (учесть разные варианты: “ ` ’ « ») и в квадратные скобки [], считаются как одно слово.
  3. Удалить все предлоги и союзы (https://russky.info/ru/grammar/prepositions)
  4. Получаем список слов, путем разделения строки пробелом.

Код данного шага вынести в отдельный класс и покрыть тестами.


Шаг 2.


Для каждого слова (кроме заключенных в кавычки и в квадратные скобки) определяем лемму (яблоки - яблоко).

Для этого использовать https://yandex.ru/dev/mystem/

Учесть, что данный скрипт может запускать на windows, то есть взять соответствующий файл.

Код данного шага вынести в отдельный класс и покрыть тестами.


Шаг 3.


Для каждого слова ищем синоним в таблице Синонимы. Далее берем его.
Содержание таблицы будет заполняться вручную.


Структура таблицы Synonyms:

  • id
  • lemma
  • synonym - синоним для леммы

Шаг 4.


Каждое слово добавляем в таблицу СтатистикаСлов. Увеличиваем счетчик.



Структура таблицы WordsStats:

  • id
  • lemma - с учетом синонима
  • count - счетчик, увеличивается при каждом добавлении
  • forms - данное поле содержит исходные слова (Шаг 1) + счетчик для каждого исходного слова.

В результате мне нужен:

  1. Файлы проекта
  2. Выгруженная таблица WordsStats в csv. Необходимо для приемки работы.
  3. Справка как запускать скрипт
Файлы
Отзывы
R50 2875d3cf1f928f46fc1950d84ee8cf81
Заказчик
 
3 года назад