WO2017097103A1 - Recommendation system, apparatus and method thereof to guide self-service analytic - Google Patents

Recommendation system, apparatus and method thereof to guide self-service analytic Download PDF

Info

Publication number
WO2017097103A1
WO2017097103A1 PCT/CN2016/106421 CN2016106421W WO2017097103A1 WO 2017097103 A1 WO2017097103 A1 WO 2017097103A1 CN 2016106421 W CN2016106421 W CN 2016106421W WO 2017097103 A1 WO2017097103 A1 WO 2017097103A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
interaction
stored
profile
profile data
Prior art date
Application number
PCT/CN2016/106421
Other languages
French (fr)
Inventor
Bhupendra Kumar JAIN
Puneet Gupta
V Vimal Das KAMMATH
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to CN201680071875.8A priority Critical patent/CN108369590B/en
Publication of WO2017097103A1 publication Critical patent/WO2017097103A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data

Definitions

  • the present invention described herein in general, relates to data analytics field, and more particularly, to data analysis and recommendation systems, methods, and apparatuses to guide self-service analytic by providing automatic recommendations for analysis path.
  • Secondary developers may include but not limited to business intelligence specialists, data scientists, information technology personnel’s.
  • the role of the secondary developers was to create complex analysis queries in sequential query language (SQL) , Multidimensional Expressions (MDX) or equivalent data query languages and deploy analysis templates utilizing these complex queries in analytics server.
  • the role of the end user was to select pre-configured analysis templates to see required information to complete their analysis.
  • the problems available in the existing self-service analytics are that the user start the analysis of the data, but has very less idea of right analysis path.
  • the end user typically uses analysis user interface (UI) and drags drops required fields form a data source.
  • UI analysis user interface
  • there are too many possible analysis paths and visualizations provided by the existing self-service analytics due to which, users have hard time finding the appropriate one. The novice users need lot of support before they can start analyzing effectively.
  • the existing self-service analytics considers information that is analyzed by different users for similar problem which is inconsistent across the organization, thereby making the self-service process time consuming and inconsistent across users which leads to hidden costs for the organization.
  • There are also some self-service analytics systems rely on secondary developers and data scientists to prepare the information for end users, but such options are time consuming and costly, wherein any modifications required by end users have high turnaround time.
  • the techniques as disclosed in‘815,‘762 and also in most of the existing self-service analytics is that, the techniques provide a static approach based on the pre-defined reports. Also, it is dependent on admin (i.e., human intervention) to configure paths, which do not suggest any visualization for the output making is difficult to understand. Furthermore, the user has been bound to predefined templates restricting the exposure of analyzing data in different manner.
  • one aspect of the present invention is to provide a system, method and apparatus for providing an automated guidance to a user to analyze data efficiently.
  • Another aspect of the present invention is to provide a system, method and apparatus providing automatic recommendations for analysis path so as to ease the big data analysis.
  • Another aspect of the present invention is to provide a system, method and apparatus for providing a user with various automated guidance which are identified intelligently based on current analysis path of the user.
  • the recommendations are based on other expert user’s analysis already performed.
  • the user can choose analysis path recommendations to arrive at the final result in less time and with ease.
  • Yet another aspect of the present invention is to provide a system, method and apparatus that updates continuously from the analysis path of the other users on similar data. Further, the system, method and apparatus utilizes the collaborative knowledge form all users for giving recommendations.
  • Still another aspect of the present invention is to a system, method and apparatus that make self-service systems more productive and easy to use for end users.
  • the present invention provides a system, for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data.
  • the system comprises a receiving module, a user interaction profiler module, a user profile matcher module, and a recommendation module.
  • the receiving module is configured to receive at least one operation performed by said user on a user interface of said system.
  • the user interaction profiler module is configured to index said operation received from said receiving module and thereby store said operation in an interaction profile data, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation.
  • the user profile matcher module is configured to match said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile, and generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile.
  • the recommendation module is configured to fetch said list of pre-stored user profile from said user profile matcher module, create at least one pre-condition based on said interaction profile data and said user, query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition, receive at least one operation performed by said pre-stored user profile from said list from said user interaction profiler, rank said operation performed by said pre-stored user profile based on a confidence match against said pre-condition, and thereby generate said recommendation to said user based on said confidence match.
  • the present invention provides an apparatus for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data.
  • the apparatus comprises a processor; and a memory coupled to the processor for executing a plurality of modules present in the memory.
  • the plurality of modules comprises a receiving module, a user interaction profiler module, a user profile matcher module, and a recommendation module.
  • the receiving module is configured to receive at least one operation performed by said user on a user interface of said system.
  • the user interaction profiler module is configured to index said operation received from said receiving module and thereby store said operation in an interaction profile data associated with said user in a user management module, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation.
  • the user profile matcher module is configured to match said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile, and generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile.
  • the recommendation module is configured to fetch said list of pre-stored user profile from said user profile matcher module, create at least one pre-condition based on said interaction profile data and said user, query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition created, receive at least one operation performed by said pre-stored user profile from said list under said pre- condition from said user interaction profiler, rank said operation performed by said pre-stored user profile based on a confidence match against said pre-condition, and thereby generate said recommendation for said user based on said confidence match.
  • the present invention provides an apparatus for provisioning at least one admission control policy and/or at least one resource control policy to at least one service in a network, said network having at least one constrained device providing said service registered with at least one resource discovery device, at least one client device accessing said service registered on said resource discovery device, and at least one commissioning device configured to verify said constrained device providing said service.
  • the apparatus comprises an obtaining module, a creation module, a lookup module, and an access module.
  • the obtaining module is configured to obtain at least one service information including at least one pre-registered service along with associated device identification (ID) from said commissioning device.
  • the creation module is configured to create service identification (ID) against said service information received, and create said admission control policy and/or said resource control policy for said service ID.
  • the lookup module is configured to lookup for service ID associated with said service in said provisioning device, on receipt of at least one request, from said client device, to access said service.
  • the an access module is configured to grant /deny access for said service, based on said admission control policy and/or said resource control policy, to said client device.
  • the present invention provides a method for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, performed by a system /an apparatus.
  • the method comprises:
  • the present invention provides automatic recommendations for analysis path so as to ease the big data analysis.
  • the system as disclosed in the present invention provides the user with various automated guidance which are identified based on current analysis path of the user.
  • the recommendations are based on other expert user’s analysis already/historically performed.
  • the user can choose analysis path recommendations to arrive at the final result in less time and with ease.
  • the system learns continuously from the analysis path of the other users on similar data.
  • the system utilizes the collaborative knowledge form all users for giving recommendations. This makes self service systems more productive and easy to use for end users.
  • Figure 1 illustrates a traditional analytics system as available in the prior-art.
  • Figure 2 illustrates a traditional self-service flow, as available in the prior-art.
  • Figure 3 illustrates a self-service flow with profiling and recommendation, in accordance with an embodiment of the present subject matter.
  • Figure 4 illustrates a user profiling flow, in accordance with an embodiment of the present subject matter.
  • Figure 5 illustrates a recommendation flow (overall system) , in accordance with an embodiment of the present subject matter.
  • Figure 6 illustrates an user interaction profile storage, in accordance with an embodiment of the present subject matter.
  • Figure 7 illustrates recommendation calculation, ranking, and confidence, in accordance with an embodiment of the present subject matter.
  • Figure 8 illustrates a system/apparatus for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, in accordance with an embodiment of the present subject matter.
  • Figure 9 illustrates a method for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, in accordance with an embodiment of the present subject matter.
  • Figure 10 illustrates a main dimension recommendation, in accordance with an embodiment of the present subject matter.
  • FIG 11 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • Figure 12 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • Figure 13 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • Figure 14 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • FIG. 15 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • Figure 16 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • FIG 17 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • Figure 18 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • FIG 19 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • the invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links.
  • these implementations, or any other form that the invention may take, may be referred to as techniques.
  • the order of the steps of disclosed processes may be altered within the scope of the invention.
  • Recommendation systems, apparatuses and methods thereof to guide self-service analytic are disclosed.
  • a self-service analytics or business intelligence (BI) approach enables the end users to create personalized reports and analytical queries while freeing up IT staffers to focus on other tasks –potentially benefiting both groups.
  • Self-service business intelligence (SSBI) is an approach to data analytics that enables business users to access and work with corporate information without the IT department’s involvement (except, of course, to set up the data warehouse and data marts underpinning the business intelligence (BI) system and deploy the self-service query and reporting tools) .
  • the self-service approach lets end users create personalized reports and analytical queries while freeing up IT staffers to focus on other tasks –potentially benefiting both groups. Because self-service BI software is used by people who may not be tech-savvy, however, it is imperative that the user interface must be intuitive and easy to use.
  • the present invention provides a system, apparatus and a method to provide automated guidance to the user to analyze data wherein the automated guidance system.
  • the present invention is configured learns continuously from the analysis paths of other users on similar data.
  • the present invention Stores the learning in a persistent storage.
  • the present invention allows the user to select for guidance criteria (such as but not limited to similar user /same user group /expert users /particular user/and the like) .
  • the present invention matches the users based on their profile to the required guidance criteria, and suggests appropriate non-linear analysis paths to the user where in analysis path can suggest measures (normal and calculated) , dimensions (normal and calculated) , threshold , sort, filter, grouping, etc. operations, result visualizations, and the like.
  • the traditional systems for self-service analytics mainly comprise a browser, a self-service UI, a self-service engine, a query engine, a user management, and storage.
  • the self-service UI displays the UI for user to perform self-service analytics. User may drag and drop the dimensions and measures, configure filters, define calculated measures and dimensions using the tools and options provided in this UI.
  • the self-service engine converts the user interactions into one or more database queries.
  • the query engine executes the queries on the multiple databases. Also the query engine interacts with the user management module to check the user’s access to certain tables, dimensions and members.
  • the query engine may add more filters to the query or filter items from the result depending on the permissions of the user.
  • the user management module maintains the user group information and calculates effective user permissions by combining the user’s permission and the group permissions to which the user belongs.
  • Figure 3 illustrates a self-service flow with profiling and recommendation, in accordance with an embodiment of the present subject matter.
  • the technical advancement of the prior-art as shown in figure 2 is obtained by providing automated guidance to the user to analyze data wherein the automated guidance system as shown in figure 3.
  • the present invention majorly comprises a user interaction profiler, an interaction profile data, a user profile matcher, and a recommendation engine.
  • the user interaction profiler tracks and profiles the user interactions at each step of the self-service analytics and update the “Interaction profile Data” .
  • interaction profile data maintains the information regarding the different interactions performed by different users under different pre-conditions. This information will be user to derive and suggest recommendations to other users.
  • the user profile matcher matches the current user with other users based on different criteria which the user has selected like (Similar users, Expert users, and Specific user) .
  • the recommendation engine is the main module, it gets the matching users from the “user profile matcher” , gets the current report state, current data source etc., as pre-conditions, and then finds actions performed by the matching users under the matching pre-condition from the “interaction profile data” .
  • Figure 4 illustrates a user profiling flow, in accordance with an embodiment of the present subject matter.
  • the user performs an operation on self-service UI like drag-n-drop dimension/measure or configuring filter or adding a calculated measure, calculated dimension/member.
  • the self-service UI sends this information to the user interaction profiler along with the process of sending the interaction information to the self-service engine.
  • the user interaction profiler indexes and stores the interaction information in a useful format in the interaction profile data.
  • the interaction data may include but not limited to the current state of the report (selected dimensions/measures, filters, calculation) , current visualization, user details and current operation (adding a new dimension/measure or filter etc...) .
  • the interaction profile data may be inserted with a new row having the current state and user as the key and the new operation as value. If the same “state and user as the key and the new operation as value” is already present the count of the operation will be incremented.
  • the current state in the present invention means the current analysis state of the user. For example, the user may be in middle of the data analysis.
  • Figure 5 illustrates a recommendation flow (overall system) , in accordance with an embodiment of the present subject matter.
  • the user may interact with the self-service analytics system of the present invention through an interface (display) . All the interaction of the user is captured by interface of the system and is forwarded to the recommendation engine.
  • the recommendation engine based on the interaction data queries the list of similar users who may have performed similar interaction in the past (i.e., fetch the matching historical data) .
  • the historical data or the list of similar users may be stored in the user profile matcher module or database.
  • the user profile matcher module or database may retrieve the user list from the user management database or module.
  • the user management module or database may store the profiles of all the users along with their interaction history who might have interacted with the system of present invention.
  • the user profile matcher module or database after receiving the user list from user management database or module performs user matching according to the criteria selected by the user.
  • the user profile matcher may then send the matching user list to the recommendation engine.
  • the recommendation engine creates a precondition based on current report state and current user and queries the interaction profile data for the actions performed by matching users under similar scenarios.
  • the recommendation engine may then rank the different possible operations based on the popularity and confidence match with the current precondition.
  • the recommendation engine provides the recommendations to the user through the user interface (display) of the self-service system of the present invention.
  • Figure 6 illustrates an user interaction profile storage, in accordance with an embodiment of the present subject matter.
  • a mongo DB may be used for the document database management in the present invention.
  • mango DB any of the existing data storages available in the prior art may be used in the present invention and hence the usage of mango DB shall not restrict the protection scope of the present invention.
  • mango DB may be used for the storage of user interaction profile.
  • the user interaction profile may be stored in a compressed manner.
  • a document database index based on document properties and search may be performed on any property of the document.
  • Figure 7 illustrates recommendation calculation, ranking, and confidence, in accordance with an embodiment of the present subject matter.
  • the recommendation engine receives the other users matching the configuration provided by the current users from the user profile matcher.
  • the user profile matcher may return the users and the confidence of match between 0 and 1.
  • the recommendation engine may then query the interaction profile data for actions that match the current report state for the matching users.
  • the interaction profile data may return the actions that matched the current report state for each matched user along with the confidence of the precondition match.
  • the recommendation engine then derives the effective confidence of each action by combining the user match confidence with the precondition match confidence of each action.
  • the recommendation engine then merges the scores of each action from multiple users to derive the final confidence score for each action.
  • the recommendation engine gets the matching users in the form of a list storing the user id and the associated score.
  • the recommendation engine receives the operation whose precondition matched the current pre-conditions.
  • the recommendation may find the matching and generate a list storing the user id, corresponding action and the associated score.
  • the recommendation engine may multiply the user matching score with the action match score.
  • the recommendation engine then merges the score of same action from multiple users.
  • the recommendation engine sorts the list based on the maximum score and displays the recommendations in the order of confidence.
  • Figure 8 illustrates a system/apparatus for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, in accordance with an embodiment of the present subject matter.
  • the present invention provides a system (800) , for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data.
  • the present invention provides an apparatus (800) for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data.
  • the apparatus (800) comprises a processor (802) , and a memory (806) coupled to the processor for executing a plurality of modules present in the memory.
  • system/apparatus (800) may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. It will be understood that the system/apparatus (800) may be accessed by multiple users through one or more user devices (not shown) or application residing in those device (not shown) . Examples of the system/apparatus (800) may include, but are not limited to, a portable computer, a personal may be communicatively coupled to other devices through a network (not shown) .
  • the network may be a wireless network, a wired network or a combination thereof.
  • the network can be implemented as one of the different types of networks, such as intranet, local area network (LAN) , wide area network (WAN) , the internet, and the like.
  • the network may either be a dedicated network or a shared network.
  • the shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP) , Transmission Control Protocol/Internet Protocol (TCP/IP) , Wireless Application Protocol (WAP) , and the like, to communicate with one another.
  • HTTP Hypertext Transfer Protocol
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • WAP Wireless Application Protocol
  • the network may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
  • the system/apparatus (800) may include at least one processor (802) , an interface (804) , and a memory (806) .
  • the at least one processor (802) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions.
  • the at least one processor (802) is configured to fetch and execute computer-readable instructions stored in the memory (806) .
  • the interface (804) may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like.
  • the interface (804) may allow the system/apparatus (800) to interact with a user directly or through the client devices. Further, the interface (804) may enable the system/apparatus (800) to communicate with other computing devices, such as web servers and external data servers (not shown) .
  • the interface (804) can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite.
  • the interface (804) may include one or more ports for connecting a number of devices to one another or to another server.
  • the memory (806) may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM) , and/or non-volatile memory, such as read only memory (ROM) , erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes.
  • the memory (806) may include plurality of modules.
  • the modules include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types.
  • the modules may include a receiving module (808) , a user interaction profiler module (810) , a user profile matcher module (812) , and a recommendation module (814) .
  • the other modules may include programs or coded instructions that supplement applications and functions of the system/apparatus (800) .
  • the receiving module (802) is configured to receive at least one operation performed by said user on a user interface of said apparatus.
  • the user interaction profiler module (810) is configured to index said operation received from said receiving module and thereby store said operation in an interaction profile data associated with said user in a user management module (816) , wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation.
  • the user profile matcher module (812) is configured to match said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile, and generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile.
  • the recommendation module (814) is configured to fetch said list of pre-stored user profile from said user profile matcher module, create at least one pre-condition based on said interaction profile data and said user, query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition created, receive at least one operation performed by said pre-stored user profile from said list under said pre-condition from said user interaction profiler, rank said operation performed by said pre-stored user profile based on a confidence match against said pre-condition, and thereby generate said recommendation for said user based on said confidence match.
  • the receiving module (808) is configured to receive at least one operation performed by said user on a user interface (804) of said system.
  • the user interaction profiler module (810) is configured to index said operation received from said receiving module and thereby store said operation in an interaction profile data, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation.
  • the user profile matcher module (812) is configured to match said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile, and generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile.
  • the recommendation module (814) is configured to fetch said list of pre-stored user profile from said user profile matcher module, create at least one pre-condition based on said interaction profile data and said user, query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition, receive at least one operation performed by said pre-stored user profile from said list from said user interaction profiler, rank said operation performed by said pre-stored user profile based on a confidence match against said pre-condition, and thereby generate said recommendation to said user based on said confidence match.
  • the recommendation is displayed on said user interface of said system/apparatus (800) .
  • said pre-stored interaction profile data associated with said pre-stored user profile is stored in a user management module (816) .
  • the user management module (816) configured to receive said operation from said receiving module and generate at least one user profile associated with said user based on said operation, wherein said user profile is generated if said user profile associated with said user is not pre-stored.
  • the user management module (816) configured to store a list of pre-stored user profile associated with a plurality of users with related interaction profile data.
  • said recommendation are, preferably, for normal measures, calculated measures, normal dimensions, calculated dimensions, threshold, sort, filter, grouping, result visualization selected from graphs, charts, Venn diagrams, or any combination thereof.
  • said interaction profile data comprises a table storing interaction profile data with a row having a current state and said user as a key along with said operation performed by said user as a value.
  • said user profile matcher module is configured to transmit said list and a confidence match of match between said interaction profile data and said pre-defined interaction profile data, preferably, a value between 0 and 1, to said recommendation module.
  • said user interaction profiler module (810) is configured to transmit said operation performed by said pre-stored user profile along with said confidence of said precondition match, to said recommendation module (814) .
  • said recommendation module (814) is configured to obtain an effective confidence of each operation performed by combining said confidence match with said precondition match of said operation, said confidence match is a value between 0 and 1.
  • said recommendation module (814) is configured to combine said confidence precondition match of operations from said user profile to derive a final confidence score for each operation.
  • said operation is preferably selected from a drag-n-drop dimension/measure or a configuring filter or a adding a calculated measure or a calculated dimension/member or any combination thereof.
  • said operation is preferably performed on analytical UI by some interaction methods such as drag drop, or any available, known ways of interactions with the UI.
  • said operation is a user interaction of said user with said data during said analysis, said data is displayed on said user interface of said system.
  • Figure 9 illustrates a method for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, in accordance with an embodiment of the present subject matter.
  • the method may be described in the general context of computer executable instructions.
  • computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types.
  • the method may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network.
  • computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
  • the order in which the method is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method or alternate methods. Additionally, individual blocks may be deleted from the method without departing from the protection scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method may be considered to be implemented in the above described system/apparatus (800) .
  • At block 902 at least one operation performed by said user on a user interface (802) of said system/apparatus (800) is received.
  • step 904 said operation received is step 902 is indexed.
  • said operation is stored in an interaction profile data associated with said user, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation;
  • said interaction profile data is matched with at least one pre-stored interaction profile data associated with at least one pre-stored user profile.
  • said list of pre-stored user profile is fetched.
  • At block 914 at least one pre-condition based on said interaction profile data and said user is created.
  • said pre-stored user profile from said list under said pre-condition is queried for at least one operation performed by said pre-stored.
  • said operation performed by said pre-stored user profile under said pre-condition based on a confidence match against said pre-condition is ranked.
  • said pre-stored interaction profile data associated with said pre-stored user profile is stored in a user management module of said system/said apparatus.
  • the method further comprises, receiving, by a user management module of said system/said apparatus, said operation from a receiving module of said system/said apparatus; and generating at least one user profile associated with said user based on said operation, wherein said user profile is generated if said user profile associated with said user is not pre-stored in said user management module.
  • the method further comprises storing a list of pre-stored user profile associated with a plurality of users with related interaction profile data in a user management module of said system/said apparatus.
  • the method comprises transmitting, after matching, said operation performed by said pre-stored user profile along with said confidence of said precondition match to a recommendation module of said system/said apparatus.
  • the present invention provides recommendations for measures (normal and calculated) , dimensions (normal and calculated) , threshold, sort, filter, grouping, etc. operations, and result visualizations.
  • measures normal and calculated
  • dimensions normal and calculated
  • threshold sort, filter, grouping, etc. operations
  • result visualizations result visualizations.
  • the recommendations may be changes/updated based on the requirement of the systems or user requirement or the operating environment.
  • Figure 10 illustrates a main dimension recommendation, in accordance with an embodiment of the present subject matter.
  • the user selects the data source for data analysis.
  • System will show the mostly used dimension recommendations to choose from. Same is depicted in below example UI.
  • the user may drag and drop a dimension as done for conventional systems.
  • System also suggests the most commonly used dimension combinations from other users who match the current user. Based on the recommendations, the user selects one of the suggested options.
  • Figure 11 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 11, the different type of recommendation will be grouped and displayed.
  • UI recommendation user interface
  • Figure 12 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 12, user can view the recommendations inside a group by clicking on a group.
  • UI recommendation user interface
  • Figure 13 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 13, selecting a recommended option will refresh the recommendations, new recommendations may appear or existing ones may disappear based on the selected recommendation.
  • UI recommendation user interface
  • Figure 15 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 15, user adds a measure from recommendation: Downlink.
  • UI recommendation user interface
  • Figure 16 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
  • UI recommendation user interface
  • figure 16 provides the result of action performed as explained in the preceding figure 15. It adds the dimension and some more recommendations are displayed in various groups on the display as an output.
  • Figure 17 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 17, distinct subscriber count measure appeared in the recommendation because similar users use this calculation mostly with traffic range calculation. User selects calculated measure “distinct subscriber count” and also removes “MSISDN” .
  • UI recommendation user interface
  • Figure 18 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 18, distinct subscriber count is added in the report, and recommendations will refresh automatically. Now user selects “visualization” recommendation of “chart” [which other users would have already used] .
  • UI recommendation user interface
  • Figure 19 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 19, user achieves the final analysis report which he is aiming for. Thus recommendation system helps in faster analysis.
  • UI recommendation user interface
  • the present invention provides a system to provide automated guidance to the user to analyze data wherein the automated guidance system.
  • the present invention provides a system that learns continuously from the analysis paths of other users on similar data.
  • the present invention provides a system that Stores the learning in a persistent storage
  • the present invention provides a system that allows the user to opt for guidance criteria (similar user /same user group /expert users /particular user/etc)
  • the present invention provides a system that matches the users based on their profile to the required guidance criteria, and suggests appropriate non-linear analysis paths to the user where in analysis path can suggest measures (normal and calculated) , dimensions (normal and calculated) , threshold, sort, filter, grouping, etc. operations, and result visualizations.
  • the present invention provides recommendations for self-service operation.
  • the present invention provides recommendations that are based on user profile and scenario matching.
  • the present invention provides recommendations are based on current state of the report.
  • the present invention provides recommendations change/update after every user action on the self-service report.
  • the present invention provides suitable for data-confidential deployments like multi-tenant systems.
  • the present invention increases the productivity of end user though automated guidance.
  • the present invention makes self-service systems easy to use.
  • the present invention makes sure that no data insights will be missed as the 360 degree analytics assistant utilizes the collaborative knowledge form all users for giving recommendations/
  • the present invention can be used for training new novice users in doing analysis who can get automated guidance from expert users
  • the present invention can be used for knowledge transfer as users can follow other users.
  • the present invention may be a major analytics feature in a multi-tenant cloud based systems like Google analytics where (for example) different website administrators track their website's performance. The key dimensions and measures tracked by all administrators are same and collaborative analysis could make the analysis job very easy. In such systems where users from different organizations need to collaborate, a service agreement would be needed for collecting knowledge anonymously.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the described apparatus embodiment is merely exemplary.
  • the unit division is merely logical function division and may be other division in actual implementation.
  • a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed.
  • the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces.
  • the indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
  • the functions When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or a part of the technical solutions may be implemented in a form of a software product.
  • the computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or a part of the steps of the methods described in the embodiment of the present invention.
  • the foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
  • program code such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided is a system that offers user with various automated guidance which are identified intelligently based on current analysis path of the user to provide automatic recommendations for analysis path so as to ease the big data analysis. The recommendations are based on other expert user's analysis already performed. The user chooses analysis path recommendations to arrive at the final result in less time and with ease. The system can learn continuously from the analysis path of the other users on similar data. The system utilizes the collaborative knowledge form all users for giving recommendations. The system and/or an apparatus (800) having a receiving module (808), a user interaction profiler module (810), a user profile matcher module (812), and a recommendation module (814) to provide automatic recommendations to the users.

Description

A RECOMMENDATION SYSTEM, APPARATUS AND A METHOD THEREOF TO GUIDE SELF-SERVICE ANALYTIC
TECHNIAL FIELD
The present invention described herein, in general, relates to data analytics field, and more particularly, to data analysis and recommendation systems, methods, and apparatuses to guide self-service analytic by providing automatic recommendations for analysis path.
BACKGROUND
Traditional data analytics systems used for analysis and reporting of data had two types of user’s : secondary developers and end users. The secondary developers may include but not limited to business intelligence specialists, data scientists, information technology personnel’s. As shown in figure 1, the role of the secondary developers was to create complex analysis queries in sequential query language (SQL) , Multidimensional Expressions (MDX) or equivalent data query languages and deploy analysis templates utilizing these complex queries in analytics server. The role of the end user was to select pre-configured analysis templates to see required information to complete their analysis.
Recently, self-service analytics approaches have gained importance and due to which the traditional ways of analysis are becoming obsolete. In such self-service approaches the role of secondary developers is also played by the end user. It is well-know that, in the contemporary analytics market, business users want streamlined applications that allow them to query and visualize data, with incremental sophistication, until that data is truly understood.
The problems available in the existing self-service analytics are that the user start the analysis of the data, but has very less idea of right analysis path. In the available self-service analytics the end user typically uses analysis user interface (UI) and drags drops required fields form a data source. However, there are too many possible analysis paths and visualizations provided by the existing self-service analytics, due to which, users have hard time finding the appropriate one. The novice users need lot of support before they can start analyzing effectively. Further, the existing self-service analytics considers information that is analyzed by different users for similar problem which is inconsistent across the organization, thereby making the self-service process time consuming and inconsistent across users which leads to hidden costs for the organization. There are also some self-service analytics systems rely on secondary developers and data scientists to prepare the information for end users, but such options are time consuming and costly, wherein any modifications required by end users have high turnaround time.
There are various techniques proposed in the prior-art literature disclosing different approaches to achieve efficient self-service analytics. One of the techniques is disclosed in the patent document US20080249815 (herein after referred as‘815) reciting adaptive analytics system and method of using same. In the‘815, the admin defines different analytic type templates to suit different types of analysis that can done in that domain, wherein each analysis template has predefined data source and possible analysis paths (reports/drilldowns) and then the user selects a analytic template and the system helps the user navigate through analytic paths.
Another technique is disclosed in the patent document US 20120191762 A1 (herein after referred as ‘762) providing assisted business analysis to users. In‘762 the system provides a list of pre-defined reports for user to select, the user selects one or more pre-defined report, the System extracts a list of analysis options from that report like  calculated dimensions, measures trend analysis etc., and these extracted options are shown to user for applying during creation of an ad-hoc report.
However, the techniques as disclosed in‘815,‘762 and also in most of the existing self-service analytics, is that, the techniques provide a static approach based on the pre-defined reports. Also, it is dependent on admin (i.e., human intervention) to configure paths, which do not suggest any visualization for the output making is difficult to understand. Furthermore, the user has been bound to predefined templates restricting the exposure of analyzing data in different manner.
SUMMARY
This summary is provided to introduce concepts related to a recommendation system, apparatus and a method thereof to guide self-service analytic, and are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
In order to provide a technical solution to the above mentioned technical problems, one aspect of the present invention is to provide a system, method and apparatus for providing an automated guidance to a user to analyze data efficiently.
Another aspect of the present invention is to provide a system, method and apparatus providing automatic recommendations for analysis path so as to ease the big data analysis.
Another aspect of the present invention is to provide a system, method and apparatus for providing a user with various automated guidance  which are identified intelligently based on current analysis path of the user. The recommendations are based on other expert user’s analysis already performed. The user can choose analysis path recommendations to arrive at the final result in less time and with ease.
Yet another aspect of the present invention is to provide a system, method and apparatus that updates continuously from the analysis path of the other users on similar data. Further, the system, method and apparatus utilizes the collaborative knowledge form all users for giving recommendations.
Still another aspect of the present invention is to a system, method and apparatus that make self-service systems more productive and easy to use for end users.
Accordingly, in one implementation, the present invention provides a system, for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data. The system comprises a receiving module, a user interaction profiler module, a user profile matcher module, and a recommendation module. The receiving module is configured to receive at least one operation performed by said user on a user interface of said system. The user interaction profiler module is configured to index said operation received from said receiving module and thereby store said operation in an interaction profile data, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation. The user profile matcher module is configured to match said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile, and generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile. The recommendation module is configured to fetch said list of pre-stored user profile from said user profile matcher module, create at least one pre-condition based on said interaction profile  data and said user, query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition, receive at least one operation performed by said pre-stored user profile from said list from said user interaction profiler, rank said operation performed by said pre-stored user profile based on a confidence match against said pre-condition, and thereby generate said recommendation to said user based on said confidence match.
In one implementation, the present invention provides an apparatus for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data. The apparatus comprises a processor; and a memory coupled to the processor for executing a plurality of modules present in the memory. The plurality of modules comprises a receiving module, a user interaction profiler module, a user profile matcher module, and a recommendation module. The receiving module is configured to receive at least one operation performed by said user on a user interface of said system. The user interaction profiler module is configured to index said operation received from said receiving module and thereby store said operation in an interaction profile data associated with said user in a user management module, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation. The user profile matcher module is configured to match said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile, and generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile. The recommendation module is configured to fetch said list of pre-stored user profile from said user profile matcher module, create at least one pre-condition based on said interaction profile data and said user, query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition created, receive at least one operation performed by said pre-stored user profile from said list under said pre- condition from said user interaction profiler, rank said operation performed by said pre-stored user profile based on a confidence match against said pre-condition, and thereby generate said recommendation for said user based on said confidence match.
In one implementation, the present invention provides an apparatus for provisioning at least one admission control policy and/or at least one resource control policy to at least one service in a network, said network having at least one constrained device providing said service registered with at least one resource discovery device, at least one client device accessing said service registered on said resource discovery device, and at least one commissioning device configured to verify said constrained device providing said service. The apparatus comprises an obtaining module, a creation module, a lookup module, and an access module. The obtaining module is configured to obtain at least one service information including at least one pre-registered service along with associated device identification (ID) from said commissioning device. The creation module is configured to create service identification (ID) against said service information received, and create said admission control policy and/or said resource control policy for said service ID. The lookup module is configured to lookup for service ID associated with said service in said provisioning device, on receipt of at least one request, from said client device, to access said service. The an access module is configured to grant /deny access for said service, based on said admission control policy and/or said resource control policy, to said client device.
In one implementation, the present invention provides a method for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, performed by a system /an apparatus. The method comprises:
· receiving at least one operation performed by said user on an user interface;
· indexing said operation received from said receiving module;
· storing said operation in an interaction profile data associated with said user, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation;
· matching said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile;
· generating, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile;
· fetching said list of pre-stored user profile;
· creating at least one pre-condition based on said interaction profile data and said user;
· querying for operations performed by said pre-stored user profile from said list under said pre-condition;
· receiving at least one operation performed by said pre-stored user profile from said list under said pre-condition;
· ranking said operation performed by said pre-stored user profile under said pre-condition based on a confidence match against said pre-condition; and thereby
· generating said recommendation to said user based on said confidence match.
As compared to the convention techniques available in the prior-art, the present invention provides automatic recommendations for analysis path so as to ease the big data analysis. The system as disclosed in the present invention provides the user with various automated guidance which are identified based on current analysis path of the user. The recommendations are based on other expert user’s analysis already/historically performed. The user can choose analysis path recommendations to arrive at the final result in less time and with ease. Further, the system learns continuously from the analysis path of the other users on similar data. Also, the system utilizes the collaborative knowledge form all users for  giving recommendations. This makes self service systems more productive and easy to use for end users.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit (s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to refer like features and components.
Figure 1 illustrates a traditional analytics system as available in the prior-art.
Figure 2 illustrates a traditional self-service flow, as available in the prior-art.
Figure 3 illustrates a self-service flow with profiling and recommendation, in accordance with an embodiment of the present subject matter.
Figure 4 illustrates a user profiling flow, in accordance with an embodiment of the present subject matter.
Figure 5 illustrates a recommendation flow (overall system) , in accordance with an embodiment of the present subject matter.
Figure 6 illustrates an user interaction profile storage, in accordance with an embodiment of the present subject matter.
Figure 7 illustrates recommendation calculation, ranking, and confidence, in accordance with an embodiment of the present subject matter.
Figure 8 illustrates a system/apparatus for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, in accordance with an embodiment of the present subject matter.
Figure 9 illustrates a method for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, in accordance with an embodiment of the present subject matter.
Figure 10 illustrates a main dimension recommendation, in accordance with an embodiment of the present subject matter.
Figure 11 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
Figure 12 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
Figure 13 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
Figure 14 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
Figure 15 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
Figure 16 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
Figure 17 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
Figure 18 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
Figure 19 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter.
It is to be understood that the attached drawings are for purposes of illustrating the concepts of the invention and may not be to scale.
DETAILED DESCRIPTION OF THE PRESENT INVENTION
The following clearly describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
The invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
Recommendation systems, apparatuses and methods thereof to guide self-service analytic are disclosed.
While aspects are described for providing recommendation system, apparatus and method thereof to guide self-service analytic, the present invention may be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary systems, apparatus, and methods.
A self-service analytics or business intelligence (BI) approach enables the end users to create personalized reports and analytical queries while freeing up IT staffers to focus on other tasks –potentially benefiting both groups. Self-service business intelligence (SSBI) is an approach to data analytics that enables business users to access and work with corporate information without the IT department’s involvement (except, of course, to set up the data warehouse and data marts underpinning the business intelligence (BI) system and deploy the self-service query and reporting tools) . The self-service approach lets end users create personalized reports and analytical queries while freeing up IT  staffers to focus on other tasks –potentially benefiting both groups. Because self-service BI software is used by people who may not be tech-savvy, however, it is imperative that the user interface must be intuitive and easy to use.
In one implementation, the present invention provides a system, apparatus and a method to provide automated guidance to the user to analyze data wherein the automated guidance system. The present invention is configured learns continuously from the analysis paths of other users on similar data. The present invention Stores the learning in a persistent storage. The present invention allows the user to select for guidance criteria (such as but not limited to similar user /same user group /expert users /particular user/and the like) . The present invention matches the users based on their profile to the required guidance criteria, and suggests appropriate non-linear analysis paths to the user where in analysis path can suggest measures (normal and calculated) , dimensions (normal and calculated) , threshold , sort, filter, grouping, etc. operations, result visualizations, and the like.
Referring now to figure 2 illustrates a traditional self-service flow, as available in the prior-art. As show in figure 2, the traditional systems for self-service analytics mainly comprise a browser, a self-service UI, a self-service engine, a query engine, a user management, and storage. The self-service UI displays the UI for user to perform self-service analytics. User may drag and drop the dimensions and measures, configure filters, define calculated measures and dimensions using the tools and options provided in this UI. The self-service engine converts the user interactions into one or more database queries. The query engine executes the queries on the multiple databases. Also the query engine interacts with the user management module to check the user’s access to certain tables, dimensions and members. Based on different scenario, the query engine may add more filters to the query or filter items from the result depending on the permissions of the user. The user management module maintains the user group  information and calculates effective user permissions by combining the user’s permission and the group permissions to which the user belongs.
Figure 3 illustrates a self-service flow with profiling and recommendation, in accordance with an embodiment of the present subject matter. In one implementation, the technical advancement of the prior-art as shown in figure 2 is obtained by providing automated guidance to the user to analyze data wherein the automated guidance system as shown in figure 3. As shown in figure 3, the present invention majorly comprises a user interaction profiler, an interaction profile data, a user profile matcher, and a recommendation engine.
In one implementation, the user interaction profiler tracks and profiles the user interactions at each step of the self-service analytics and update the “Interaction profile Data” .
In one implementation, interaction profile data maintains the information regarding the different interactions performed by different users under different pre-conditions. This information will be user to derive and suggest recommendations to other users.
In one implementation, the user profile matcher matches the current user with other users based on different criteria which the user has selected like (Similar users, Expert users, and Specific user) .
In one implementation, the recommendation engine is the main module, it gets the matching users from the “user profile matcher” , gets the current report state, current data source etc., as pre-conditions, and then finds actions performed by the matching users under the matching pre-condition from the “interaction profile data” .
Figure 4 illustrates a user profiling flow, in accordance with an embodiment of the present subject matter. In one implementation, as shown in figure 4, the user performs an operation on self-service UI like drag-n-drop dimension/measure or configuring filter or adding a calculated measure, calculated dimension/member. The self-service UI sends this information to the user interaction profiler along with the process of sending the interaction information to the self-service engine. The user interaction profiler indexes and stores the interaction information in a useful format in the interaction profile data. The interaction data may include but not limited to the current state of the report (selected dimensions/measures, filters, calculation) , current visualization, user details and current operation (adding a new dimension/measure or filter etc…) . The interaction profile data may be inserted with a new row having the current state and user as the key and the new operation as value. If the same “state and user as the key and the new operation as value” is already present the count of the operation will be incremented. It may be understood by a person skilled in that art that the current state in the present invention means the current analysis state of the user. For example, the user may be in middle of the data analysis.
Figure 5 illustrates a recommendation flow (overall system) , in accordance with an embodiment of the present subject matter. In one implementation, as shown in figure 5, the user may interact with the self-service analytics system of the present invention through an interface (display) . All the interaction of the user is captured by interface of the system and is forwarded to the recommendation engine. The recommendation engine based on the interaction data queries the list of similar users who may have performed similar interaction in the past (i.e., fetch the matching historical data) . The historical data or the list of similar users may be stored in the user profile matcher module or database. The user profile matcher module or database may retrieve the user list from the user management database or module. The user management module or database may store the profiles of all the users along with their interaction history who might have interacted with the system of present invention. The user profile matcher  module or database after receiving the user list from user management database or module performs user matching according to the criteria selected by the user.
The user profile matcher may then send the matching user list to the recommendation engine. The recommendation engine creates a precondition based on current report state and current user and queries the interaction profile data for the actions performed by matching users under similar scenarios. The recommendation engine may then rank the different possible operations based on the popularity and confidence match with the current precondition. The recommendation engine provides the recommendations to the user through the user interface (display) of the self-service system of the present invention.
Figure 6 illustrates an user interaction profile storage, in accordance with an embodiment of the present subject matter. In one implementation, as shown in figure 6, a mongo DB may be used for the document database management in the present invention. However, it may be understood by the person skilled in that art that any of the existing data storages available in the prior art may be used in the present invention and hence the usage of mango DB shall not restrict the protection scope of the present invention.
In one implementation mango DB may be used for the storage of user interaction profile. The user interaction profile may be stored in a compressed manner. A document database index based on document properties and search may be performed on any property of the document.
Figure 7 illustrates recommendation calculation, ranking, and confidence, in accordance with an embodiment of the present subject matter. In continuation with the explanation of the figure 5, in one implementation, the recommendation engine receives the other users matching the configuration provided by the current users from the user profile matcher. The user profile matcher may return the users and the confidence of match between 0 and 1. The  recommendation engine may then query the interaction profile data for actions that match the current report state for the matching users. The interaction profile data may return the actions that matched the current report state for each matched user along with the confidence of the precondition match. The recommendation engine then derives the effective confidence of each action by combining the user match confidence with the precondition match confidence of each action. The recommendation engine then merges the scores of each action from multiple users to derive the final confidence score for each action.
In one implementation, as shown in figure 7, the recommendation engine gets the matching users in the form of a list storing the user id and the associated score. In order to match the user, the recommendation engine receives the operation whose precondition matched the current pre-conditions. The recommendation may find the matching and generate a list storing the user id, corresponding action and the associated score. In the next step the recommendation engine may multiply the user matching score with the action match score. The recommendation engine then merges the score of same action from multiple users. In the final step the recommendation engine sorts the list based on the maximum score and displays the recommendations in the order of confidence.
Figure 8 illustrates a system/apparatus for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, in accordance with an embodiment of the present subject matter. In one implementation, the present invention provides a system  (800) , for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data.
In one implementation, the present invention provides an apparatus (800) for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data. The apparatus  (800) comprises a processor (802) , and a memory (806) coupled to the processor for executing a plurality of modules present in the memory.
Although the present subject matter is explained considering that the self-service analytic is implemented as the system/apparatus (800) , it may be understood that the system/apparatus (800) may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. It will be understood that the system/apparatus (800) may be accessed by multiple users through one or more user devices (not shown) or application residing in those device (not shown) . Examples of the system/apparatus (800) may include, but are not limited to, a portable computer, a personal may be communicatively coupled to other devices through a network (not shown) .
In one implementation, the network may be a wireless network, a wired network or a combination thereof. The network can be implemented as one of the different types of networks, such as intranet, local area network (LAN) , wide area network (WAN) , the internet, and the like. The network may either be a dedicated network or a shared network. The shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP) , Transmission Control Protocol/Internet Protocol  (TCP/IP) , Wireless Application Protocol (WAP) , and the like, to communicate with one another. Further the network may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
In one implementation, the system/apparatus (800) may include at least one processor (802) , an interface (804) , and a memory (806) . The at least one processor (802) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals  based on operational instructions. Among other capabilities, the at least one processor (802) is configured to fetch and execute computer-readable instructions stored in the memory (806) .
The interface (804) may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The interface (804) may allow the system/apparatus (800) to interact with a user directly or through the client devices. Further, the interface (804) may enable the system/apparatus (800) to communicate with other computing devices, such as web servers and external data servers (not shown) . The interface (804) can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The interface (804) may include one or more ports for connecting a number of devices to one another or to another server.
The memory (806) may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM) , and/or non-volatile memory, such as read only memory (ROM) , erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory (806) may include plurality of modules. The modules include routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types. In one implementation, the modules may include a receiving module (808) , a user interaction profiler module (810) , a user profile matcher module (812) , and a recommendation module (814) . The other modules may include programs or coded instructions that supplement applications and functions of the system/apparatus (800) .
In one implementation, the receiving module (802) is configured to receive at least one operation performed by said user on a user interface of said  apparatus. The user interaction profiler module (810) is configured to index said operation received from said receiving module and thereby store said operation in an interaction profile data associated with said user in a user management module (816) , wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation. The user profile matcher module (812) is configured to match said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile, and generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile. The recommendation module (814) is configured to fetch said list of pre-stored user profile from said user profile matcher module, create at least one pre-condition based on said interaction profile data and said user, query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition created, receive at least one operation performed by said pre-stored user profile from said list under said pre-condition from said user interaction profiler, rank said operation performed by said pre-stored user profile based on a confidence match against said pre-condition, and thereby generate said recommendation for said user based on said confidence match.
In one implementation, the receiving module (808) is configured to receive at least one operation performed by said user on a user interface (804) of said system. The user interaction profiler module (810) is configured to index said operation received from said receiving module and thereby store said operation in an interaction profile data, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation. The user profile matcher module (812) is configured to match said interaction profile data with at least one pre-stored interaction profile data associated with at least one pre-stored user profile, and generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile. The recommendation  module (814) is configured to fetch said list of pre-stored user profile from said user profile matcher module, create at least one pre-condition based on said interaction profile data and said user, query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition, receive at least one operation performed by said pre-stored user profile from said list from said user interaction profiler, rank said operation performed by said pre-stored user profile based on a confidence match against said pre-condition, and thereby generate said recommendation to said user based on said confidence match.
In one implementation, the recommendation is displayed on said user interface of said system/apparatus (800) .
In one implementation, said pre-stored interaction profile data associated with said pre-stored user profile is stored in a user management module (816) .
In one implementation, the user management module (816) configured to receive said operation from said receiving module and generate at least one user profile associated with said user based on said operation, wherein said user profile is generated if said user profile associated with said user is not pre-stored.
In one implementation, the user management module (816) configured to store a list of pre-stored user profile associated with a plurality of users with related interaction profile data.
In one implementation, said recommendation are, preferably, for normal measures, calculated measures, normal dimensions, calculated dimensions, threshold, sort, filter, grouping, result visualization selected from graphs, charts, Venn diagrams, or any combination thereof.
In one implementation, said interaction profile data comprises a table storing interaction profile data with a row having a current state and said user as a key along with said operation performed by said user as a value.
In one implementation, if said interaction profile data is already present in said table a count of said operation associated with said interaction profile data will be incremented.
In one implementation, said user profile matcher module is configured to transmit said list and a confidence match of match between said interaction profile data and said pre-defined interaction profile data, preferably, a value between 0 and 1, to said recommendation module.
In one implementation, said user interaction profiler module (810) is configured to transmit said operation performed by said pre-stored user profile along with said confidence of said precondition match, to said recommendation module (814) .
In one implementation, said recommendation module (814) is configured to obtain an effective confidence of each operation performed by combining said confidence match with said precondition match of said operation, said confidence match is a value between 0 and 1.
In one implementation, said recommendation module (814) is configured to combine said confidence precondition match of operations from said user profile to derive a final confidence score for each operation.
In one implementation, said operation is preferably selected from a drag-n-drop dimension/measure or a configuring filter or a adding a calculated measure or a calculated dimension/member or any combination thereof. In one  implementation, it may be understood by a person skilled in the art that there may be many different ways of performing such operations. For example, said operation is preferably performed on analytical UI by some interaction methods such as drag drop, or any available, known ways of interactions with the UI.
In one implementation, said operation is a user interaction of said user with said data during said analysis, said data is displayed on said user interface of said system.
Figure 9 illustrates a method for generating at least one recommendation for at least one user based on at least one data analysis path of said user during an analysis of data, in accordance with an embodiment of the present subject matter. The method may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
The order in which the method is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method or alternate methods. Additionally, individual blocks may be deleted from the method without departing from the protection scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method may be considered to be implemented in the above described system/apparatus (800) .
At block 902, at least one operation performed by said user on a user interface (802) of said system/apparatus (800) is received.
At block 904, said operation received is step 902 is indexed.
At block 906, said operation is stored in an interaction profile data associated with said user, wherein said interaction profile data is stored, preferably, in a form of a report, a visualization generated based on said operations, said user details, and said operation;
At block 908, said interaction profile data is matched with at least one pre-stored interaction profile data associated with at least one pre-stored user profile.
At block 910, if said interaction profile data matches with said pre-stored interaction profile data, a list of pre-stored user profile is generated.
At block 912, said list of pre-stored user profile is fetched.
At block 914, at least one pre-condition based on said interaction profile data and said user is created.
At block 916, said pre-stored user profile from said list under said pre-condition is queried for at least one operation performed by said pre-stored.
At block 918, said operation performed by said pre-stored user profile from said list under said pre-condition is received.
At block 920, said operation performed by said pre-stored user profile under said pre-condition based on a confidence match against said pre-condition is ranked.
At block 922, recommendations to the user are generated based on said confidence match.
At block 924, said recommendation on said user interface (802) of said system/said apparatus are displayed.
In one implementation, said pre-stored interaction profile data associated with said pre-stored user profile is stored in a user management module of said system/said apparatus.
In one implementation, the method further comprises, receiving, by a user management module of said system/said apparatus, said operation from a receiving module of said system/said apparatus; and generating at least one user profile associated with said user based on said operation, wherein said user profile is generated if said user profile associated with said user is not pre-stored in said user management module.
In one implementation, the method further comprises storing a list of pre-stored user profile associated with a plurality of users with related interaction profile data in a user management module of said system/said apparatus.
In one implementation, the method comprises transmitting, after matching, said operation performed by said pre-stored user profile along with said confidence of said precondition match to a recommendation module of said system/said apparatus.
In one implementation, the present invention provides recommendations for measures (normal and calculated) , dimensions (normal and calculated) , threshold, sort, filter, grouping, etc. operations, and result visualizations. However, it may be understood by the person skilled in that art that the recommendations may be changes/updated based on the requirement of the systems or user requirement or the operating environment.
Figure 10 illustrates a main dimension recommendation, in accordance with an embodiment of the present subject matter. In one implementation, the user selects the data source for data analysis. System will show the mostly used dimension recommendations to choose from. Same is depicted in below example UI. As shown in figure 10, the user may drag and drop a dimension as done for conventional systems. System also suggests the most commonly used dimension combinations from other users who match the current user. Based on the recommendations, the user selects one of the suggested options.
Based on current analysis state of the user, system will show recommendations for various other dimensions, measures, calculated measures, filters, calculated dimensions, and visualizations etc. Figure 11-19 shows sample UIs to depict the same:
Figure 11 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 11, the different type of recommendation will be grouped and displayed.
Figure 12 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 12, user can view the recommendations inside a group by clicking on a group.
Figure 13 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure  13, selecting a recommended option will refresh the recommendations, new recommendations may appear or existing ones may disappear based on the selected recommendation.
Figure 14 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 14, user selects filter RAT = 2G and Time = Last 1 Month.
Figure 15 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 15, user adds a measure from recommendation: Downlink.
Figure 16 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. In one implementation figure 16 provides the result of action performed as explained in the preceding figure 15. It adds the dimension and some more recommendations are displayed in various groups on the display as an output.
Figure 17 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 17, distinct subscriber count measure appeared in the recommendation because similar users use this calculation mostly with traffic range calculation. User selects calculated measure “distinct subscriber count” and also removes “MSISDN” .
Figure 18 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 18, distinct subscriber count is added in the report, and recommendations will refresh automatically. Now user selects “visualization” recommendation of “chart” [which other users would have already used] .
Figure 19 illustrates a recommendation user interface (UI) , in accordance with an embodiment of the present subject matter. As shown in figure 19, user achieves the final analysis report which he is aiming for. Thus recommendation system helps in faster analysis.
Apart from what is explained above, the present invention also include the below mentioned advantages:
√ The present invention provides a system to provide automated guidance to the user to analyze data wherein the automated guidance system.
√ The present invention provides a system that learns continuously from the analysis paths of other users on similar data.
√ The present invention provides a system that Stores the learning in a persistent storage
√ The present invention provides a system that allows the user to opt for guidance criteria (similar user /same user group /expert users /particular user/etc)
√ The present invention provides a system that matches the users based on their profile to the required guidance criteria, and suggests appropriate non-linear analysis paths to the user where in analysis path can suggest measures (normal and calculated) , dimensions (normal and calculated) , threshold, sort, filter, grouping, etc. operations, and result visualizations.
√ The present invention provides recommendations for self-service operation.
√ The present invention provides recommendations that are based on user profile and scenario matching.
√ The present invention provides recommendations are based on current state of the report.
√ The present invention provides recommendations change/update after every user action on the self-service report.
√ The present invention provides suitable for data-confidential deployments like multi-tenant systems.
√ The present invention increases the productivity of end user though automated guidance.
√ The present invention makes self-service systems easy to use.
√ The present invention makes sure that no data insights will be missed as the 360 degree analytics assistant utilizes the collaborative knowledge form all users for giving recommendations/
√ The present invention can be used for training new novice users in doing analysis who can get automated guidance from expert users
√ The present invention can be used for knowledge transfer as users can follow other users.
√ The present invention may be a major analytics feature in a multi-tenant cloud based systems like Google analytics where (for example) different website administrators track their website's performance. The key dimensions and measures tracked by all administrators are same and collaborative analysis could make the analysis job very easy. In such systems where users from different organizations need to collaborate, a service agreement would be needed for collecting knowledge anonymously.
A person of ordinary skill in the art may be aware that in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on the particular applications and design constraint conditions of the technical solution. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the present invention.
It may be clearly understood by a person skilled in the art that for the purpose of convenient and brief description, for a detailed working process of  the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely exemplary. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or a part of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or a part of the steps of the methods described in the embodiment of the present invention. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
Although implementations for recommendation system, apparatus and a method thereof to guide self-service analytic have been described in language specific to structural features and/or methods, it is to be understood that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of implementations of the recommendation system, apparatus and a method thereof to guide self-service analytic.

