У меня есть большой (+/- 300 000 строк) набор фрагментов текста, содержащий некоторые шумные элементы. С шумным я имею в виду слова сленга, ошибки типа и т. Д. Я хочу отфильтровать эти шумные элементы, чтобы иметь более чистый набор данных.Алгоритм для удаления слов в корпусе с небольшим появлением
Я прочитал несколько статей, которые предлагают отфильтровать их, отслеживая появление каждого слова. Установив перебор (например, менее 20), мы можем предположить, что эти слова являются шумом и, следовательно, могут быть смело удалены из корпуса.
Возможно, есть некоторые библиотеки или алгоритмы, которые делают это быстрым и эффективным способом. Конечно, я пробовал это сам сначала, но это ЧРЕЗВЫЧАНО медленно!
Таким образом, я хотел бы найти алгоритм, который может отфильтровывать слова быстрым и эффективным способом, которые происходят меньше, чем конкретное требование. Может быть, я добавить небольшой пример:
This is just an example of whaat I wish to acccomplish.
Слова «whaat» и «acccomplish» написаны с ошибками, и, таким образом, вероятно, произойдет реже (если мы предполагаем жить в идеальном мире и опечаток редко ...). Я хочу закончить
This is just an example of I wish to.
Спасибо!
PS: Если это возможно, я хотел бы иметь алгоритм в Java (или псевдо-код, так что я могу написать это сам)
Мне не очень нравится ваш подход. Существует множество редких, но вполне достоверных слов, которые будут потеряны. Если вы хотите удалить слова с ошибкой, тогда проверка орфографии. – tom
Что вы пытаетесь? – aglassman
1) построить 2D-массив с количеством строк, равным количеству строк в наборе данных. 2) прочитайте строки за строкой, добавьте каждое слово в HashMap, где String - это слово, Object содержит количество вхождений и список индексов (col, row), чтобы найти, где это слово происходит в целом набор данных. 3) Я конвертирую строку в StringArray и добавляю ее в 2D-массив в виде строки. 4) Я сортирую HashMap на основе вхождений 5) Для каждого слова, имеющего вхождения <= treshold, я беру значения (col, row) и удаляю их 6) Считывает 2D-массив –
RazorAlliance192