# US 12,001,472 B2 · Method and system for generating podcast metadata to facilitate searching and recommendation

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

- Number: US 12,001,472 B2
- Document ID: US12001472B2
- Status: Granted
- Kind: B2
- Application number: 18/194,260
- Filed: 2023-03-31
- Published: 2023-10-12
- Granted: 2024-06-04
- Earliest claimed: 2022-04-01
- Assignees: Gracenote, Inc.
- Applicants: Gracenote, Inc.
- Inventors: Aneesh Vartakavi; Casper Lützhøft Christensen
- Web page: https://patentgrep.com/patent/US12001472B2

## CPC

- G06F 16/383: using metadata automatically derived from the content
- G06F 16/68: Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F 16/335: Filtering based on additional data, e.g. user or group profiles (filtering in web context G06F16/9535, G06F16/9536)
- G06F 16/35: Clustering; Classification
- G06F 16/685: {using automatically derived transcript of audio data, e.g. lyrics (speech recognition G10L15/00)}
- G06F 16/7844: {using original textual content or text extracted from visual content or transcript of audio data}
- G06F 30/27: using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
- G06F 40/00: Handling natural language data (speech analysis or synthesis, speech recognition G10L)
- G10L 15/00: Speech recognition (G10L17/00 takes precedence)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

A method and system for computer-based generation of podcast metadata, to facilitate operations such as searching for and recommending podcasts based on the generated metadata. In an example method, a computing system obtains a text representation of a podcast episode and obtains person data defining a list of person names such as celebrity names. The computing system then correlates the person data with the text representation, to find a match between a listed person name a text string in the text representation. Further, the computing system predicts a named-entity span in the text representation and determines that the predicted named-entity span matches a location of the text string in the text representation of the podcast episode, and based on this determination, the computing system generates and outputs metadata that associates the person name with the podcast episode.

## Claims

### Claim 1

A method comprising:
obtaining, by a computing system, a text representation of a podcast episode;
obtaining, by the computing system, person data defining a list of person names;
correlating, by the computing system, the person data with the text representation of the podcast episode, to find a match between (i) a person name from the list of the person names and (ii) a text string in the text representation of the podcast episode;
predicting, by the computing system, a named-entity span in the text representation of the podcast episode;
determining, by the computing system, that the predicted named-entity span matches a location of the text string in the text representation of the podcast episode;
based on the determining that the predicted named-entity span matches the location of the text string in the text representation of the podcast episode, generating, by the computing system, metadata that associates the person name with the podcast episode; and
outputting, by the computing system, the generated metadata.

### Claim 2 (depends on 1)

The method of claim 1, wherein the person names in the list defined by the person data are names of people, the method further comprising:
filtering the person data based on accreditations of the people.

### Claim 3 (depends on 1)

The method of claim 1, wherein the person name is a name of a person, the method further comprising:
using, the computing system, machine-learning-based role identification to determine a role of the person in the podcast episode;
based on the determined role of the person in the podcast episode, generating, by the computing system, additional metadata that identifies the role of the person in the podcast episode; and
outputting, by the computing system, the generated additional metadata.

### Claim 4 (depends on 3)

The method of claim 3, wherein the role comprises at least one item selected from the group consisting of a host of the podcast episode, a guest of the podcast episode, and a subject of the podcast episode.

### Claim 5 (depends on 1)

The method of claim 1, wherein the person name is a name of a person, the method further comprising:
making a voice-identification-based determination of whether a voice of the person is included in the podcast episode, wherein the generating of the metadata that associates the person name with the podcast episode is further based on the voice-identification-based determination.

### Claim 6 (depends on 1)

The method of claim 1, wherein the person name is a name of a person, the method further comprising:
using, by the computing system, voice identification as a basis to determine one or more times in the podcast episode when a voice of the person is present; and
generating and outputting, by the computing system, additional metadata indicating the one or more determined times.

### Claim 7 (depends on 1)

The method of claim 1, further comprising using the generated metadata as a basis to facilitate podcast searching based on the person name.

### Claim 8

A computing system comprising:
one or more processors;
non-transitory data storage; and
program instructions stored in the non-transitory data storage and executable by the one or more processors to carry out operations including:
obtaining a text representation of a podcast episode,
obtaining person data defining a list of person names,
correlating the person data with the text representation of the podcast episode, to find a match between (i) a person name from the list of the person names and (ii) a text string in the text representation of the podcast episode,
predicting a named-entity span in the text representation of the podcast episode,
determining that the predicted named-entity span matches a location of the text string in the text representation of the podcast episode,
based on the determining that the predicted named-entity span matches the location of the text string in the text representation of the podcast episode, generating metadata that associates the person name with the podcast episode, and
outputting the generated metadata.

### Claim 9 (depends on 8)

The computing system of claim 8, wherein the person names in the list defined by the person data are names of people, the operations further including:
filtering the person data based on accreditations of the people.

### Claim 10 (depends on 8)

The computing system of claim 8, wherein the person name is a name of a person, the operations further including:
using machine-learning-based role identification to determine a role of the person in the podcast episode;
based on the determined role of the person in the podcast episode, generating additional metadata that identifies the role of the person in the podcast episode; and
outputting the generated additional metadata.

### Claim 11 (depends on 10)

The computing system of claim 10, wherein the role comprises at least one item selected from the group consisting of a host of the podcast episode, a guest of the podcast episode, and a subject of the podcast episode.

### Claim 12 (depends on 8)

The computing system of claim 8, wherein the person name is a name of a person, the operations further including:
making a voice-identification-based determination of whether a voice of the person is included in the podcast episode, wherein the generating of the metadata that associates the person name with the podcast episode is further based on the voice-identification-based determination.

### Claim 13 (depends on 8)

The computing system of claim 8, wherein the person name is a name of a person, the operations further including:
using voice identification as a basis to determine one or more times in the podcast episode when a voice of the person is present; and
generating and outputting additional metadata indicating the one or more determined times.

### Claim 14 (depends on 8)

The computing system of claim 8, further comprising using the generated metadata as a basis to facilitate podcast searching based on the person name.

### Claim 15

A non-transitory computer-readable medium having stored thereon program instructions that, upon execution by one or more processors, cause performance of a set of operations comprising:
obtaining a text representation of a podcast episode;
obtaining person data defining a list of person names;
correlating the person data with the text representation of the podcast episode, to find a match between (i) a person name from the list of the person names and (ii) a text string in the text representation of the podcast episode;
predicting a named-entity span in the text representation of the podcast episode;
determining that the predicted named-entity span matches a location of the text string in the text representation of the podcast episode;
based on the determining that the predicted named-entity span matches the location of the text string in the text representation of the podcast episode, generating metadata that associates the person name with the podcast episode; and
outputting the generated metadata.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the person names in the list defined by the person data are names of people, the operations further comprising:
filtering the person data based on accreditations of the people.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the person name is a name of a person, the operations further comprising:
using machine-learning-based role identification to determine a role of the person in the podcast episode;
based on the determined role of the person in the podcast episode, generating additional metadata that identifies the role of the person in the podcast episode; and
outputting the generated additional metadata.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the role comprises at least one item selected from the group consisting of a host of the podcast episode, a guest of the podcast episode, and a subject of the podcast episode.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the person name is a name of a person, the operations further including:
making a voice-identification-based determination of whether a voice of the person is included in the podcast episode, wherein the generating of the metadata that associates the person name with the podcast episode is further based on the voice-identification-based determination.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the person name is a name of a person, the operations further including:
using voice identification as a basis to determine one or more times in the podcast episode when a voice of the person is present; and
generating and outputting additional metadata indicating the one or more determined times.