Claims (48)

  1. A system (800) , for generating at least one recommendation for a user based on at least one data analysis path of said user during an analysis of data, said system (800) comprising:
    a receiving module (808) configured to receive at least one operation performed by said user on an user interface (804) of said system;
    an user interaction profiler module (810) configured to store said operation in at least an interaction profile data created for said user, ;
    an user profile matcher module (812) configured to:
    match said interaction profile data associated with said user with at least one pre-stored interaction profile data associated with at least one other user; and
    generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of said pre-stored user profile and a confidence value of the match associated with the said pre-stored user profile;
    a recommendation module (814) configured to:
    create at least one pre-condition based on said interaction profile data and said user;
    query said user interaction profiler module (812) for operations performed by said pre-stored user profile from said list under said pre-condition created;
    receive at least one operation performed by said pre-stored user profile from said list generated from said user interaction profiler module (812) ;
    generate said recommendation to said user based on said confidence value.
  2. The system as claimed in claim 1, wherein said recommendation is displayed on said user interface (802) of said system (800) .
  3. The system as claimed in claim 1, wherein said pre-stored interaction profile data associated with said pre-stored user profile is stored in a user management module (816) .
  4. The system as claimed in claim 1, comprises a user management module (816) configured to receive said operation from said receiving module and generate at least one user profile associated with said user based on said operation, wherein said user profile is generated if said user profile associated with said user is not pre-stored.
  5. The system as claimed in claim 1, comprises a user management module (816) configured to store a list of pre-stored user profile associated with a plurality of users with related interaction profile data.
  6. The system as claimed in claim 1, wherein said recommendation comprises at least one of: normal measures, calculated measures, normal dimensions, calculated dimensions, threshold, sort, filter, grouping, result visualization selected from graphs, charts, and Venn diagrams.
  7. The system as claimed in claim 1, wherein said interaction profile data comprises a table storing interaction profile data with a row having a current state and said user as a key along with said operation performed by said user as a value.
  8. The system as claimed in claim 7, wherein if said interaction profile data is already present in said table a count of said operation associated with said interaction profile data will be incremented.
  9. The system as claimed in claim 1, wherein said user profile matcher module is configured to transmit said list and a confidence match of match between said interaction profile data and said pre-defined interaction profile data, preferably, a value between 0 and 1, to said recommendation module.
  10. The system as claimed in claim 1, wherein said user interaction profiler module is configured to transmit said operation performed by said pre-stored user profile along with said confidence of said precondition match, to said recommendation module.
  11. The system as claimed in claim 10, wherein said recommendation module is configured to obtain an effective confidence of each operation performed by combining said confidence match with said precondition match of said operation, said confidence match is a value between 0 and 1.
  12. The system as claimed in claim 11, wherein said recommendation module is configured to combine said confidence precondition match of operations from said user profile to derive a final confidence score for each operation.
  13. The system as claimed in claim 1, wherein said operation is preferably selected from at least one of: a drag-n-drop dimension/measure, a configuring filter, a calculated measure and a calculated dimension/member.
  14. The system as claimed in claim 1, wherein the said operation is a user interaction of said user with said data during said analysis, said data is displayed on said user interface of said system.
  15. The system as claimed in claim 1, wherein said user profile matcher module matches said interaction profile data with said pre-stored interaction profile data associated with said pre-stored user profile based on at least one criteria, preferably selected from same user group/family, following other users or any combination thereof, said criteria is selected by said user.
  16. The system as claimed in claim 1, wherein said operation performed by said pre-stored user profile is ranked based on said match.
  17. An apparatus (800) for generating at least one recommendation for a user based on at least one data analysis path of said user during an analysis of data, said apparatus (800) comprising:
    a processor (802) ; and
    a memory (806) coupled to the processor for executing a plurality of modules present in the memory, the plurality of modules comprising:
    a receiving module (808) configured to:
    receive at least one operation performed by said user on an user interface (804) of said apparatus (800) ;
    an user interaction profiler module (810) configured to:
    store said operation in at least an interaction profile data created for said user;
    an user profile matcher module (812) configured to:
    match said interaction profile data associated with said user with at least one pre-stored interaction profile data associated with at least one other user; and
    generate, if said interaction profile data matches with said pre-stored interaction profile data, a list of said pre-stored user profile and a confidence value of the match associated with the said pre-stored user profile;
    a recommendation module (814) configured to:
    create at least one pre-condition based on said interaction profile data and said user;
    query said user interaction profiler module for operations performed by said pre-stored user profile from said list under said pre-condition created;
    receive at least one operation performed by said pre-stored user profile from said list generated;
    generate said recommendation for said user based on said confidence value.
  18. The apparatus as claimed in claim 17, wherein said recommendation is displayed on said user interface (804) of said apparatus (800) .
  19. The apparatus as claimed in claim 17, wherein said pre-stored interaction profile data associated with said pre-stored user profile is stored in a user management module (816) .
  20. The apparatus as claimed in claim 17, comprises a user management module (816) configured to receive said operation from said receiving module and generate at least one user profile associated with said user based on said operation, wherein said user profile is generated if said user profile associated with said user is not pre-stored.
  21. The apparatus as claimed in claim 17, comprises a user management module (816) configured to store a list of pre-stored user profile associated with a plurality of users with related interaction profile data.
  22. The apparatus as claimed in claim 17, wherein recommendation comprises at least one of: normal measures, calculated measures, normal dimensions, calculated dimensions, threshold, sort, filter, grouping, result visualization selected from graphs, charts, and Venn diagrams.
  23. The apparatus as claimed in claim 17, wherein said interaction profile data comprises a table storing interaction profile data with a row having a current state and said user as a key along with said operation performed by said user as a value.
  24. The apparatus as claimed in claim 23, wherein if said interaction profile data is already present in said table a count of said operation associated with said interaction profile data will be incremented.
  25. The apparatus as claimed in claim 17, wherein said user profile matcher module is configured to transmit said list and a confidence match of match between said interaction profile data and said pre-defined interaction profile data, preferably, a value between 0 and 1, to said recommendation module.
  26. The apparatus as claimed in claim 17, wherein said user interaction profiler module is configured to transmit said operation performed by said pre-stored user profile along with said confidence of said precondition match, to said recommendation module.
  27. The apparatus as claimed in claim 26, wherein said recommendation module is configured to obtain an effective confidence of each operation performed by combining said confidence match with said precondition match of said operation, said confidence match is a value between 0 and 1.
  28. The apparatus as claimed in claim 27, wherein said recommendation module is configured to combine said confidence precondition match of operations from said user profile to derive a final confidence score for each operation.
  29. The apparatus as claimed in claim 17, wherein said operation is preferably selected from at least one of: a drag-n-drop dimension/measure, a configuring filter, a adding a calculated measure, or a calculated dimension/member.
  30. The apparatus as claimed in claim 17, wherein said operation is a user interaction of said user with said data during said analysis, said data is displayed on said user interface of said apparatus.
  31. The apparatus as claimed in claim 17, wherein said user profile matcher module matches said interaction profile data with said pre-stored interaction profile data associated with said pre-stored user profile based on at least one  criteria, preferably, selected from same user group/family, following other users or any combination thereof , said criteria is selected by said user.
  32. The apparatus as claimed in claim 17, wherein said operation performed by said pre-stored user profile is ranked based on said match.
  33. A method for generating at least one recommendation for a user based on at least one data analysis path of said user during an analysis of data, performed by a system /an apparatus, said method comprising:
    receiving (902) at least one operation performed by said user on an user interface;
    storing (906) said operation in an interaction profile data created for said user;
    matching (908) said interaction profile data associated with said user with at least one pre-stored interaction profile data associated with at least one other user;
    generating (910) , if said interaction profile data matches with said pre-stored interaction profile data, a list of said pre-stored user profile and a confidence value of the match associated with the said pre-stored user profile;
    creating (914) at least one pre-condition based on said interaction profile data and said user;
    querying (916) for at least one operation performed by said pre-stored user profile from said list under said pre-condition;
    receiving (918) said operation performed by said pre-stored user profile from said list generated;
    generating (922) said recommendation to said user based on said confidence value.
  34. The method as claimed in claim 33, comprises displaying (922) said recommendation on said user interface of said system/said apparatus.
  35. The method as claimed in claim 33, wherein said pre-stored interaction profile data associated with said pre-stored user profile is stored in a user management module of said system/said apparatus.
  36. The method as claimed in claim 33, further comprises:
    receiving, by a user management module of said system/said apparatus, said operation from a receiving module of said system/said apparatus; and
    generating at least one user profile associated with said user based on said operation, wherein said user profile is generated if said user profile associated with said user is not pre-stored in said user management module.
  37. The method as claimed in claim 33, further comprises storing a list of pre-stored user profile associated with a plurality of users with related interaction profile data in a user management module of said system/said apparatus.
  38. The method as claimed in claim 33, wherein recommendation comprises at least one of: normal measures, calculated measures, normal dimensions, calculated dimensions, threshold, sort, filter, grouping, result visualization selected from graphs, charts, and Venn diagrams.
  39. The method as claimed in claim 33, wherein said interaction profile data comprises a table storing interaction profile data with a row having a current state and said user as a key along with said operation performed by said user as a value.
  40. The method as claimed in claim 33, wherein said interaction profile data comprises a table storing interaction profile data with a row having a current state and said user as a key along with said operation performed by said user as a value.
  41. The method as claimed in claim 40, wherein if said interaction profile data is already present in said table a count of said operation associated with said interaction profile data will be incremented.
  42. The method as claimed in claim 33, comprises transmitting, after matching, said operation performed by said pre-stored user profile along with said confidence of said precondition match to a recommendation module of said system/said apparatus.
  43. The method as claimed in claim 42, wherein said recommendation module is configured to obtain an effective confidence of each operation performed by combining said confidence match with said precondition match of said operation, said confidence match is a value between 0 and 1.
  44. The method as claimed in claim 43, said recommendation module is configured to combine said confidence precondition match of operations from said user profile to derive a final confidence score for each operation.
  45. The method as claimed in claim 33, said operation is preferably selected from at least one of: drag-n-drop dimension/measure, r a configuring filter, adding a calculated measure, a calculated dimension/member, .
  46. The method as claimed in claim 33, said operation is a user interaction of said user with said data during said analysis, said data is displayed on said user interface of said system.
  47. The method as claimed in claim 33, comprises matching said interaction profile data with said pre-stored interaction profile data associated with said pre-stored user profile based on at least one criteria, preferably, selected from same user group/family, following other users or any combination thereof, said criteria is selected by said user.
  48. The method as claimed in claim 33, comprises ranking said operation performed by said pre-stored user profile based on said matching.
