CountVectorizer tokenizer - PullRequest
       88

CountVectorizer tokenizer

0 голосов
/ 27 февраля 2020

У меня есть фрейм данных с предложениями, на которых я использовал countvectorizer с предопределенным словарем. Для некоторых словарных слов возвращаемое значение равно 0, хотя предложения включают слова в словаре. список слов, которые по какой-то причине не работают:

* 1 time
* 1 report
* 7 increase
* not a good fit
* not a great fit
* c level
* not a need

CountVectorizer определяется следующим образом:

CountVectorizer(vocabulary=cols,ngram_range=(1,5))

, где cols - словарь

I Я уверен, что это связано с определениями токенизатора, но не уверен, как изменить его на то, что мне нужно, любая помощь будет принята. Спасибо!

1 Ответ

1 голос
/ 01 марта 2020

Только что нашел решение в другом посте. Как и ожидалось, по умолчанию токенизация в CountVectorizer удаляет все специальные символы, знаки препинания и одиночные символы , что было моей проблемой. Все, что мне нужно было сделать, это изменить шаблон токена следующим образом:

vectorizer = CountVectorizer(vocabulary=cols,ngram_range=(1,5),token_pattern = r"(?u)\b\w+\b")

Вы можете увидеть полное объяснение здесь: полное объяснение

...