Предварительная обработка текстов для машинного обучения

Чтобы повысить результативность машинного обучения, необходимо очень тщательно подготовить исходные референсные данные. Если речь идёт о генераторах текста (и стихов в частности), надо позаботиться о тех статьях и книгах, на которых будет обучаться компьютер. В основном, в интернете рекомендуют писать сложные программы для этих целей, обычно на языке Python. Ниже собраны простые и ультра-мощные команды оболочки Linux, которые позволяют быстро (хоть и жестоко) подготовить объемные тексты.

Проверяем, всегда ли точка является символом окончания предложения? Выводим все строки. в которых после точки идёт не пробел:

cat ./text.txt |grep "\.[^ ]"

Удаляем все строки, которые содержат Chapter (для этого после каждой точки предварительно добавляем перевод строки):

sed -i.bak '/Chapter/d' ./text.txt

Удалить строки, содержащие несколько слов, например, удалить строки с ключевым словом http или www.

sed -i.bak '/http\|www/d' ./text.txt

Удаляем все предложения, короче 32 символов:

awk 'length>32' ./accel.txt > ./accel2.txt

Удаляем строки, начинающиеся с определенного символа, например, строки комментариев, начинающиеся с #:

sed -i.bak '/^#/d' ./text.txt

Удаляем весть текст в скобках (обычно это расшифровки аббревиатур). Нет, не всегда работает.

sed -n '1!H;1h;${x;s/(.*)/()/;p}'

или:

awk -v RS="" '{sub(/\(.*\)/,"()")}1' 
Авторизуйтесь, чтобы получить возможность оставлять комментарии
Go to top