PCT/CN2016/106421 2015-12-11 2016-11-18 Recommendation system, apparatus and method thereof to guide self-service analytic WO2017097103A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201680071875.8A CN108369590B (en) 2015-12-11 2016-11-18 Recommendation system, device and method for guiding self-service analysis

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN6640/CHE/2015 2015-12-11
IN6640CH2015 2015-12-11

Publications (1)

Publication Number Publication Date
WO2017097103A1 true WO2017097103A1 (en) 2017-06-15

Family

ID=59012676

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/106421 WO2017097103A1 (en) 2015-12-11 2016-11-18 Recommendation system, apparatus and method thereof to guide self-service analytic

Country Status (2)

Country Link
CN (1) CN108369590B (en)
WO (1) WO2017097103A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120366B2 (en) 2018-07-24 2021-09-14 International Business Machines Corporation Data forecasting based on machine learning analysis of data access statistics

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3131407A1 (en) * 2019-03-12 2020-09-17 Citrix Systems, Inc. Intelligent file recommendation engine
CN110507294B (en) * 2019-08-07 2022-02-08 北京安龙脉德医学科技有限公司 First-aid system based on internet information transmission

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102905233A (en) * 2012-10-25 2013-01-30 北京小米科技有限责任公司 Method and device for recommending terminal function
CN102946317A (en) * 2012-08-07 2013-02-27 甘利俭 User behavior analysis system
CN103440199A (en) * 2013-08-27 2013-12-11 百度在线网络技术(北京)有限公司 Method and device for guiding test
CN104156308A (en) * 2014-07-29 2014-11-19 南京大学 Mobile application testing method on basis of playback of execution trace of users
CN104536768A (en) * 2015-01-16 2015-04-22 浪潮电子信息产业股份有限公司 Method for improving user-friendly operation of software user interface
US9092802B1 (en) * 2011-08-15 2015-07-28 Ramakrishna Akella Statistical machine learning and business process models systems and methods

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825629B2 (en) * 2003-09-06 2014-09-02 Oracle International Corporation Method for index tuning of a SQL statement, and index merging for a multi-statement SQL workload, using a cost-based relational query optimizer
US7774335B1 (en) * 2005-08-23 2010-08-10 Amazon Technologies, Inc. Method and system for determining interest levels of online content navigation paths
US8255192B2 (en) * 2008-06-27 2012-08-28 Microsoft Corporation Analytical map models
CN101447937A (en) * 2009-02-27 2009-06-03 北京理工大学 Rapid data positioning method based on path division and multi-distributed-directory
CN102208086B (en) * 2010-03-31 2014-05-14 北京邮电大学 Field-oriented personalized intelligent recommendation system and implementation method
CN102571475B (en) * 2010-12-27 2016-03-09 中国银联股份有限公司 The mutual monitoring system of safety information based on data analysis and method
US20120259891A1 (en) * 2011-04-11 2012-10-11 David Edoja Method, system and program for analytics data delivering
US20130166357A1 (en) * 2011-12-21 2013-06-27 Holger Eggs Recommender engine
CN103714155B (en) * 2013-12-27 2017-08-18 华为技术有限公司 One kind is based on patterned data analysing method and device
CN105091890B (en) * 2014-04-25 2018-01-12 国际商业机器公司 Method and apparatus for recommended candidate path

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092802B1 (en) * 2011-08-15 2015-07-28 Ramakrishna Akella Statistical machine learning and business process models systems and methods
CN102946317A (en) * 2012-08-07 2013-02-27 甘利俭 User behavior analysis system
CN102905233A (en) * 2012-10-25 2013-01-30 北京小米科技有限责任公司 Method and device for recommending terminal function
CN103440199A (en) * 2013-08-27 2013-12-11 百度在线网络技术(北京)有限公司 Method and device for guiding test
CN104156308A (en) * 2014-07-29 2014-11-19 南京大学 Mobile application testing method on basis of playback of execution trace of users
CN104536768A (en) * 2015-01-16 2015-04-22 浪潮电子信息产业股份有限公司 Method for improving user-friendly operation of software user interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120366B2 (en) 2018-07-24 2021-09-14 International Business Machines Corporation Data forecasting based on machine learning analysis of data access statistics

