IP Library › Granted Patent US 12,267,557
Granted Patent B2
US 12,267,557 · App. 18/014,339 · Granted Apr 1, 2025

Video content recommendation method and apparatus, and computer device

Inventors: Junhao Wu (Shanghai, CN); Peng Xie (Shanghai, CN)
Assignee: SHANGHAI BILIBILI TECHNOLOGY CO., LTD.
H04N21/4668H04N21/4532
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,267,557
App. No.
18/014,339
Granted
Apr 1, 2025
Kind
B2
Abstract

This application provides techniques of improving video recommendation. The techniques comprise temporarily pre-adding a first video to a recommendation video sequence; capturing a sub-sequence including the first video; modifying an initial recommendation score of the first video based on a position sequence number of the first video in the sub-sequence and a position sequence number of another video in the sub-sequence to obtain a modified recommendation score of the first video, the another video sharing a target attribute with the first video; and adding a video with a highest modified recommendation score to the recommendation video sequence.

Claims (585)

1. A computer-implemented method of performing online video recommendation, comprising:

retrieving, by a computing device, a set of to-be-selected videos from a video library stored on a video server, the set of to-be-selected videos comprising videos based on video playback interest information determined for a first user and videos predetermined as popular based on viewing activities of a plurality of users;

consecutively selecting by the computing device a first video from the set of to-be-selected videos and temporarily pre-adding the first video to a last position of a sequence of recommendation videos;

capturing, by the computing device, from the sequence of recommendation videos, a sub-sequence comprising a preset quantity of videos, wherein the sub-sequence comprises the first video;

obtaining, by the computing device, a target attribute and an initial recommendation score of the first video;

identifying, by the computing device, at least one target video in the sub-sequence, wherein the at least one target video has the target attribute and is different from the first video, and determining a quantity n of the at least one target video;

modifying, by the computing device, the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video to obtain a modified recommendation score, wherein the modifying the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video to obtain a modified recommendation score further comprises:

obtaining a position sequence number i of the at least one target video in the sub-sequence and a position sequence number k of the first video in the sub-sequence in response to determining that the quantity n is less than a preset threshold N, and

modifying the initial recommendation score based on the position sequence number i of the at least one target video, the position sequence number k of the first video, and a preset modification formula, wherein the preset modification formula comprises:

score

k

′

=

score

k

count

⁡

(

tags

k

)

*

