Зачётное задание
Дедлайн: 12.09.2103, 18:00. Если до этого момента вы не сдали программу, вам придётся ходить на адаптационный курс наравне со всеми.
Даны четыре файла: bts.txt, shvedova.txt, tsi.txt, ushak.txt1.
В каждом файле приведена таблица, полученная из автоматического разбора толкового словаря. Одна строка соответствует одной словарной статье. В строке первое слово – определяемое. Следующие слова – существительные в именительном падеже из определения слова.
Мы считаем интересными только первые три (определяющих) существительных из каждой статьи.
Цель – найти среди интересных такие пары определяемое (слово) + определение (слово), которые поддерживаются тремя и более словарями. Найденные пары нужно вывести в выходной файл, по одной паре на строку.
Количество определяющих слов в статье, которые считаются интересными, количество словарей, поддержка которых достаточна для того, чтобы пара была поддержана, пути к файлам со словарями (и количество этих файлов) и имя выходного файла должны быть настраиваемыми параметрами. (Годится любой способ: optparse, gui (например, Tkinter), файл с настройками, или хотя бы вынести это константами в отдельный модуль).
Например, в словарях есть такие статьи:
bts.txt: ... ;КАГАЛ; самоуправление; община; толпа; сборище ... shvedova.txt ... ;КАГАЛ; время; польша; область; россия; организация; дело; община ;КАГАЛ; собрание; сборище ... tsi.txt ... ;КАГАЛ; община; система; управление; страна; вост; европа ;КАГАЛ; толпа; сборище; кагал ... ushak.txt ... ;КАГАЛ; собрание; старшина; орган; община; польша; часть; россия ;КАГАЛ; 2; толпа; сборище; кагал; суд; кагал ...
Из них программа должна найти только пары:
кагал – толпа (найдены в bts, tsi, ushak)
кагал – сборище (найдены в shvedova, tsi, ushak, – но не bts, там слово сборище дальше 3-го в определении)
По просьбе авторов файлов я выдаю их вам не полностью. Если аналогичные таблицы потребуются вам впоследствие для лингвистических задач, обращайтесь к авторам. С ними вы познакомитесь на НИС в понедельник. (1)