ratioSentimentScores

Счета настроения с правилом коэффициента

Описание

Использовать ratioSentimentScores для оценки настроений в токенизированном тексте с правилом ratio. ratioSentimentScores функция по умолчанию использует лексикон настроений VADER.

пример

compoundScores = ratioSentimentScores(documents) возвращает счета настроений для токенизированных документов на основе соотношения положительных и отрицательных лексем. Для каждого документа, где отношение положительного счета к отрицательному счету больше 1, функция возвращает 1. Для каждого документа, где отношение отрицательного счета к положительному счету больше 1, функция возвращает -1. В противном случае функция возвращает 0.

[compoundScores,positiveScores,negativeScores] = ratioSentimentScores(documents) также возвращает суммы положительных и отрицательных счетов маркеров документов соответственно.

пример

___ = ratioSentimentScores(___,Name,Value) задает дополнительные опции, используя одну или несколько пары "имя-значение".

Примеры

свернуть все

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

str = [
    "The book was VERY good!!!!"
    "The book was terrible."];
documents = tokenizedDocument(str);

Оцените настроения токенизированных документов. Счет 1 указывает на положительные настроения, счет -1 указывает на отрицательные настроения, а счет 0 указывает на нейтральные настроения.

compoundScores = ratioSentimentScores(documents)
compoundScores = 2×1

     1
    -1

Алгоритмы анализа настроений основаны на аннотированных списках слов, называемых лексиконами настроений. Для примера, ratioSentimentScores функция использует лексикон настроения со словами, аннотированными с счетом настроения в диапазоне от -1 до 1, где счета, близкие к 1, указывают на сильные положительные настроения, счета, близкие к -1, указывают на сильные отрицательные настроения и счета, близкие к нулю, указывают на нейтральные настроения.

Если лексикон настроения, используемый ratioSentimentScores функция не подходит для данных, которые вы анализируете, например, если у вас есть набор данных для конкретной области, такой как медицинские или инженерные данные, то вы можете использовать свой собственный пользовательский лексикон настроений. Для примера, показывающего, как сгенерировать лексикон настроений конкретной области, смотрите Generate Domain Specific Sentiment Lexicon.

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

textData = [ 
    "This company is showing extremely strong growth."
    "This other company is accused of misleading consumers."];
documents = tokenizedDocument(textData);

Загрузите пример специфичного для области лексикона для финансовых данных.

filename = "financeSentimentLexicon.csv";
tbl = readtable(filename);
head(tbl)
ans=8×2 table
          Token          SentimentScore
    _________________    ______________

    {'opportunities'}       0.95633    
    {'innovative'   }       0.89635    
    {'success'      }       0.84362    
    {'focused'      }       0.83768    
    {'strong'       }       0.81042    
    {'capabilities' }       0.79174    
    {'innovation'   }       0.77698    
    {'improved'     }       0.77176    

Оцените настроение с помощью ratioSentimentScores и задайте пользовательский лексикон настроений, используя 'SentimentLexicon' опция. Счет 1 указывает на положительные настроения, счет -1 указывает на отрицательные настроения, а счет 0 указывает на нейтральные настроения.

compoundScores = ratioSentimentScores(documents,'SentimentLexicon',tbl)
compoundScores = 2×1

     1
    -1

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

свернуть все

Входные документы, заданные как tokenizedDocument массив.

Аргументы в виде пар имя-значение

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

Пример: Threshold,0.5 устанавливает порог отношения равным 0,5

Лексикон настроения, заданный как таблица со следующими столбцами:

  • Token - Лексема, заданный как строковый скаляр.

  • SentimentScore - счет настроения лексемы, заданная в виде числа.

Лексикон настроений по умолчанию является лексиконом настроений VADER.

Типы данных: table

Порог отношения, заданный как неотрицательный скаляр.

Если отношение положительного счета к отрицательному счету documents(i) больше Threshold, затем compoundScores(i) равен 1. Если отношение отрицательного счета к положительному счету documents(i) больше Threshold, затем compoundScores(i) равен -1. В противном случае compoundScores(i) равен 0.

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

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

свернуть все

Составные счета настроения, возвращенные как числовой вектор. Функция возвращает один счет для каждого входного документа.

Если отношение положительного счета к отрицательному счету documents(i) больше Threshold, затем compoundScores(i) равен 1. Если отношение отрицательного счета к положительному счету documents(i) больше Threshold, затем compoundScores(i) равен -1. В противном случае compoundScores(i) равен 0.

Положительные счета настроения, возвращенные как числовой вектор. Функция возвращает один счет для каждого входного документа. Значение positiveScores(i) соответствует положительному счету настроения documents(i).

Отрицательные счета настроения, возвращенные как числовой вектор. Функция возвращает один счет для каждого входного документа. Значение negativeScores(i) соответствует отрицательному счету настроения documents(i).

Введенный в R2019b