Удаление посторонних документов из корпуса - PullRequest
0 голосов
/ 14 мая 2019

Как я могу удалить посторонние документы из корпуса перед передачей их в LDA?

Я занимаюсь моделированием тем с использованием LDA. У меня большой источник данных с разных веб-сайтов.Я хочу классифицировать их по 5 категориям, но наличие посторонних документов дает неточные результаты.

Может кто-нибудь помочь с этой проблемой. Я хочу, чтобы после классификации были представлены только те статьи, которые относятся к любым 5 категориям.

Ответы [ 2 ]

0 голосов
/ 20 мая 2019

Простой способ: выбрасывайте слова, которые встречаются настолько часто, что они мало говорят нам о теме, а также слова, которые встречаются в <15 строках слишком редко, а затем держите 100 000 слов сверху </p>

dictionary_15.filter_extremes(no_below=15, no_above=0.5, keep_n=100000)

Сложный путь: если вам нужны документы только по определенной теме, вы можете создать двухслойный LDA, который сначала выделяет темы, а затем создает второй lda, отфильтровывая документы, классифицированные в первом слое, в вашей целевой теме и выделяя их. Я хотел бы создать LDA, скажем, из пяти тем, вывести их в CSV, затем создать новый документ, отсортировав и отфильтровав его в Alteryx, или даже Excel может оказаться проще, чем Python, и использовать этот документ для выполнения второго шага.

0 голосов
/ 15 мая 2019

Вам нужно взять подмножество вашего текущего набора данных в качестве входных данных в вашей модели.Есть ли особые характеристики статей, которые являются выбросами?Например, если длина некоторых статей слишком велика, вы можете задать подмножество:

corpus = corpus[corpus['text'].str.len() < 1000]

Или, если вы найдете некоторые выбросы вручную, вы можете удалить их вручную с помощью:

corpus = corpus[corpus['title'] != 'Stackoverflow saved my life']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...