Also Published As

Publication number Publication date
CN108369590B (en) 2020-10-09
CN108369590A (en) 2018-08-03

Similar Documents

Publication Publication Date Title
US11797532B1 (en) Dashboard display using panel templates
US11188599B2 (en) Systems and methods for discovering social accounts
US11625394B1 (en) Supporting graph data structure transformations in graphs generated from a query to event data
US11726990B2 (en) Efficient updating of journey instances detected within unstructured event data
US11263229B1 (en) Efficient detection of alert states within unstructured event data based on evaluation of structured data set
US11080641B1 (en) Graphical user interface for enabling association of timestamped machine-generated data and human-generated data
US10244114B2 (en) Graphical user interface generation using a hierarchy
US9390142B2 (en) Guided predictive analysis with the use of templates
US11172065B1 (en) Monitoring framework
US11074196B1 (en) Evicting data associated with a data intake and query system from a local storage
US20190370669A1 (en) Professional services demand fulfillment framework using machine learning
US10810216B2 (en) Data relevancy analysis for big data analytics
US10628603B1 (en) Graphical user interface for configuring a cross-silo enterprise data acquisition, reporting and analysis system
WO2017097103A1 (en) Recommendation system, apparatus and method thereof to guide self-service analytic
US11169997B1 (en) Centralized data access tool implementing resource governance
US8204900B2 (en) Metrics library
US11222028B2 (en) Report recommendation engine
US11741131B1 (en) Fragmented upload and re-stitching of journey instances detected within event data
US11449513B2 (en) Data analysis system
US10599641B2 (en) Smart match tuning
US12001426B1 (en) Supporting graph data structure transformations in graphs generated from a query to event data
US20160247077A1 (en) System and method for processing raw data
US11294925B2 (en) Methods for implementing and using a database actuator
US20210081855A1 (en) Model-driven estimation of an entity size

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16872295

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16872295

Country of ref document: EP

Kind code of ref document: A1