lexrankScores

Оценка документов с помощью алгоритма LexRank

Описание

пример

scores = lexrankScores(documents) оценивает указанные документы на важность согласно парным значениям подобия с помощью алгоритма LexRank. Функция использует косинусоидальное сходство и вычисляет важность с помощью алгоритма PageRank.

пример

scores = lexrankScores(bag) оценивает документы, закодированные моделью сумки слов или сумки n-граммов.

Примеры

свернуть все

Создайте массив токенизированных документов.

str = [
    "the quick brown fox jumped over the lazy dog"
    "the fast brown fox jumped over the lazy dog"
    "the lazy dog sat there and did nothing"
    "the other animals sat there watching"];
documents = tokenizedDocument(str)
documents = 
  4x1 tokenizedDocument:

    9 tokens: the quick brown fox jumped over the lazy dog
    9 tokens: the fast brown fox jumped over the lazy dog
    8 tokens: the lazy dog sat there and did nothing
    6 tokens: the other animals sat there watching

Вычислите их счета LexRank.

scores = lexrankScores(documents);

Визуализируйте счета в столбчатой диаграмме.

figure
bar(scores)
xlabel("Document")
ylabel("Score")
title("LexRank Scores")

Figure contains an axes. The axes with title LexRank Scores contains an object of type bar.

Создайте модель мешка слов из текстовых данных в sonnets.csv.

filename = "sonnets.csv";
tbl = readtable(filename,'TextType','string');
textData = tbl.Sonnet;
documents = tokenizedDocument(textData);
bag = bagOfWords(documents)
bag = 
  bagOfWords with properties:

          Counts: [154x3527 double]
      Vocabulary: [1x3527 string]
        NumWords: 3527
    NumDocuments: 154

Вычислите счета LexRank для каждого сонета.

scores = lexrankScores(bag);

Визуализируйте счета в столбчатой диаграмме.

figure
bar(scores)
xlabel("Document")
ylabel("Score")
title("LexRank Scores")

Figure contains an axes. The axes with title LexRank Scores contains an object of type bar.

Входные параметры

свернуть все

Входные документы, заданные как tokenizedDocument массив, строковые массивы слов или массив ячеек из векторов символов. Если documents не является tokenizedDocument Массив это должно быть вектор-строка, представляющее один документ, где каждый элемент является словом. Чтобы задать несколько документов, используйте tokenizedDocument массив.

Входная модель мешка слов или мешка n-граммов, заданная как bagOfWords объект или bagOfNgrams объект. Если bag является bagOfNgrams объект, затем функция обрабатывает каждый n-грамм как одно слово.

Выходные аргументы

свернуть все

LexRank оценивает, возвращается как вектор N-на-1, где scores(i) соответствует счет для ith input document and N - количество входа документов.

Ссылки

[1] Эркан, Гюнес и Драгомир Р. Радев. Lexrank: Основанная на графе лексическая централизация как значение в суммировании текста. Журнал исследований искусственного интеллекта 22 (2004): 457-479.

Введенный в R2020a