Как создаются облака ключевых слов? Я знаю, что существует много методов nlp, но я не уверен, как они решают следующую проблему:
У вас может быть несколько элементов, у каждого из которых есть список ключевых слов, относящихся к ним.
(В моей собственной программе эти статьи представляют собой статьи, в которых я могу использовать методы nlp для определения собственных имен, людей, мест и (?) Возможных предметов. Это будет очень большой список, учитывая статью достаточного размера, но я предполагаю, что могу свернуть список, используя какой-то метод, сравнивая статьи. Я не совсем понимаю, как это сделать правильно.
Каждый элемент может иметь список ключевых слов, но как это сделать? они выбирают ключевые слова так, что ключевые слова не являются слишком конкретными или чрезмерно общими для каждого элемента? Например, тривиально «the» может быть ключевым словом, состоящим из множества элементов. В то время как «суперкалифрагистизм» может быть только в одном.
I предположим , что я мог бы создать эвристику, где, если слово существует в n% элементов, где n естьдостаточно мал, но вернет хороший список (скажем, 5% из 1000 статей - это 50, что кажется разумным), тогда я мог бы просто использовать это. Однако , проблема, которую я использую с этим подходом, заключается в том, что, учитывая два разных набора совершенно разных предметов, скорее всего, существует некоторая разница во взаимосвязи между предметами, и я выбрасываю эту информацию.
Это очень неудовлетворительно.
Я чувствую, что, учитывая популярность облаков ключевых слов, должно быть, уже создано решение. Однако я не хочу использовать библиотеку, поскольку хочу понять и манипулировать предположениями в математике.
Если у кого-то есть какие-либо идеи, пожалуйста, дайте мне знать.
Спасибо!
РЕДАКТИРОВАТЬ:
Freenode / Programming / Guardianx предложил https://en.wikipedia.org/wiki/Tf%E2%80%93idf
TF-IDF нормально, но проблема в том, что вес должен бытьрешительно априори. Учитывая, что две разные коллекции документов будут иметь различное внутреннее сходство между документами, предполагая, что априорный вес не является правильным
freenode / программирования / anon предлагается https://en.wikipedia.org/wiki/Word2vec
Я не уверен, что хочу что-то, что использует нейронную сеть (немного сложнее для этой проблемы?), Но все еще рассматривает.