contagem real de palavras no NLTK

O livro NLTK tem alguns exemplos de contagens de palavras, mas na realidade não são contagens de palavras, mas contagens de token. Por exemplo, o Capítulo 1, Contando o Vocabulário diz que o seguinte dá uma contagem de palavras:

text = nltk.Text(tokens)
len(text)

No entanto, isso não acontece - ele fornece uma contagem de palavras e pontuação. Como você pode obter uma contagem real de palavras (ignorando pontuação)?

Da mesma forma, como você pode obter o número médio de caracteres em uma palavra? A resposta óbvia é:

word_average_length =(len(string_of_text)/len(text))

No entanto, isso estaria desativado porque:

len (string_of_text) é uma contagem de caracteres, incluindo espaçoslen (text) é uma contagem de token, excluindo espaços, mas incluindo sinais de pontuação, que não são palavras.

Estou faltando alguma coisa aqui? Esta deve ser uma tarefa muito comum de PNL ...

questionAnswers(2)

yourAnswerToTheQuestion