使用文本处理对数据进行分类

时间:2019-04-29 20:27:14

标签: python-3.x machine-learning scikit-learn nltk

我有一个数据集,我需要使用那里的单位对数据进行分类,例如

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

假设:碎片和碎片可能被视为相同

此处所有单位必须指向相同的词根(片断)。我确实在python的stemming库中应用了lemmatizationnltk,但没有得到期望的结果。

将其应用于某些示例

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 :(得分:0)

正如您提到的,词干或词根化不能纠正拼写。

有很少的选项可以自动更正拼写,但是请注意,在某些情况下这些拼写可能会失败。如果您需要傻瓜校正,可能需要人工干预。

  1. pySpellChecker
  2. autocorrect

有时,您可能需要纠正放错位置的空格,在这种情况下,您可以使用word segment