(

∑

tag

=

1

count

⁡

(

tags

k

)

∏

i

=

0

k

-

1

(

1

-

1

count

⁡

(

tags

i

)

*

demote

⁢

(

distance

(

i

,

k

)

,

tag

)

)

*

∏

i

=

0

k

-

1

(

1

⁢

-

demote

⁢

(

distance

(

i

,

k

)

,

up

)

)

wherein score k represents the initial recommendation score of the first video, score′ k represents the modified recommendation score of the first video, count(tags k ) represents a quantity of tag attributes associated with the first video, count(tags i ) represents a quantity of tag attributes associated with the target video, demote(distance(i, k), tag) represents a first modification function associated with tag attributes, demote(distance(i, k), up) represents a second modification function associated with uploader attributes indicating information about users who uploads videos:

obtaining, by the computing device, modified recommendation scores of all videos in the set of to-be-selected videos; and

selecting, by the computing device, a video with a highest modified recommendation score from the set of to-be-selected videos and adding the video with the highest modified recommendation score to the last position of the sequence of recommendation videos.

2. The method according to claim 1 , wherein the obtaining a target attribute of the first video comprises:

in response to determining that the target attribute of the first video is empty, marking a preset video attribute on the first video and identifying the preset video attribute as the target attribute of the first video.

3. The method according to claim 1 , wherein the modifying the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video to obtain a modified recommendation score further comprises:

in response to determining that the quantity n is greater than or equal to a preset threshold N, setting the modified recommendation score of the first video to 0.

4. The method according to claim 1 , wherein the first modification function and the second modification function are attenuation functions whose value is greater than or equal to 0 and less than or equal to 1, and wherein the attenuation functions comprise a linear function or a quadratic function.

5. The method according to claim 1 , wherein when both the first modification function and the second modification function are half-life functions, the modification formula comprises:

score

k

′

=

score

k

c

⁢

o

⁢

u

⁢

n

⁢

t

⁡

(

t

⁢

a

⁢

g

⁢

s

k

)

*

(

∑

tag

=

1

count

⁡

(

tags

k

)

∏

i

=

0

k

-

1

(

1

-

1

count

⁡

(

tags

i

)

⁢

(

1

2

)

distance

⁡

(

i

,

k

)

T

tag

)

)

*

∏

i

=

0

k

-

1

(

1

-

(

1

2

)

distance

⁡

(

i

,

k

)

T

up

)

wherein Ttag represents a preset attenuation constant corresponding to a tag attribute, and Tup represents a preset attenuation constant corresponding to an uploader attribute.

6. The method according to claim 1 , wherein the modifying the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video and the first video to obtain a modified recommendation score further comprises:

obtaining a target user attribute associated with a user terminal device to which the video content is recommended; and

modifying the initial recommendation score of the first video based on the quantity n and the position distance between each of the at least one target video and the first video with reference to the target user attribute to obtain a modified recommendation score corresponding to a target user.

7. A computer device of implementing online video recommendation, wherein the computer device comprises a memory and a processor, computer-readable instructions capable of running on the processor are stored in the memory, and the computer-readable instructions are executable by the processor to implement operations comprising:

accessing a set of to-be-selected videos from a video library stored on a video server, the set of to-be-selected videos comprising videos based on video playback interest information determined for a first user and videos predetermined as popular based on the viewing activities of a plurality of users;

consecutively selecting a first video from the set of to-be-selected videos and temporarily pre-adding the first video to a last position of a sequence of recommendation videos;

capturing, from the sequence of recommendation videos, a sub-sequence comprising a preset quantity of videos, wherein the sub-sequence comprises the first video;

obtaining a target attribute and an initial recommendation score of the first video;

identifying at least one target video in the sub-sequence, wherein the at least one target video has the target attribute and is different from the first video, and determining a quantity n of the at least one target video;

modifying the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video to obtain a modified recommendation score, wherein the modifying the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video to obtain a modified recommendation score further comprises:

obtaining a position sequence number i of the at least one target video in the sub-sequence and a position sequence number k of the first video in the sub-sequence in response to determining that the quantity n is less than a preset threshold N, and

modifying the initial recommendation score based on the position sequence number i of the at least one target video, the position sequence number k of the first video, and a preset modification formula, wherein the preset modification formula comprises:

score

k

′

=

score

k

count

⁡

(

tags

k

)

*

(

∑

tag

=

1

count

⁡

(

tags

k

)

∏

i

=

0

k

-

1

(

1

-

1

count

⁡

(

tags

i

)

*

demote

⁢

(

distance

(

i

,

k

)

,

tag

)

)

*

∏

i

=

0

k

-

1

(

1

⁢

-

demote

⁢

(

distance

(

i

,

k

)

,

up

)

)

wherein score k represents the initial recommendation score of the first video, score′ k represents the modified recommendation score of the first video, count(tags k ) represents a quantity of tag attributes associated with the first video, count(tags i ) represents a quantity of tag attributes associated with the target video, demote(distance(i, k), tag) represents a first modification function associated with tag attributes, demote(distance(i, k), up) represents a second modification function associated with uploader attributes indicating information about users who uploads videos;

obtaining modified recommendation scores of all videos in the set of to-be-selected videos; and

selecting a video with a highest modified recommendation score from the set of to-be-selected videos and adding the video with the highest modified recommendation score to the last position of the sequence of recommendation videos.

8. The computer device according to claim 7 , wherein the obtaining a target attribute of the first video comprises:

in response to determining that the target attribute of the first video is empty, marking a preset video attribute on the first video and identifying the preset video attribute as the target attribute of the first video.

9. The computer device according to claim 7 , wherein the first modification function and the second modification function are attenuation functions whose value is greater than or equal to 0 and less than or equal to 1, and wherein the attenuation functions comprise a linear function or a quadratic function; and wherein when both the first modification function and the second modification function are half-life functions, the modification function comprises:

score

k

′

=

score

k

c

⁢

o

⁢

u

⁢

n

⁢

t

⁡

(

t

⁢

a

⁢

g

⁢

s

k

)

*

(

∑

tag

=

1

count

⁡

(

tags

k

)

∏

i

=

0

k

-

1

(

1

-

1

count

⁡

(

tags

i

)

⁢

(

1

2

)

distance

⁡

(

i

,

k

)

T

tag

)

)

*

∏

i

=

0

k

-

1

(

1

-

(

1

2

)

distance

⁡

(

i

,

k

)

T

up

)

wherein Ttag represents a preset attenuation constant corresponding to the tag attribute, and Tup represents a preset attenuation constant corresponding to the uploader attribute.

10. The computer device according to claim 7 , wherein the modifying the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video to obtain a modified recommendation score further comprises:

obtaining a target user attribute associated with a user terminal device to which the video content is recommended; and

modifying the initial recommendation score of the first video based on the quantity n and the position distance between each of the at least one target video and the first video with reference to the target user attribute to obtain a modified recommendation score corresponding to a target user.

11. A non-transitory computer-readable storage medium, wherein the computer-readable storage medium stores computer-readable instructions, and the computer-readable instructions are capable of being executed by at least one processor to enable the at least one processor to perform operations comprising:

retrieving a set of to-be-selected videos from a video library stored on a video server, the set of to-be-selected videos comprising videos based on video playback interest information determined for a first user and videos predetermined as popular based on the viewing activities of a plurality of users;

consecutively selecting a first video from the set of to-be-selected videos and temporarily pre-adding the first video to a last position of a sequence of recommendation videos;

capturing, from the sequence of recommendation videos, a sub-sequence comprising a preset quantity of videos, wherein the sub-sequence comprises the first video;

obtaining a target attribute and an initial recommendation score of the first video;

identifying at least one target video in the sub-sequence, wherein the at least one target video has the target attribute and is different from the first video, and determining a quantity n of the at least one target video;

modifying the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video to obtain a modified recommendation score, wherein the modifying the initial recommendation score of the first video based on the quantity n and a position distance between each of the at least one target video and the first video to obtain a modified recommendation score further comprises:

obtaining a position sequence number i of the at least one target video in the sub-sequence and a position sequence number k of the first video in the sub-sequence in response to determining that the quantity n is less than a preset threshold N, and

modifying the initial recommendation score based on the position sequence number i of the at least one target video, the position sequence number k of the first video, and a preset modification formula, wherein the preset modification formula comprises:

score

k

′

=

score

k

count

⁡

(

tags

k

)

*

(

∑

tag

=

1

count

⁡

(

tags

k

)

∏

i

=

0

k

-

1

(

1

-

1

count

⁡

(

tags

i

)

*

demote

(

distance

(

i

,

k

)

,

tag

)

)

*

∏

i

=

0

k

-

1

(

1

⁢

-

demote

⁢

(

distance

(

i

,

k

)

,

up

)

)

wherein score k represents the initial recommendation score of the first video, score′ k represents the modified recommendation score of the first video, count(tags k ) represents a quantity of tag attributes associated with the first video, count(tags i ) represents a quantity of tag attributes associated with the target video, demote(distance(i, k), tag) represents a first modification function associated with tag attributes, demote(distance(i, k), up) represents a second modification function associated with uploader attributes indicating information about users who uploads videos;

obtaining modified recommendation scores of all videos in the set of to-be-selected videos;

selecting a video with a highest modified recommendation score from the set of to-be-selected videos and adding the video with the highest modified recommendation score to the last position of the sequence of recommendation videos.

12. The non-transitory computer-readable storage medium according to claim 11 , wherein the obtaining a target attribute of the first video comprises:

in response to determining that the target attribute of the first video is empty, marking a preset video attribute on the first video and identifying the preset video attribute as the target attribute of the first video.

13. The non-transitory computer-readable storage medium according to claim 11 , wherein the first modification function and the second modification function are attenuation functions whose value is greater than or equal to 0 and less than or equal to 1, and wherein the attenuation functions comprise a linear function or a quadratic function.

14. The non-transitory computer-readable storage medium according to claim 11 , wherein when both the first modification function and the second modification function are half-life functions, the modification formula comprises:

score

k

′

=

score

k

c

⁢

o

⁢

u

⁢

n

⁢

t

⁡

(

t

⁢

a

⁢

g

⁢

s

k

)

*

(

∑

tag

=

1

count

⁡

(

tags

k

)

∏

i

=

0

k

-

1

(

1

-

1

count

⁡

(

tags

i

)

⁢

(

1

2

)

distance

⁡

(

i

,

k

)

T

tag

)

)

*

∏

i

=

0

k

-

1

(

1

-

(

1

2

)

distance

⁡

(

i

,

k

)

T

up

)

wherein Ttag represents a preset attenuation constant corresponding to the tag attribute, and Tup represents a preset attenuation constant corresponding to the uploader attribute.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2023
From: WU, JUNHAO; XIE, PENG
To: SHANGHAI BILIBILI TECHNOLOGY CO., LTD.
Reel/Frame 062264/0973 →
Priority Claims (1)
CN 202010645506.3 · Jul 6, 2020 · national
Continuity (1)
Related Publication 20230300417A1 · Sep 21, 2023
References Cited (12)
US 9152708B1 · He · 2015 [cited by examiner]
US 10657144B2 · Lewis · 2020 [cited by examiner]
US 11070881B1 · Srinivasaraghavan · 2021 [cited by examiner]
US 11244017B2 · Sayyadi · 2022 [cited by examiner]
US 20190286673A1 · Sayyadi-Harikandehei et al. · 2019 [cited by applicant]
CN 103440335A · 2013 [cited by applicant]
CN 109522426A · 2019 [cited by applicant]
CN 109710805A · 2019 [cited by applicant]
CN 110096613A · 2019 [cited by applicant]
CN 110730369A · 2020 [cited by applicant]
CN 112423134A · 2021 [cited by applicant]
International Patent Application No. PCT/CN2021/101626; Int'l Search Report; dated Sep. 15, 2021; 3 pages. [cited by applicant]