У меня есть код, который выполняет тегирование части речи с помощью nltk, а затем я подсчитываю, сколько тегов произошло в каждой строке.
Пример: если у меня есть строковый ввод как:
A = [('car', 'NN'), ('bike', 'NN')]
Я попытался написать свой собственный для l oop, как показано ниже:
def count_tags(input_col):
tag_count = {}
for word, tag in input_col:
if tag in tag_count:
tag_count[tag] += 1
else:
tag_count[tag] = 1
return(tag_count)
print('tag count is: ', count_tags(hi))
, который выводит то же самое, что:
tag count is: {'NN': 2}
Вопрос:
У меня есть CSV-файл, который содержит строки в каждой строке, как, например, A
пример выше:
print(df['tags'])
0 [('car', 'NN'), ('bike', 'NN')]
1 [('TV', 'NN'), ('access', 'JJ')
и когда я загружаю с помощью panda, а затем пытался подсчитать теги:
df['tag_count'] = df['tags'].map(count_tags)
Я получаю следующую ошибку:
ValueError: not enough values to unpack (expected 2, got 1)
Мой ожидаемый результат:
ID tags count
2 [('car', 'NN'), ('bike', 'NN')] {'NN': 2}
4 [('TV', 'NN'), ('access', 'JJ')] {'NN': 1, 'JJ': 1}