textrankKeywords

Извлеките использование ключевых слов TextRank

    Описание

    пример

    tbl = textrankKeywords(documents) ключевые слова извлечений и соответствующее использование баллов TextRank. Функция поддерживает английский, японский язык, немецкий язык и корейский текст. Для других языков попытайтесь использовать rakeKeywords функцию вместо этого.

    пример

    tbl = textrankKeywords(documents,Name,Value) задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение".

    Примеры

    свернуть все

    Создайте массив маркируемого документа, содержащего текстовые данные.

    textData = [
        "MATLAB provides really useful tools for engineers. Scientists use many useful tools in MATLAB."
        "MATLAB and Simulink have many features. Use MATLAB and Simulink for engineering workflows."
        "Analyze text and images in MATLAB. Analyze text, images, and videos in MATLAB."];
    documents = tokenizedDocument(textData);

    Извлеките ключевые слова с помощью textrankKeywords функция.

    tbl = textrankKeywords(documents)
    tbl=7×3 table
                     Keyword                 DocumentNumber    Score 
        _________________________________    ______________    ______
    
        "many"      "useful"      "tools"          1           5.2174
        "useful"    "tools"       ""               1           3.8778
        "many"      "features"    ""               2           4.0815
        "text"      ""            ""               3                1
        "images"    ""            ""               3                1
        "MATLAB"    ""            ""               3                1
        "videos"    ""            ""               3                1
    
    

    Если ключевое слово содержит несколько слов, то i-ый элемент массива строк соответствует i-ому слову ключевого слова. Если ключевое слово имеет меньше слов, что самое долгое ключевое слово, то остающиеся записи массива строк являются пустой строкой "".

    Для удобочитаемости преобразуйте ключевые слова многословные в одну строку с помощью join и strip функции.

    if size(tbl.Keyword,2) > 1
        tbl.Keyword = strip(join(tbl.Keyword));
    end
    tbl
    tbl=7×3 table
              Keyword          DocumentNumber    Score 
        ___________________    ______________    ______
    
        "many useful tools"          1           5.2174
        "useful tools"               1           3.8778
        "many features"              2           4.0815
        "text"                       3                1
        "images"                     3                1
        "MATLAB"                     3                1
        "videos"                     3                1
    
    

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

    textData = [
        "MATLAB provides really useful tools for engineers. Scientists use many useful MATLAB toolboxes."
        "MATLAB and Simulink have many features. Use MATLAB and Simulink for engineering workflows."
        "Analyze text and images in MATLAB. Analyze text, images, and videos in MATLAB."];
    documents = tokenizedDocument(textData);

    Извлеките лучшие два ключевых слова с помощью textrankKeywords функция и установка 'MaxNumKeywords' опция к 2.

    tbl = textrankKeywords(documents,'MaxNumKeywords',2)
    tbl=5×3 table
                       Keyword                   DocumentNumber    Score 
        _____________________________________    ______________    ______
    
        "useful"    "MATLAB"      "toolboxes"          1           4.8695
        "useful"    ""            ""                   1           2.3612
        "many"      "features"    ""                   2           4.0815
        "text"      ""            ""                   3                1
        "images"    ""            ""                   3                1
    
    

    Если ключевое слово содержит несколько слов, то i-ый элемент массива строк соответствует i-ому слову ключевого слова. Если ключевое слово имеет меньше слов, что самое долгое ключевое слово, то остающиеся записи массива строк являются пустой строкой "".

    Для удобочитаемости преобразуйте ключевые слова многословные в одну строку с помощью join и strip функции.

    if size(tbl.Keyword,2) > 1
        tbl.Keyword = strip(join(tbl.Keyword));
    end
    tbl
    tbl=5×3 table
                 Keyword             DocumentNumber    Score 
        _________________________    ______________    ______
    
        "useful MATLAB toolboxes"          1           4.8695
        "useful"                           1           2.3612
        "many features"                    2           4.0815
        "text"                             3                1
        "images"                           3                1
    
    

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

    свернуть все

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

    Аргументы name-value

    Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

    Пример: textrankKeywords(documents,'MaxNumKeywords',20) возвращает самое большее 20 ключевых слов на документ.

    Максимальное количество ключевых слов, чтобы возвратиться на документ в виде разделенной запятой пары, состоящей из 'MaxNumKeywords' и положительное целое число или Inf.

    Если MaxNumKeywords isinf, затем функция возвращает все идентифицированные ключевые слова.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Размер окна совместной встречаемости в виде разделенная запятой пара, состоящая из 'Window' и положительное целое число или Inf.

    Когда размер окна равняется 2, функция рассматривает совместную встречаемость между двумя ключевыми словами кандидата только, когда они появляются последовательно в документе. Когда размером окна является Inf, затем функция рассматривает совместную встречаемость между двумя ключевыми словами кандидата, когда они оба появляются в том же документе.

    Увеличение размера окна позволяет функции найти больше совместных встречаемостей между ключевыми словами, который увеличивает баллы важности ключевого слова. Это может привести к нахождению более соответствующих ключевых слов за счет потенциального зачеркивания менее соответствующих ключевых слов.

    Для получения дополнительной информации смотрите Экстракцию Ключевого слова TextRank.

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    Часть речи помечает, чтобы использовать, чтобы извлечь ключевые слова кандидата в виде разделенной запятой пары, состоящей из 'PartOfSpeech' и массив строк, массив ячеек из символьных векторов или категориальный массив, содержащий один или несколько следующих имен классов:

    • "adjective" – Прилагательное

    • "adposition" – Adposition

    • "adverb" – Наречие

    • "auxiliary-verb" – Вспомогательный глагол

    • "coord-conjunction" – Сочинительный союз

    • "determiner" – Детерминатив

    • "interjection" – Междометие

    • "noun" – Существительное

    • "numeral" – Цифра

    • "particle" – Частица

    • "pronoun" – Местоимение

    • "proper-noun" – Имя собственное

    • "punctuation" – Пунктуация

    • "subord-conjunction" – Подчинение соединения

    • "symbol" – Символ

    • "verb" – Глагол

    • "other" Другой

    Если PartOfSpeech вектор символов, затем он должен соответствовать одному тегу части речи.

    Для получения дополнительной информации смотрите Экстракцию Ключевого слова TextRank.

    Типы данных: char | string | cell | categorical

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

    свернуть все

    Извлеченные ключевые слова и баллы, возвращенные как таблица со следующими переменными:

    • Keyword – Извлеченное ключевое слово в виде 1 maxNgramLength массив строк, где maxNgramLength количество слов в самом долгом ключевом слове.

    • DocumentNumber – Номер документа, содержащий соответствующее ключевое слово.

    • Score – Счет ключевого слова.

    Функция объединяет несколько ключевых слов в одно ключевое слово, когда они появляются последовательно в соответствующем документе.

    Если ключевое слово содержит несколько слов, то i th элемент соответствующего массива строк соответствует i th слово ключевого слова. Если ключевое слово имеет меньше слов, что самое долгое ключевое слово, то остающиеся записи массива строк являются пустой строкой "".

    Для получения дополнительной информации смотрите Экстракцию Ключевого слова TextRank.

    Больше о

    свернуть все

    Факторы языка

    textrankKeywords функционируйте поддерживает английский, японский язык, немецкий язык и корейский текст только.

    textrankKeywords функционируйте извлекает ключевые слова путем идентификации ключевых слов кандидата на основе их тега части речи. Функция использует теги части речи, данные addPartOfSpeechDetails функция, которая поддерживает английский, японский язык, немецкий язык и корейский текст только.

    Для других языков попытайтесь использовать rakeKeywords вместо этого и задайте соответствующий набор разделителей с помощью 'Delimiters' и 'MergingDelimiters' опции.

    Советы

    • Можно экспериментировать с различными алгоритмами экстракции ключевого слова, чтобы видеть то, что работает лучше всего с данными. Поскольку алгоритм ключевых слов TextRank использует часть речи основанный на теге подход, чтобы извлечь ключевые слова кандидата, извлеченные ключевые слова могут быть короткими. В качестве альтернативы можно попытаться извлечь ключевые слова с помощью алгоритма RAKE, который извлекает последовательности лексем, появляющихся между разделителями как ключевые слова кандидата. Чтобы извлечь ключевые слова с помощью RAKE, используйте rakeKeywords функция. Чтобы узнать больше, смотрите Ключевые слова Извлечения из текстовых Данных Используя RAKE.

    Алгоритмы

    свернуть все

    Экстракция ключевого слова TextRank

    Для каждого документа, textrankKeywords функционируйте извлекает ключевые слова независимо с помощью следующих шагов на основе [1]:

    1. Определите ключевые слова кандидата:

      • Извлеките лексемы с частью речи, заданной 'PartOfSpeech' опция.

    2. Вычислите музыку к каждому кандидату:

      • Создайте неориентированный, невзвешенный график с узлами, соответствующими ключевым словам кандидата.

      • Добавьте ребра между узлами, где ключевые слова кандидата появляются в окне лексем, где размер окна дан 'Window' опция.

      • Вычислите центрированность каждого узла с помощью алгоритма PageRank и взвесьте баллы согласно количеству ключевых слов кандидата. Для получения дополнительной информации смотрите centrality.

    3. Извлеките главные ключевые слова от кандидатов:

      • Выберите главную треть ключевых слов кандидата согласно их баллам.

      • Если какое-либо из ключевых слов кандидата появляется последовательно в документе, то объединяет их в одно ключевое слово и суммирует соответствующие баллы.

      • Возвратите главные ключевые слова k, где k дан 'MaxNumKeywords' опция.

    Детали языка

    tokenizedDocument объекты содержат детали о лексемах включая детали языка. Детали языка входных документов определяют поведение textrankKeywords. tokenizedDocument функция, по умолчанию, автоматически обнаруживает язык входного текста. Чтобы задать детали языка вручную, используйте 'Language' аргумент пары "имя-значение" tokenizedDocument. Чтобы посмотреть маркерные детали, используйте tokenDetails функция.

    Ссылки

    [1] Mihalcea, Рада и Пол Тэро. "Textrank: Обеспечение порядка в текст". В Продолжениях 2 004 конференций по эмпирическим методам в обработке естественного языка, стр 404-411. 2004.

    Введенный в R2020b