Как перечислить части речи и сосчитать их?

#python

#питон

Вопрос:

У меня возникла проблема с перечислением всех используемых POS и их количеством. Это мой текущий код:

 from nltk import word_tokenize sentence = 'This article discusses how our evolutionary instincts clash with the modern world' print(nltk.pos_tag(word_tokenize(sentence))))  

Выход:

 [('This', 'DT'), ('article', 'NN'), ('discusses', 'VBZ'), ('how', 'WRB'), ('our', 'PRP

Мой идеальный результат, например:

nn:

Количество = 2

dt:

Количество = 2

Кроме того, есть ли шанс, что он также может перечислить процент использованных POS?

nn:

Процент: 20%


Ответ №1:

Используйте collections.Counter !

 gt;gt;gt; from collections import Counter  gt;gt;gt; output = [('This', 'DT'), ('article', 'NN'), ('discusses', 'VBZ'), ('how', 'WRB'), ('our', 'PRP


Комментарии:

1. Есть ли какой-либо способ удалить счетчик печатных слов из вывода всего списка частей речи и их количества?

2. @Джей counter = dict(counter)

3. @Jay да конвертируйте в дикт, это самый чистый

), ('evolutionary', 'JJ'), ('instincts', 'NNS'), ('clash', 'VBP'), ('with', 'IN'), ('the', 'DT'), ('modern', 'JJ'), ('world', 'NN') Мой идеальный результат, например:

nn:

Количество = 2

dt:

Количество = 2

Кроме того, есть ли шанс, что он также может перечислить процент использованных POS?

nn:

Процент: 20%

Ответ №1:

Используйте collections.Counter !


Комментарии:

1. Есть ли какой-либо способ удалить счетчик печатных слов из вывода всего списка частей речи и их количества?

2. @Джей counter = dict(counter)

3. @Jay да конвертируйте в дикт, это самый чистый

), ('evolutionary', 'JJ'), ('instincts', 'NNS'), ('clash', 'VBP'), ('with', 'IN'), ('the', 'DT'), ('modern', 'JJ'), ('world', 'NN')] gt;gt;gt; counter = Counter(second for first, second in output) gt;gt;gt; counter Counter({'DT': 2, 'NN': 2, 'JJ': 2, 'VBZ': 1, 'WRB': 1, 'PRP

Комментарии:

1. Есть ли какой-либо способ удалить счетчик печатных слов из вывода всего списка частей речи и их количества?

2. @Джей counter = dict(counter)

3. @Jay да конвертируйте в дикт, это самый чистый

), ('evolutionary', 'JJ'), ('instincts', 'NNS'), ('clash', 'VBP'), ('with', 'IN'), ('the', 'DT'), ('modern', 'JJ'), ('world', 'NN')

Мой идеальный результат, например:

nn:

Количество = 2

dt:

Количество = 2

Кроме того, есть ли шанс, что он также может перечислить процент использованных POS?

nn:

Процент: 20%

Ответ №1:

Используйте collections.Counter !


Комментарии:

1. Есть ли какой-либо способ удалить счетчик печатных слов из вывода всего списка частей речи и их количества?

2. @Джей counter = dict(counter)

3. @Jay да конвертируйте в дикт, это самый чистый

: 1, ‘NNS’: 1, ‘VBP’: 1, ‘IN’: 1}) gt;gt;gt; counter[«DT»] 2

Комментарии:

1. Есть ли какой-либо способ удалить счетчик печатных слов из вывода всего списка частей речи и их количества?

2. @Джей counter = dict(counter)

3. @Jay да конвертируйте в дикт, это самый чистый

), (‘evolutionary’, ‘JJ’), (‘instincts’, ‘NNS’), (‘clash’, ‘VBP’), (‘with’, ‘IN’), (‘the’, ‘DT’), (‘modern’, ‘JJ’), (‘world’, ‘NN’)Мой идеальный результат, например:

nn:

Количество = 2

dt:

Количество = 2

Кроме того, есть ли шанс, что он также может перечислить процент использованных POS?

nn:

Процент: 20%

Ответ №1:

Используйте collections.Counter !


Комментарии:

1. Есть ли какой-либо способ удалить счетчик печатных слов из вывода всего списка частей речи и их количества?

2. @Джей counter = dict(counter)

3. @Jay да конвертируйте в дикт, это самый чистый