IP Library Granted Patent US 9,760,657
Granted Patent B2
US 9,760,657 · App. 14/626,051 · Granted Sep 12, 2017

Task based semantic search

Inventors: Roberto A. Masiero (Basking Ridge, NJ); Umakant Saraswat (Clifton, NJ); Mathew Skaria (East Hanover, NJ)
Assignee: ADP, LLC
G06F17/30967G06F17/30979
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 9,760,657
App. No.
14/626,051
Granted
Sep 12, 2017
Kind
B2
Abstract

Task-based semantic searches fetch user profile data including a role of the user within an enterprise entity from log-in identity data of the user in response to receiving a query text input. Object and task search predicates limit, as a function of the user role, scopes of objects returnable from search of an object index, and tasks returnable from search of a task index, in satisfaction of the query text as a function of the user role. Task and object index searching results are matched into task and object pairs that are allowed by the user role as a function of the enterprise entitlement system, and the task and object pairs are presented to the user in a graphical user interface as task-object pair hypertext references that invoke the task of each pair as a callable action on the object of each pair.

Claims (72)

1. A computer-implemented method for task-based semantic search, the method comprising executing on a processor the steps of:

in response to receiving a query text input from a user, fetching user profile data from log-in identity data of the user, wherein the fetched user profile data comprises a role of the user within an enterprise entity;

building at least one object search predicate that limits a scope of objects returnable from a search of an object index in satisfaction of the query text input as a function of the user role, wherein the at least one object search predicate limits results returned from the search of the object index to objects enabled for access by the user role by an enterprise entitlement system;

building at least one task search predicate that limits a scope of tasks returnable from a search of a task index in satisfaction of the query text input as a function of the user role, wherein the at least one task search predicate limits results returned from the search of the task index to tasks that are enabled by an enterprise entitlement system for execution upon enterprise data objects by the user role;

searching the task index for task results that match the query text input and meet conditions of the task search predicates;

searching the object index for object results that match the query text input and meet conditions of the object search predicates;

matching the task results of said task index searching and the object results of said object index searching into task and object pairs that are allowed by the user role as a function of the enterprise entitlement system; and

presenting the task and object pairs to the user in a graphical user interface as task-object pair hypertext references that invoke the task of each pair as a callable action on the object of each pair in response to a selection by the user via a graphical user interface selection routine.

2. The method of claim 1 , further comprising:

integrating computer-readable program code into a computer system comprising a processor, a computer readable memory in circuit communication with the processor, and a computer readable storage medium in circuit communication with the processor; and

wherein the processor executes program code instructions stored on the computer-readable storage medium via the computer readable memory and thereby performs the steps of fetching the user profile data from the log-in identity data, building the at least one object search predicate, building the at least one task search predicate, searching the task index for the task results, searching the object index for the object results, matching the task results and the object results into the task and object pairs and presenting the task and object pairs in the graphical user interface as the task-object pair hypertext references.

3. The method of claim 1 , further comprising:

retrieving a click-through activity history of the user from a persistent server-side memory medium of the enterprise entity; and

rank ordering the task-object pair hypertext references by boosting those of the task-object pair hypertext references that include tasks that were previously clicked through on in the retrieved click-through activity history over others of the task-object pair hypertext references that include tasks that were not previously clicked through on in the retrieved click-through activity history.

4. The method of claim 3 , further comprising:

expanding the query text input into an enriched query that comprises at least one additional task text term that is a synonym of a text string of a task within the query text input and is enabled by the enterprise entitlement system for execution upon enterprise data objects by the user role; and

wherein the steps of searching the task index for the task results that match the query text input and meet the conditions of the task search predicates and searching the object index for the object results that match the query text input and meet the conditions of the object search predicates comprise searching the task index for the task results that match the enriched query, and searching the object index for the object results that match the enriched query.

5. The method of claim 4 , wherein the step of expanding the query text input into the enriched query with the at least one additional task text term is further a function of determining that the at least one additional task text term was previously clicked through on in the retrieved click-through activity history.

6. The method of claim 5 , further comprising:

recognizing multiple individual string terms within the query text input via separation by white space within the query text input; and

wherein the steps of searching the task index for the task results that match the query text input and meet the conditions of the task search predicates and searching the object index for the object results that match the query text input and meet the conditions of the object search predicates comprise searching the task index for the task results that match ones of each of the multiple individual string terms, and searching the object index for the object results that match ones of each of the multiple individual string terms.

7. The method of claim 6 , wherein the query text is received via a representational state transfer protocol of an application programming interface; and

wherein the steps of fetching the user profile data, building the at least one object search predicate and the at least one task search predicate, searching the task index, searching the object index and matching the task results and the object results into the task and object pairs are performed within a search proxy layer of the application programming interface.

8. A system, comprising:

a processor;

a computer readable memory in circuit communication with the processor; and

a computer readable storage medium in circuit communication with the processor;

wherein the processor executes program instructions stored on the computer-readable storage medium via the computer readable memory and thereby:

fetches user profile data from log-in identity data of a user in response to receiving a query text input from the user, wherein the fetched user profile data comprises a role of the user within an enterprise entity;

builds at least one object search predicate that limits a scope of objects returnable from a search of an object index in satisfaction of the query text input as a function of the user role, wherein the at least one object search predicate limits results returned from the search of the object index to objects enabled for access by the user role by an enterprise entitlement system;

builds at least one task search predicate that limits a scope of tasks returnable from a search of a task index in satisfaction of the query text input as a function of the user role, wherein the at least one task search predicate limits results returned from the search of the task index to tasks that are enabled by an enterprise entitlement system for execution upon enterprise data objects by the user role;

searches the task index for task results that match the query text input and meet conditions of the task search predicates;

searches the object index for object results that match the query text input and meet conditions of the object search predicates;

matches the task results of said task index searching and the object results of said object index searching into task and object pairs that are allowed by the user role as a function of the enterprise entitlement system; and

presents the task and object pairs to the user in a graphical user interface as task-object pair hypertext references that invoke the task of each pair as a callable action on the object of each pair in response to a selection by the user via a graphical user interface selection routine.

9. The system of claim 8 , wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer readable memory and thereby further:

retrieves a click-through activity history of the user from a persistent server-side memory medium of the enterprise entity; and

rank orders the task-object pair hypertext references by boosting those of the task-object pair hypertext references that include tasks that were previously clicked through on in the retrieved click-through activity history over others of the task-object pair hypertext references that include tasks that were not previously clicked through on in the retrieved click-through activity history.

10. The system of claim 9 , wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer readable memory and thereby further:

expands the query text input into an enriched query that comprises at least one additional task text term that is a synonym of a text string of a task within the query text input and is enabled by the enterprise entitlement system for execution upon enterprise data objects by the user role;

searches the task index for the task results that match the query text input and meet the conditions of the task search predicates by searching the task index for the task results that match the enriched query; and

searches the object index for the object results that match the query text input and meet the conditions of the object search predicates by searching the object index for the object results that match the enriched query.

11. The system of claim 10 , wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer readable memory and thereby expands the query text input into the enriched query with the at least one additional task text term as a function of determining that the at least one additional task text term was previously clicked through on in the retrieved click-through activity history.

12. The system of claim 11 , wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer readable memory and thereby further:

recognizes multiple individual string terms within the query text input via separation by white space within the query text input;

searches the task index for the task results that match the query text input and meet the conditions of the task search predicates by searching the task index for the task results that match ones of each of the multiple individual string terms; and

searches the object index for the object results that match the query text input and meet the conditions of the object search predicates by searching the object index for the object results that match ones of each of the multiple individual string terms.

13. The system of claim 12 , wherein the query text is received via a representational state transfer protocol of an application programming interface; and

wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer readable memory and thereby fetches the user profile data, builds the at least one object search predicate and the at least one task search predicate, searches the task index and the object index and matches the task results and the object results into the task and object pairs within a search proxy layer of the application programming interface.

14. A computer program product for task-based semantic search, the computer program product comprising:

a computer readable hardware storage device having computer readable program code embodied therewith, wherein the computer readable hardware storage device is not a transitory signal per se, the computer readable program code comprising instructions for execution by a processor that cause the processor to:

fetch user profile data from log-in identity data of a user in response to receiving a query text input from the user, wherein the fetched user profile data comprises a role of the user within an enterprise entity;

build at least one object search predicate that limits a scope of objects returnable from a search of an object index in satisfaction of the query text input as a function of the user role, wherein the at least one object search predicate limits results returned from the search of the object index to objects enabled for access by the user role by an enterprise entitlement system;

build at least one task search predicate that limits a scope of tasks returnable from a search of a task index in satisfaction of the query text input as a function of the user role, wherein the at least one task search predicate limits results returned from the search of the task index to tasks that are enabled by an enterprise entitlement system for execution upon enterprise data objects by the user role;

search the task index for task results that match the query text input and meet conditions of the task search predicates;

search the object index for object results that match the query text input and meet conditions of the object search predicates;

match the task results of said task index searching and the object results of said object index searching into task and object pairs that are allowed by the user role as a function of the enterprise entitlement system; and

present the task and object pairs to the user in a graphical user interface as task-object pair hypertext references that invoke the task of each pair as a callable action on the object of each pair in response to a selection by the user via a graphical user interface selection routine.

15. The computer program product of claim 14 , wherein the computer readable program code instructions for execution by the processor further cause the processor to:

retrieve a click-through activity history of the user from a persistent server-side memory medium of the enterprise entity; and

rank order the task-object pair hypertext references by boosting those of the task-object pair hypertext references that include tasks that were previously clicked through on in the retrieved click-through activity history over others of the task-object pair hypertext references that include tasks that were not previously clicked through on in the retrieved click-through activity history.

16. The computer program product of claim 15 , wherein the computer readable program code instructions for execution by the processor further cause the processor to:

expand the query text input into an enriched query that comprises at least one additional task text term that is a synonym of a text string of a task within the query text input and is enabled by the enterprise entitlement system for execution upon enterprise data objects by the user role;

search the task index for the task results that match the query text input and meet the conditions of the task search predicates by searching the task index for the task results that match the enriched query; and

search the object index for the object results that match the query text input and meet the conditions of the object search predicates by searching the object index for the object results that match the enriched query.

17. The computer program product of claim 16 , wherein the computer readable program code instructions for execution by the processor further cause the processor to expand the query text input into the enriched query with the at least one additional task text term as a function of determining that the at least one additional task text term was previously clicked through on in the retrieved click-through activity history.

18. The computer program product of claim 17 , wherein the computer readable program code instructions for execution by the processor further cause the processor to:

recognize multiple individual string terms within the query text input via separation by white space within the query text input;

search the task index for the task results that match the query text input and meet the conditions of the task search predicates by searching the task index for the task results that match ones of each of the multiple individual string terms; and

search the object index for the object results that match the query text input and meet the conditions of the object search predicates by searching the object index for the object results that match ones of each of the multiple individual string terms.

19. The computer program product of claim 18 , wherein the query text is received via a representational state transfer protocol of an application programming interface; and

wherein the computer readable program code instructions for execution by the processor further cause the processor to fetch the user profile data, build the at least one object search predicate and the at least one task search predicate, search the task index and the object index and match the task results and the object results into the task and object pairs within a search proxy layer of the application programming interface.

Assignments (2)
CHANGE OF NAME Recorded Feb 4, 2022
From: ADP, LLC
To: ADP, INC.
Reel/Frame 058959/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2015
From: MASIERO, ROBERTO A.; SARASWAT, UMAKANT; SKARIA, MATHEW
To: ADP, LLC
Reel/Frame 034984/0751 →
Continuity (1)
Related Publication 20160246840A1 · Aug 25, 2016