У меня есть текст, сохраненный в строке на языке python.
Что я хочу
Имейте в виду...
Что у меня есть
Я уже использую nltk для разбиения корпуса на лексемы и удаления стоп-слов:
# split across any non-word character
tokenizer = nltk.tokenize.RegexpTokenizer('[^\w\']+', gaps=True)
# tokenize
tokens = tokenizer.tokenize(text)
# remove stopwords
tokens = [w for w in tokens if not w in nltk.corpus.stopwords.words('english')]
Я знаю о BigramCollocationFinder и TrigramCollectionFinder, которые делают именно то, что я ищу для этих двух случаев.
Вопрос
Мне нужен совет по n-граммам более высокого порядка, улучшению видов результатов, получаемых от BCF и TCF, и совет по лучшему способу определения наиболее уникальных отдельных ключевых слов.
Большое спасибо!