вычислить сходство документов - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть вопрос, касающийся вычисления сходства между документами с использованием рассылки тем, созданной LDA.Я использую Java-пакет Mallet для выполнения простой кластеризации LDA.Из теории я знаю, что сходство между документами вычисляется с использованием сходства Дженсена Шеннона.Я не уверен, какие темы по распространению документов я буду использовать.Я делаю следующее:

ParallelTopicModel model = ParallelTopicModel.read(new File("/tmp/lda"));
double[][] docProbAll = model.getDocumentTopics(true, true);
//docProb = model.getDocumentTopics(false,false);
//docProbNormalized = model.getDocumentTopics(true,false);
//docProbSmoothed = model.getDocumentTopics(false,true);

    double[][] sim = new double[model.getData().size()][model.getData().size()];

    for (int did = 0; did < model.getData().size(); did++) {
        for (int i = 0; i < model.getData().size(); i++) {

            double w = cc.mallet.util.Maths.computeJSsimilarity(docProbAll[did], docProbAll[i]);
            sim[did][i] = w;
        }
    }

Я не уверен, буду ли я использовать нормализованный проб.распределение или сглаживание или оба.Мой дополнительный вопрос касается результата сходства JS.Нужно ли делать квадрат JS результата?Моя конечная цель - создать матрицу сходства doc-doc для дальнейшей обработки (кластеризация распространения сродства).Спасибо за любой совет.

...