IP Library Granted Patent US 12711532
Granted Patent B2
US 12711532 · App. 18/640,814 · Granted Aug 18, 2026

Recommendation generation using heterogeneous distance function

Inventors: Laurent Boué (Petah Tikva, IL); Yasmin Bokobza (Ramat Gan, IL); Kiran Rama (Bangalore, IN)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06Q30/0631
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 12711532
App. No.
18/640,814
Granted
Aug 18, 2026
Kind
B2
Abstract

Systems, methods, devices, and computer readable storage media described herein provide techniques for generating recommendations utilizing a heterogeneous distance function. In an aspect, a measure of relevancy between a first data item and a second data item is received. A setting of an adjustable parameter of a parameterized heterogeneous distance function is determined based on the measure of relevancy. The parameterized heterogeneous distance function comprises first and second sub-functions. The first sub-function calculates a distance between data items based on features of a first data type and the second sub-function calculates a distance between data items based on features of a second, different, data type. A recommendation system is caused to utilize the parameterized heterogeneous distance function to generate a recommendation based on received input. In a further aspect, the measure of relevancy is determined as a function of a measure of interactions and a measure of impressions.

Claims (91)

1 . A system, comprising:

a processor circuit; and

a memory device that stores program code executable by the processor circuit, the program code comprising:

a relevancy determiner that:

determines a first measure of relevancy as a function of:

a measure of interactions with a second data item based on a first data item as a seed item, and

a measure of impressions of the second data item based on the first data item as the seed item;

a parametrization component that:

determines a first setting of an adjustable parameter of a parameterized heterogenous distance function based on the first measure of relevancy, the parameterized heterogeneous distance function comprising a first sub-function and a second-subfunction, the first sub-function calculating a distance between data items based on features of a first data type, the second sub-function calculating a distance between data items based on features of a second data type different from the first data type; and

a recommendation generator that:

generates, using the parameterized heterogeneous distance function, a recommended development task based on received input, and

automatically performs a first action of the recommended development task.

2 . The system of claim 1 , wherein the recommendation generator:

receives a third data item;

determines, using the parameterized heterogeneous distance function, similarities between the third data item and a set of potential recommendation items;

generates the recommended development task based on the determined similarities; and

causes a recommendation of the recommended development task to be presented in a user interface.

3 . The system of claim 2 , the recommendation generator further:

receives an indication of user interaction with the recommendation presented in the user interface; and

causes a second action corresponding to the recommendation to be performed.

4 . The system of claim 2 , wherein to generate the recommendation, the recommendation generator:

selects a potential recommendation item with a similarity to the third data item higher than other potential recommendation items of the set of potential recommendation items.

5 . The system of claim 1 , wherein the parametrization component further:

receives a second measure of relevancy between the first data item and a third data item; and

to determine the first setting, the parametrization component:

calculates, using an initial version of the parameterized heterogeneous distance function, a first distance between the first data item and the second data item and a second distance between the first data item and the third data item,

ranks the first and second distances,

determines a first rank similarity between the rank of the first and second distances and a rank of the first and second of measures of relevancy, and

subsequent to the determination of the first rank similarity, determines the first setting.

6 . The system of claim 5 , wherein an updated version of the parameterized heterogeneous distance function results from the determination of the first setting, and the parametrization component further:

calculates, utilizing the updated version of the parameterized heterogeneous distance function, a third distance between the first data item and the second data item and a fourth distance between the first data item and the third data item;

ranks the third and fourth distances;

determines a second rank similarity between the rank of the third and fourth distances and the rank of the first and second of measures of relevancy, and

subsequent to the determination of the second rank similarity, determines a second setting of another adjustable parameter of the parameterized heterogeneous distance function.

7 . The system of claim 5 , wherein to determine the first setting, the parametrization component:

performs Bayesian optimization with respect to the parameterized heterogeneous distance function based on the first rank similarity.

8 . The system of claim 5 , wherein to determine the first rank similarity, the parametrization component:

evaluates a normalized cumulative discount gain determined based on the rank of the first and second distance, the rank of the first and second measures of relevancy, and the first data item.

9 . The system of claim 1 , wherein the adjustable parameter comprises:

a function type of the first sub-function; or

a weight the first sub-function has in determining the distance between data items.

10 . A method, comprising:

receiving a first measure of relevancy between a first data item and a second data item;

