Как трактовать фразы как один токен в матрице частот? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть фрейм данных

data = ["I am an awesome guy and an old guy","I am a strong guy"]
df = pd.DataFrame(data, columns = ['text'])

Кроме того, у меня есть список фраз

phrase_list = ["awesome guy","strong guy"]

Теперь я пытаюсь создать матрицу частот термина для панд "text"столбец, и я хочу фразы в фразе_лист, если он существует в предложении как одно слово в матрице. Выходные данные должны быть примерно такими:

          text                         I       am      an   "awesome guy"  and old  guy  a  "strong guy"
0  I am an awesome guy and an old guy  1        1       2        1          1   1    1   0       0
1  I am a strong guy                   1        1       0        0          0   0    0   1       1


Есть идеи?

Мне удалось получить матрицу частот термина без словосочетания фразы с приведенным ниже кодом, но я не уверен, как включить фразу_списка.

from sklearn.feature_extraction.text import CountVectorizer
countvec = CountVectorizer()
countvec.fit_transform(df['text'])
df = pd.DataFrame(countvec.fit_transform(df['text']).toarray(), columns=countvec.get_feature_names())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...