Несколько лет назад я пытался такую штуку на коленке собрать, но мне не понравилось, как оно работает.
Смотрите, есть некие короткие тексты, в которых может встречаться, например, "World", "World of Warcraft", "World of Tanks" или какой-нибудь "Jurassic World: The Game". Если делать обычный wordcloud, то все эти World сольются в один огромный.
Я пытался наваять что-то, что вычитало бы популярные биграммы и триграммы из списка слов. Но там начинаются всякие приключения, типа того, что "World of" становится популярной биграммой... И нужно каким-то алгоритмом находить баланс и определять, где тут осмысленная три грамма, а где биграмма, а где просто одно слово популярное.
Видел, что подобный алгоритм работает в некоторых решениях, которые строят Wordcloud.
Прочитай доки к udpipe. Там есть и разметка, после которой можно взять только леммы и убрать лишние части предложений, а ещё есть алгоритмы поиска клюевых слов.
Обсуждают сегодня