Категоризация данных с использованием обработки текста - PullRequest
1 голос
/ 29 апреля 2019

У меня есть набор данных, в котором мне нужно классифицировать данные, используя единицы измерения, например

UNITS        PRICE
pieces       100
piece        70
peice        50
1 pc         50
pics         60
single piece 50

Предположение: кусочки и кусочки могут рассматриваться как одинаковые

Здесь все единицы должны указывать натот же корень слова (кусок).Я применил stemming и lemmatization из библиотеки nltk в python, но это не дало желаемого результата.

Применительно к некоторым примерам

from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
stemmer= PorterStemmer()
input_str=['pieces', 'piece', 'peice', '1 pc', 'pics', 'single Peice']
for word in input_str:
    print(stemmer.stem(word), end=' ')

Вывод, который он дал,

piec piec peic 1 pc pic singl peic 

Есть ли способ считать приблизительно одинаковые слова похожими?

Я не знаю, как мне поступить с этой проблемой.Может кто-нибудь предложить что-нибудь?

1 Ответ

0 голосов
/ 30 апреля 2019

Как вы упомянули, основа или лемматизация не исправляют орфографию.

Существует довольно мало вариантов автокоррекции орфографии, но имейте в виду, что в некоторых случаях они могут потерпеть неудачу.Может потребоваться ручное вмешательство, если вам нужна корректная защита от дурака.

  1. pySpellChecker
  2. автозамена

Иногда вам может понадобиться исправить неуместные пробелы, в такой ситуации вы можете использовать слово сегмент .

...