determining a first setting of an adjustable parameter of a parameterized heterogenous distance function based on the first measure of relevancy, the parameterized heterogeneous distance function comprising a first sub-function and a second-subfunction, the first sub-function calculating a distance between data items based on features of a first data type, the second sub-function calculating a distance between data items based on features of a second data type different from the first data type;

generating, using the parameterized heterogeneous distance function, a recommended development task based on received input; and

automatically performing an action of the recommended development task.

11 . The method of claim 10 , wherein said generating the recommended development task further comprises:

causing a recommendation of the recommended development task to be presented in a user interface of a computing device.

12 . The method of claim 10 , further comprising:

receiving a second measure of relevancy between the first data item and a third data item; and

wherein said determining the first setting comprises:

calculating, utilizing an initial version of the parameterized heterogeneous distance function, a first distance between the first data item and the second data item and a second distance between the first data item and the third data item,

ranking the first and second distances,

determining a first rank similarity between the rank of the first and second distances and a rank of the first and second of measures of relevancy, and

subsequent to said determining of the first rank similarity, determining the first setting.

13 . The method of claim 12 , wherein an updated version of the parameterized heterogeneous distance function results from said determining the first setting, and the method further comprises:

calculating, utilizing the updated version of the parameterized heterogeneous distance function, a third distance between the first data item and the second data item and a fourth distance between the first data item and the third data item;

ranking the third and fourth distances;

determining a second rank similarity between the rank of the third and fourth distances and the rank of the first and second of measures of relevancy, and

subsequent to said determining the second rank similarity, determining a second setting of the adjustable parameter of the parameterized heterogeneous distance function.

14 . The method of claim 12 , wherein said determining the first setting comprises:

performing Bayesian optimization with respect to the parameterized heterogeneous distance function based on the first rank similarity.

15 . The method of claim 10 , further comprising:

receiving interaction and impression data, the interaction data corresponding to interactions with the second data item based on the first data item as a seed item and the impression data corresponding to impressions of the second data item based on the first data item as a seed item; and

determining the first measure of relevancy as a function of:

a measure of the interactions with the second data item based on the first data item as a seed item, and

a measure of the impressions of the second data item based on the first data item as the seed item.

16 . A parametrization system for recommendation functions comprising:

a processor circuit; and

a memory device that stores program code structured to cause the processor circuit to:

receive a first measure of relevancy between a first data item and a second data item;

determine a first setting of an adjustable parameter of a parameterized heterogenous distance function based on the first measure of relevancy, the parameterized heterogeneous distance function comprising a first sub-function and a second sub-function, the first sub-function calculating a distance between data items based on features of a first data type, the second sub-function calculating a distance between data items based on features of a second data type different from the first data type; and

cause a recommendation system to:

generate, utilizing the parameterized heterogeneous distance function, a recommended development task based on received input, and

automatically perform an action of the recommended development task.

17 . The parametrization system of claim 16 , wherein to cause the recommendation system to generate the recommended development task, the program code is further structured to cause the processor circuit to:

cause the recommendation system to cause a recommendation of the recommended development task to be presented in a user interface of a computing device.

18 . The parametrization system of claim 16 , wherein the program code is further structured to cause the processor circuit to:

receive a second measure of relevancy between the first data item and a third data item; and

wherein to determine the first setting, the program code is structured to cause the processor circuit to:

calculate, utilizing an initial version of the parameterized heterogeneous distance function to calculate a first distance between the first data item and the second data item and a second distance between the first data item and the third data item,

rank the first and second distances,

determine a first rank similarity between the rank of the first and second distances and a rank of the first and second of measures of relevancy, and

subsequent to determination of the first rank similarity, determine the first setting.

19 . The parametrization system of claim 18 , wherein an updated version of the parameterized heterogeneous distance function results from determination of the first setting, and the program code is further structured to cause the processor circuit to:

calculate, utilizing the updated version of the parameterized heterogeneous distance function, a third distance between the first data item and the second data item and a fourth distance between the first data item and the third data item;

rank the third and fourth distances;

determine a second rank similarity between the rank of the third and fourth distances and the rank of the first and second of measures of relevancy, and

subsequent to the determination of the second rank similarity, determine a second setting of another adjustable parameter of the parameterized heterogeneous distance function.

20 . The parametrization system of claim 18 , wherein to determine the first setting, the program code is structured to cause the processor circuit to:

perform Bayesian optimization with respect to the parameterized heterogeneous distance function based on the first rank similarity.