Как очистить текст от шума по смыслу? Или разбить текст на смысловые блоки?

Добрый день!
Решал ли кто-то подобную задачу (на Python или вообще), можете поделиться опытом?

Есть массив текстов разговоров с клиентами по телефону. (Аудио, переведенное в текст. Для работы сейчас есть только текст).
Текст получился зашумлённым неинформативной частью.

То, что промаркировано, как речь клиента, на самом деле относится к одной из 3-х категорий:
1) Собственно речь клиента
2) Песня из мелодии при ожидании ответа абонента (Дима Билан, Григорий Лепс и другие исполнители)
3) Автоответчики ("абонент недоступен", "вне зоны действия сети" и т.д.)

Необходимо выделить собственно речь клиента.
Эти блоки в тексте могут меняться местами в произвольном порядке. Пробовал делать через составление словарей ключевых слов (характеристик типа текста) и подсчет их частоты, но получается трудоёмко и не очень точно. Если с автоответчиками, там хотя бы ограниченный набор ключевых слов, то как быть с песнями, вообще непонятно.

Подскажите пожалуйста, какие есть способы/алгоритмы очистки текста от шума или отделения части текста с другим смыслом, при том, что характеристики шума тоже формализованы не на 100%?
  • Вопрос задан
  • 817 просмотров
Решения вопроса 2
DanilBaibak
@DanilBaibak
Machine Learning engineer
Навскидку:
  1. Размечаете тренировочный датасет вручную на три класса
  2. Преобразовываете текст в tf-idf представлении
  3. Используете один из алгоритмов машинного обучения для предсказания классов


Отличный пример, как это должно выглядеть. Просто попробуйте реализовать код из примера использую Ваши данные.
Ответ написан
@ivodopyanov
NLP, python, numpy, tensorflow
Сам недавно в этой теме рылся. Можно, например, вот это почитать https://arxiv.org/abs/1503.05543
Но мне кажется, что проще будет составить словари фраз\песен, и тупо повырезать их из текста.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Собственно речь клиента
1. (+1) Промаркируйте все фразы начала разговора клиентом.
2. (-1) С обратным знаком, промаркируйте все начала фраз автоответчика.
3. (ALL - ([1]+[2])) Остальное - будут музыка и песни.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы