# US 9,436,674 B2 · Signal processing approach to sentiment analysis for entities in documents

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,674 B2
- Document ID: US9436674B2
- Status: Granted
- Kind: B2
- Application number: 14/270,507
- Filed: 2014-05-06
- Published: 2014-09-11
- Granted: 2016-09-06
- Earliest claimed: 2010-03-31
- Assignees: Attivio, Inc.
- Applicants: Attivio, Inc.
- Inventors: John O'Neil
- Web page: https://patentgrep.com/patent/US9436674B2

## CPC

- G06F 40/295: Named entity recognition
- G06F 16/3344: {using natural language analysis}
- G06F 40/279: Recognition of textual entities
- G06F 40/30: Semantic analysis
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A document can be processed to provide sentiment values for phrases in the document. The sequence of sentiment values associated with the sequence of phrases in a document can be handled as if they were a sampled discrete time signal. For phrases which have been identified as entities, a filtering operation can be applied to the sequence of sentiment values around each entity to determine a sentiment value for the entity.

## Claims

### Claim 1

A computer system comprising:
a non-transitory computer readable storage in which data are stored, the data including:
data identifying entities described in a document, stored in computer memory, wherein the document includes a plurality of tokens appearing in an order in the document, and
data defining a sequence of sentiment values assigned to the tokens in the document, the sequence of sentiment values being in the order the corresponding tokens appear in the document; and
at least one processor for processing the data in the computer readable storage to assign a sentiment value to one of the identified entities in the document by:
applying a filter to the sequence of sentiment values in the non-transitory computer readable storage, the filter having a width defined by a number of tokens, such that the sentiment value of a token is spread among other nearby tokens within the width of the filter, whereby each entity has contributions due to sentiment values from nearby tokens within the width of the filter, and
for each entity in the document, combining the contributions from the nearby tokens to produce a sentiment value for the entity.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein the at least one processor outputs a first ordered array of tokens from the document and data, for each entity, defining boundaries of the entity in the first ordered array, and a second ordered array of filtered sentiment values, wherein the order of the filtered sentiment values corresponds to the order of the tokens so as to associate the filtered sentiment values with the tokens.

### Claim 3 (depends on 1)

The computer system of claim 1,
wherein the data identifying entities comprises a first ordered array of tokens from the document and data, for each entity, defining boundaries of the entity in the first ordered array,
wherein the data defining sentiment values assigned to tokens in the document comprises a second ordered array of sentiment values, and
wherein the order of the sentiment values corresponds to the order of the tokens so as to associate the sentiment values with the tokens.

### Claim 4 (depends on 3)

The computer system of claim 3, wherein the sentiment value associated with an entity is a function of filtered sentiment values associated with the tokens within the boundaries of the entity.

### Claim 5 (depends on 1)

The computer system of claim 1, wherein each sentiment value comprises a sentiment polarity and magnitude.

### Claim 6 (depends on 5)

The computer system of claim 5, wherein the at least one processor is further configured to sort entities in a document by sentiment.

### Claim 7 (depends on 1)

The computer system of claim 1, wherein the at least one processor is further configured to search for documents in a repository of documents that contain an entity with an associated sentiment value.

### Claim 8 (depends on 1)

The computer system of claim 1, wherein the at least one processor is further configured to:
receive data specifying an entity and sentiment information;
determine, after a document is received, if the document includes the specified entity and sentiment information; and
send a notification to a user if the document includes the specified entity and sentiment information.

### Claim 9

A computer program product, comprising:
a non-transitory computer readable storage device storing computer program instructions which, when processed by a computer system including at least one processor and a computer memory, enable the at least one processor to:
access, in the computer memory, data identifying entities described in a document, wherein the document includes a plurality of tokens appearing in an order in the document, and data defining a sequence of sentiment values assigned to the tokens in the document, the sequence of sentiment values being in the order the corresponding tokens appear in the document,
apply a filter to the sequence of sentiment values in the computer memory, the filter having a width defined by a number of tokens, such that the sentiment value of a token is spread among other nearby tokens within the width of the filter, whereby each entity has contributions due to sentiment values from nearby tokens within the width of the filter, and
combine, for each entity in the document, the contributions from the nearby tokens to produce a sentiment value for the entity.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the computer program instructions further enable the at least one processor to output a first ordered array of tokens from the document and data, for each entity, defining boundaries of the entity in the first ordered array, and a second ordered array of filtered sentiment values, wherein the order of the filtered sentiment values corresponds to the order of the tokens so as to associate the filtered sentiment values with the tokens.

### Claim 11 (depends on 9)

The computer program product of claim 9,
wherein the data identifying entities comprises a first ordered array of tokens from the document and data, for each entity, defining boundaries of the entity in the first ordered array,
wherein the data defining sentiment values assigned to tokens in the document comprises a second ordered array of sentiment values, and
wherein the order of the sentiment values corresponds to the order of the tokens so as to associate the sentiment values with the tokens.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the sentiment value associated with an entity is a function of filtered sentiment values associated with the tokens within the boundaries of the entity.

### Claim 13 (depends on 9)

The computer program product of claim 9, wherein each sentiment value comprises a sentiment polarity and magnitude.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the at least one processor is further configured to sort entities in a document by sentiment.

### Claim 15 (depends on 9)

The computer program product of claim 9, wherein the at least one processor is further configured to:
receive data specifying an entity and sentiment information;
determine, after a document is received, if the document includes the specified entity and sentiment information; and
send a notification to a user if the document includes the specified entity and sentiment information.

### Claim 16

A computer program product, comprising:
a non-transitory computer readable storage device storing computer program instructions which, when processed by a computer system including at least one processor and a computer memory, enable the at least one processor to:
access the non-transitory computer readable storage in which data are stored, the data including data identifying entities described in a document, wherein the document includes a plurality of tokens appearing in an order in the document, and data defining sentiment values assigned to the tokens in the document, and
process, using the at least one processor, the data in the non-transitory computer readable storage to assign a sentiment value to one of the identified entities in the document by applying a filter to a sequence of the sentiment values corresponding to a sequence of the tokens in the order the tokens appear in the document, the filter having a width defined by a number of tokens, the entity having a position in the sequence of tokens, the filter providing a combination of contributions of the sentiment values associated with the tokens surrounding the position of the entity in the document within the width of the filter.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein the at least one processor is further configured to output data associating the assigned sentiment value with the entity.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the data associating the assigned sentiment value with the entity comprises a first ordered array of tokens from the document and data, for each entity, defining boundaries of the entity in the first ordered array, and a second ordered array of filtered sentiment values, wherein the order of the filtered sentiment values corresponds to the order of the tokens so as to associate the filtered sentiment values with the tokens.

### Claim 19 (depends on 16)

The computer program product of claim 16,
wherein the data identifying entities comprises a first ordered array of tokens from the document and data, for each entity, defining boundaries of the entity in the first ordered array,
wherein the data defining sentiment values assigned to tokens in the document comprises a second ordered array of sentiment values, and
wherein the order of the sentiment values corresponds to the order of the tokens so as to associate the sentiment values with the tokens.

### Claim 20 (depends on 19)

The computer program product of claim 19, wherein the sentiment value associated with an entity is a function of filtered sentiment values associated with the tokens within the boundaries of the entity.
