vaderSentimentScores

Баллы чувства с алгоритмом VADER

Описание

Использование vaderSentimentScores оценивать чувство в маркируемом тексте с Валентностью Осведомленный Словарь и чувство Reasoner (VADER) алгоритм. vaderSentimentScores функционируйте использование, по умолчанию, словарь чувства VADER и списки слов модификатора.

Функция поддерживает английский текст только.

пример

compoundScores = vaderSentimentScores(documents) возвращает музыку чувства к маркируемым документам. Функция вычисляет составные баллы путем агрегации отдельных маркерных баллов, настроенных согласно правилам алгоритма и затем нормированных между-1 и 1. Функция отбрасывает все лексемы с отдельным символом, не существующим в словаре чувства.

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

пример

[compoundScores,positiveScores,negativeScores,neutralScores] = vaderSentimentScores(___) также возвращает отношения для пропорций документов, которые положительны, отрицательны, и нейтральны, соответственно, с помощью любого из предыдущих синтаксисов.

Примеры

свернуть все

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

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

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

compoundScores = vaderSentimentScores(documents)
compoundScores = 2×1

    0.7264
   -0.3865

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

Чтобы анализировать чувство текста с помощью алгоритма VADER, используйте vaderSentimentScores функция. Если словарь чувства используется vaderSentimentScores функция не удовлетворяет данным, которые вы анализируете, например, если у вас есть проблемно-ориентированный набор данных как медицинские или технические данные, затем можно использовать собственный словарь чувства. Для примера, показывающего, как сгенерировать зависящий от домена словарь чувства, смотрите, Генерируют Зависящий от домена Словарь Чувства.

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

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    

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

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

    0.2740
   -0.1112

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

свернуть все

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

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

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

Пример: 'Boosters',["verry" "verrry"] задает, чтобы использовать усилителей "verry" и "verrrry".

Словарь чувства в виде таблицы со следующими столбцами:

  • Token – Лексема в виде строкового скаляра. Лексемы должны быть нижним регистром.

  • SentimentScore – Счет чувства лексемы в виде числового скаляра.

При оценке чувства программное обеспечение, по умолчанию, игнорирует лексемы с одним символом и заменяет эмодзи на эквивалентное текстовое описание прежде, чем вычислить баллы чувства. Например, программное обеспечение заменяет экземпляры эмодзи "" с текстом, "усмехающимся поверхность", и затем оценивает баллы чувства. Если вы предоставляете лексемам один символ или эмодзи с соответствующими баллами чувства в SentimentLexicon, затем функция не удаляет или заменяет эти лексемы.

Словарь чувства по умолчанию является словарем чувства VADER.

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

Список слов усилителя или N-грамм в виде массива строк.

Функция использует N-граммы усилителя, чтобы повысить чувство последующих лексем. Например, слова как "абсолютно" и "удивительно".

Для списка слов список должен быть вектор-столбцом. Для списка N-грамм список имеет размер NumNgrams- maxN , где NumNgrams количество N-грамм и maxN длина самой большой n-граммы. (i,j)элементом th списка является jслово th in-грамма th. Если количество слов в in-грамма th меньше maxN, затем остающиеся записи iстрока th списка пуста.

N-граммы усилителя должны быть нижним регистром.

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

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

Список слов демпфера или N-грамм в виде массива строк.

Функция использует N-граммы демпфера, чтобы ослабить чувство последующих лексем. Например, слова как "едва" и "несколько".

Для списка слов список должен быть вектор-столбцом. Для списка N-грамм список имеет размер NumNgrams- maxN , где NumNgrams количество N-грамм и maxN длина самой большой n-граммы. (i,j)элементом th списка является jслово th in-грамма th. Если количество слов в in-грамма th меньше maxN, затем остающиеся записи iстрока th списка пуста.

N-граммы демпфера должны быть нижним регистром.

Список по умолчанию N-грамм демпфера является списком усилителей VADER.

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

Список слов отрицания в виде массива строк.

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

Слова отрицания должны быть нижним регистром.

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

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

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

свернуть все

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

Функция определяет составные баллы путем агрегации отдельных маркерных баллов, настраивает их согласно правилам алгоритма VADER, и затем нормирует их между-1 и 1.

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

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

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

Ссылки

[1] Хатто, Клейтон Дж. и Эрик Гильберт. "Вейдер: экономная основанная на правилах модель для анализа мнений текста социальных сетей". На Восьмой международной конференции AAAI по блогам и социальным сетям. 2014.

Введенный в R2019b