Я хочу отобрать из них только те, в которых подразумевается отдых/путешествие по городам России. А точнее, я хочу получить регулярку, которая с высокой точностью сможет повторить за мной (я предварительно сам размечаю строки классами) бинарную классификацию строк. На самом деле строк очень много – сотни и тысячи. Но я хочу отобрать топ-10/топ-100 строк, руками их разметить и на этих размеченных данный получить нужную мне регулярку, а затем натравить её на все остальные строки.
Я не великий специалист, но можно было бы попробовать учить не регулярку, а что-то более обыденное, а потом транслировать это в регулярку, причем так, что более сложное решение транслировалось бы в более длинную регулярку.
Т.е. допустим мы берем регулярку типа
Код:
(росси|алтае|сочи)
В общем виде

Кусочков слов здесь м.б. довольно много. Пусть

- размер датасета,

- кусочек текста, фичи

. Тогда текст матчится регуляркой

- это у нас классификация. Если

- кол-во примеров с

, то у нас будет задачка

. Если предположить, что

, то жадный алгоритм нашел бы регулярку

для какого-то

. Т.е. уже тут надо балансировать между длиной регулярки и ее точностью/precision/recall. В более сложном виде получится, что мы учим какую-то булеву функцию (КНФ) на фичах

, но тут только перебор или еще какие-нибудь эвристики. Например, тоже взять

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