Sign In to Follow Application
View All Documents & Correspondence

Methods And System For Software Solution Recommendation

Abstract: Methods for software solution recommendation is disclosed. The method, in an embodiment, comprises a step of providing questions to electronic devices. The method also comprises a step of receiving responses corresponding to the questions from the user electronic devices. Further, the method comprises a step of identifying problems requiring a software solution based on the responses using a machine learning model. The method also comprises a step of classifying the problems identified into predefined problem types using the model. Further, the method comprises a step of identifying predefined solution types to the problems identified based on the classification. Furthermore, the method comprises a step of generating recommendations associated with the predefined solution types corresponding to the problems. In addition, the method comprises a step of providing the recommendations generated to the user electronic devices. A system that performs the method steps is also disclosed. FIG. 4

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
31 March 2023
Publication Number
40/2024
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

INSOFE EDUCATION PRIVATE LIMITED
2ND FLOOR, JYOTHI IMPERIAL, VAMSIRAM BUILDERS, JANARDANA HILLS, GACHIBOWLI, RANGA REDDI, HYDERABAD – 500032, TELANGANA, INDIA

Inventors

1. KOLLURU, VENKATA DAKSHINAMURTHY
47, DAFFODIL, L AND T SERENE COUNTY, TELECOM NAGAR, GACHIBOWLI, HYDERABAD – 500032, INDIA
2. YADDALA, MUNI YUGANDHAR
DORAVARISATRAM MANDAL, THANEYALI, NELLORE, ANDHRA PRADESH - 524121, INDIA

Specification

Description:FIELD OF INVENTION
[0001] The present disclosure relates in general to problem analysis. More particularly, the present disclosure relates to methods and a system for software solution recommendation.

BACKGROUND OF THE INVENTION
[0002] In recent times, organizations in different domains are considering leveraging capabilities of machine learning (ML) and/or artificial intelligence (AI)-based technologies to solve diverse problems. However, in general, organizations may not be equipped, skilled, and/or knowledgeable in analyzing various aspects associated such diverse problems and/or in determining a requirement for and a role of such AI/ML technologies to address the various aspects of such diverse problems. Moreover, organizations may also find it difficult to clearly define and/or identify various inputs and desired outputs to be considered or required in order to address their respective diverse problems and arrive at solutions that may be beneficial. Furthermore, organizations may also be unaware of different solutions and/or approaches that may be considered in order address the diverse problems. Instead, at present, organizations are investing significant time, capital, and resources in implementing new technologies without considering various pros and cons of such implementations. Oftentimes, such unplanned implementations may provide minimal or negligible benefits to the organizations despite significant time, capital, and/or resource investments. In some instances, such unplanned implementations may also negatively impact the organizations, particularly when the various aspects of the problems are not considered, analyzed, and/or addressed appropriately.
[0003] US20130061146A1 discloses a method for developing architectural designs. The method comprises a step of providing identifiers for architecture components in a pattern library. The method also comprises a step of providing rules associated with the architecture components being provisioned into architectural designs. Further, the method comprises a step of providing interview questions for soliciting information associated with a particular architectural design. In addition, the method comprises a step of receiving responses associated with the interview questions and generating an output presentation for the particular architectural design based on the responses.

SUMMARY OF THE INVENTION
[0004] In an aspect of the present disclosure, a method for software solution recommendation is disclosed. The method comprises a step of providing, via a processor of an electronic device, one or more questions to one or more user electronic devices. The method also comprises a step of receiving, via the processor, one or more responses corresponding to the questions from the user electronic devices. Further, the method comprises a step of identifying, via the processor, one or more problems requiring a software solution based on the responses using a machine learning model. The method also comprises a step of classifying, via the processor, the problems identified into one or more predefined problem types using the machine learning model. Further, the method comprises a step of identifying, via the processor, one or more predefined solution types to the problems identified based on the classification. Furthermore, the method comprises a step of generating, via the processor, one or more recommendations associated with the predefined solution types corresponding to the problems. In addition, the method comprises a step of providing, via the processor, the recommendations generated to the user electronic devices.
[0005] In another aspect of the present disclosure, a method for software solution recommendation is disclosed. The method comprises a step of providing, via a processor of an electronic device, one or more questions to one or more user electronic devices. The method also comprises a step of receiving, via the processor, one or more responses corresponding to the questions from the user electronic devices. Further, the method comprises a step of identifying, via the processor, one or more problems requiring a software solution based on the responses using a machine learning model. The method also comprises a step of classifying, via the processor, the problems identified into one or more predefined problem types using the machine learning model. Further, the method comprises a step of identifying, via the processor, one or more predefined solution types to the problems identified based on the classification. At least one of the predefined solution types identified comprises a machine learning or artificial intelligence solution. Furthermore, the method comprises a step of determining one or more primary solution types and one or more secondary solution types of the predefined solution types identified to the problems using the machine learning model. In addition, the method comprises a step of determining whether the machine learning or artificial intelligence solution corresponds to the primary solution types or the secondary solution types. Further, the method also comprises a step of indicating whether the machine learning or artificial intelligence solution corresponds to the primary solution type or the secondary solution type to the user electronic devices.
[0006] In yet another aspect of the present disclosure, a system for software solution recommendation is disclosed. The system comprises a memory and a network interface communicatively coupled to a processor and the memory. The memory comprises computer instructions that when executed by the processor cause the system to perform one or more functions. The functions comprise providing one or more questions to one or more user electronic devices via a network. The functions also comprise receiving, via the network, one or more responses corresponding to the questions from the one or more user electronic devices. Further, the functions comprise identifying, via a processor of an electronic device, one or more problems requiring a software solution based on the responses using a machine learning model. The functions also comprise classifying, via the processor, the problems identified into one or more predefined problem types using the machine learning model. Further, the functions comprise identifying, via the processor, one or more predefined solution types to the problems identified based on the classification. Furthermore, the functions comprise generating, via the processor, one or more recommendations associated with the predefined solution types corresponding to the problems. In addition, the functions comprise providing the recommendations generated to the user electronic devices via the network.
BRIEF DESCRIPTION OF DRAWINGS
[0007] FIG. 1 is a schematic block diagram of an environment including a computer system that is in communication with electronic devices of different users respectively via a network, in accordance with which various embodiments of the present disclosure may be implemented;
[0008] FIG. 2 is a schematic block diagram of different components of the computer system of FIG. 1, in accordance with an embodiment of the present disclosure;
[0009] FIG. 3 is a schematic block diagram of a processor of the computer system of FIGS. 1-2, in accordance with the embodiment of the present disclosure;
[0010] FIG. 4 is a schematic block diagram of a method for software solution recommendation using the computer system of FIGS. 1-3, in accordance with the embodiment of the present disclosure; and
[0011] FIG. 5 is a schematic block diagram of a method for software solution recommendation using the computer system of FIGS. 1-3, in accordance with another embodiment of the present disclosure.

DETAILED DESCRIPTION
[0012] Referring to FIG. 1, a schematic block diagram of an environment 100 including a computer system 105 in communication with one or more user electronic devices 110-125, herein referred to as “user devices 110-125”, via a network 130. Examples of the computer system 105 and the user devices 110-125 include, but are not limited to, computers, laptops, mobile devices, handheld devices, personal digital assistants (PDAs), tablet personal computers, digital notebook, and similar electronic devices. In some embodiments, the computer system 105 may also comprise a network of computers or electronic devices (not shown) interconnected via the network 130. The network 130 may include communication networks such as, but not limited to, a Local Area Network (LAN), a Wireless Local Area Network (WLAN), a Wide Area Network (WAN), internet, a Small Area Network (SAN), and the Internet.
[0013] The computer system 105 is configured to provide one or more questions to the user devices 110-125 respectively via the network 130. In an embodiment, the questions may be predefined and stored in the computer system 105. The computer system 105 is also configured to receive one or more responses corresponding to the questions respectively from the user devices 110-125 via the network 130. In an embodiment, the computer system 105 may provide the questions and/or receive the responses in a text, an image, an audio, a video, and/or an audio-visual format. The computer system 105 is also configured to identify one or more problems requiring a software solution based on the responses using a machine learning model. The computer system 105 is also configured to classify the problems identified into one or more predefined problem types using the machine learning model. Further, the computer system 105 is also configured to identify one or more predefined solution types to the problems identified based on the classification. The computer system 105 is also configured to generate one or more recommendations associated with the predefined solution types identified corresponding to the problems. In addition, the computer system 105 is configured to provide the recommendations generated to the user devices 110-125 via the network 130. In an embodiment, the computer system 105 may provide the recommendations in downloadable text, graphical, image, video, audio-visual and/or interactive electronic formats in the user devices 110-125.
[0014] Referring to FIG. 2, a schematic block diagram of different components in the computer system 105 of FIG. 1 is disclosed. In an embodiment, the computer system 105 includes a bus 205 or other communication mechanism for communicating information, and a processor 210 coupled with the bus 205 for processing information. The computer system 105 also includes a memory 215, such as a random-access memory (RAM) or other dynamic storage device, coupled to the bus 205 for storing information and instructions to be executed by the processor 210. The memory 215 can be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 210. The computer system 105 further includes a read only memory (ROM) 220 or other static storage device coupled to bus 205 for storing static information and instructions for processor 210. A storage unit 225, such as a magnetic disk or optical disk, is provided and coupled to the bus 205. The storage unit 225 may store one or more predefined questions, one or more predefined problems, one or more predefined problem types, and/or one or more predefined problem relationships defined between the predefined problems and the predefined problem types. The storage unit 225 may also store one or more predefined solutions, one or more predefined solution types, and/or one or more predefined solution relationships defined between the predefined problem types and the predefined solution types. In addition, the storage unit 225 may also store data associated with one or more legal, ethical, and/or generic rules, regulations, and/or restrictions. The storage unit 225 may store the predefined questions, the predefined problems, the predefined problem types, the predefined problem relationships, the predefined solutions, the predefined solution types, and/or the predefined solution relationships in one or more electronic formats, such as, but not limited to, text, audio, images, video, interactive, and/or audio-visual electronic formats. Further, the storage unit 225 may store data associated with the predefined problems and/or predefined solutions. The storage unit 225 may also store one or more computer algorithms and/or one or more machine-learning models. In addition, the storage unit 225 may store one or more rules associated with the predefined problem types, predefined problem relationships, the predefined solution types, predefined solution relationships, the machine learning models, and/or the algorithms. The predefined problems and/or predefined solutions may comprise, but are not limited to, historic and/or prerecorded /prestored problems and/or solutions. The data associated with the predefined problems and/or predefined solutions may include, but is not limited to, text, audio, images, and/or video content. The computer algorithms may comprise, but not limited to, Natural Language Processing (NLP) algorithms, Optical Character Recognition (OCR) algorithms, Optical Mark Recognition (OMR) algorithms, Image Recognition algorithms, and/or Speech Recognition and/or Speech-to-Text Transcription algorithms. The machine-learning models may correspond to mathematical models generated from the computer algorithms based on the predefined problems and/or predefined solutions. In an embodiment, the machine-learning models may be trained using the historic and/or prerecorded /prestored problems and/or solutions, the data associated with the predefined problems and/or predefined solutions, and/or the rules. In an embodiment, the machine-learning models may be configured to identify problems and provide software solution recommendations based on the training.
[0015] The computer system 105 can be coupled via the bus 205 to a display 230, such as a cathode ray tube (CRT), and liquid crystal display (LCD) for displaying information to the user. An input device 235, including alphanumeric and other keys, is coupled to bus 205 for communicating information and command selections to the processor 210. Another type of user input device is a cursor control 240, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to the processor 210 and for controlling cursor movement on the display 230. The input device 235 can also be included in the display 230, for example a touch screen and may also include compatible devices with the display 230 such as a stylus. Further, the input device 235 can also include audio-visual devices such as a microphone or a camera or gesture control devices.
[0016] Various embodiments are related to the use of computer system 105 for implementing the techniques described herein. In one embodiment, the techniques are performed by the computer system 105 in response to the processor 210 executing instructions included in the memory 215. Such instructions can be read into the memory 215 from another machine-readable medium, such as the storage unit 225. Execution of the instructions included in the memory 215 causes the processor 210 to perform the process steps described herein.
[0017] The term “machine-readable medium” as used herein refers to any medium that participates in providing data that causes a machine to operate in a specific fashion. In an embodiment implemented using the computer system 105, various machine-readable medium is involved, for example, in providing instructions to the processor 210 for execution. The machine-readable medium can be a storage media. Storage media includes both non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage unit 225. Volatile media includes dynamic memory, such as the memory 215. All such media must be tangible to enable the instructions carried by the media to be detected by a physical mechanism that reads the instructions into a machine.
[0018] Common forms of machine-readable medium include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper-tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge.
[0019] In another embodiment, the machine-readable medium can be a transmission media including coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 205. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications. Examples of machine-readable medium may include, but are not limited to, a carrier wave or any other medium from which the computer system 105 can read, for example online software, download links, installation links, and online links. For example, the instructions can initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to the computer system 105 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on the bus 205. The bus 205 carries the data to the memory 215, from which the processor 210 retrieves and executes the instructions. The instructions received by the memory 215 can optionally be stored on storage unit 225 either before or after execution by the processor 210. All such media must be tangible to enable the instructions carried by the media to be detected by a physical mechanism that reads the instructions into a machine.
[0020] The computer system 105 also includes a communication interface 245 coupled to the bus 205. The communication interface 245 provides a two-way data communication coupling to the network 130. For example, the communication interface 245 can be an integrated service digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, the communication interface 245 can be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, the communication interface 245 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
[0021] The processor 210 may execute the computer instructions in order to perform one or more functions. In an embodiment, the processor 210 may comprise one or more computer modules 305 – 325 that perform the functions. The computer modules 305 – 325 in the processor 210 may correspond to a combination of hardware circuitry and software components configured to the perform the functions.
[0022] Referring to FIGS. 2 – 3, the processor 210 may include an interaction module 305, a problem identification module 310, a classification module 315, a solution module 320, and a recommendation module 325.
[0023] The interaction module 305 is configured to provide one or more questions to the user devices 110-125 via the network 130. In an embodiment, the questions may be objective-type and/or subjective questions. In an embodiment, the interaction module 305 may have presentation logic to identify a predefined order, hierarchy, and/or inter-dependence of the predefined questions and present the questions in accordance with the order, hierarchy, and/or inter-dependence of the predefined questions. In an embodiment, the questions may comprise, but are not limited to, problem identification related questions, pre-existing solution(s) related questions, solution implementation related questions, and/or software limitation related questions. The problem identification related questions may correspond to questions intended to identify one or more problems requiring a software solution. The pre-existing solution(s) related questions may correspond to questions intended to identify pre-existing software solutions to the problems. The pre-existing software solutions may comprise, but are not limited to, solutions incorporating software automation and/or machine learning and/or artificial intelligence solutions. The solution implementation related questions may correspond to questions intended to identify one or more software implementation errors in the pre-existing software solutions. The software implementation errors may comprise, but are not limited to, inaccurate, irrelevant, and/or incomprehensible output(s) provided by the pre-existing software solutions. The software limitation related questions may correspond to questions intended to identify limitations associated with the pre-existing software solutions in addressing the problems. The limitations may comprise, but are not limited to, data input and/or output related limitations corresponding to the pre-existing software solutions. In some embodiments, the interaction module 305 may also provide contextual information corresponding to the questions to the user devices 110-125. The contextual information may comprise, but is not limited to, one or more text, image, audio, video, audio-visual, and/or interactive information associated with the question(s). For example, the interaction module 305 may provide an explanatory text, image, audio, and/or video as the contextual information corresponding to a question to the user devices 110-125. In an embodiment, the interaction module 305 may present the questions in multiple ways comprising, but not limited to, dichotomous questions, multiple-choice questions, rank-order-scaling questions, text slider questions, Linkert scale questions, semantic differential scale questions, Stapel scale questions, constant sum questions, comment box open-ended questions and/or text questions. In some embodiments, the interaction module 305 may also be configured to present the questions in multiple formats such as, but not limited to, text, audio, image, video, interactive, and/or audio-visual formats.
[0024] In an exemplary example, the interaction module 305 may provide the following questions to the users via the user devices 110-125 and the network 130:
“What problems are you facing?”
“Is there an existing solution for the problem?”
“If yes, what are the errors and/or limitations of the existing solution?”
“If not, what is expected solution and/or output required to address the problem?”
“What data associated with the problem can be considered or can be provided as an input?”
[0025] The interaction module 305 is configured to receive one or more responses to the questions provided from the user devices 110-125 via the network 130. In an embodiment, one or more users may provide the responses to the interaction module 305 via the user devices 110-125. The users may comprise, but are not limited to, a non-technical analyst, a technical solution developer, and/or an end user. The responses may comprise, but are not limited to, one or more problem definitions or statements, the pre-existing software solutions to address the problems, the software implementation errors associated with the pre-existing software solutions, and/or the limitations associated with the pre-existing software solutions. In an embodiment, the interaction module 305 may receive the responses in one or more electronic formats comprising, but not limited to, text, audio, image, video, interactive, and/or audio-visual formats. In an embodiment, the interaction module 305 may receive the responses in a natural language format.
[0026] In an exemplary example, the interaction module 305 may receive the following responses to the questions from the user devices 110-125:
Question: “What problems are you facing?”
User Response: “We have a problem addressing and/or analyzing customer churn.”
Question: “Is there an existing solution for the problem?”
User Response: “We do not have an existing solution for the problem.”
Question: “If not, what is expected solution and/or output required to address the problem?”
User Response: “We want to identify which aspects of our product/service is causing the customer churn and how those aspects can be optimized to minimize customer churn.”
Question: “What data associated with the problem can be considered or can be provided as an input?”
User Response: “We have structured data about the customers including numeric and categorical features. We also have some text chats and audio records associated with the customer for analysis.”
[0027] The problem identification module 310 is configured to identify one or more problems requiring a software solution based on the responses using one or more machine learning models. In an embodiment, the problem identification module 310 may be configured to parse the responses using the machine learning models in order to identify the problems. In an embodiment, the problem identification module 310 may apply one or more algorithms, for example, the NLP algorithms associated with the machine learning models, in order the parse the responses. In an embodiment, the problem identification module 310 may parse the responses by identifying one or more keywords and/or phrases in the responses received. In an embodiment, the problem identification module 310 may vectorize the responses, and the one or more keywords and/or phrases. The problem identification module 310 may also be configured to map the keywords and/or phrases identified with one or more predefined keywords and/or phrases associated with predefined problems stored in storage unit 225. In an embodiment, the predefined keywords and/or phrases may be vectorized. In an embodiment, the problem identification module 310 may map the vectorized responses, keywords, and/or phrases with the vectorized predefined keywords and/or phrases. The problem identification module 310 may also be configured to identify the problems based on the mapping. In an embodiment, the problem identification module 310 may also be configured to identify the relevant predefined problems associated with the problems identified and/or the responses based on the mapping. In an embodiment, the problem identification module 310 may be configured to identify a single problem, a primary problem with one or more associated, secondary, and/or subproblems, multiple different and/or distinct problems, and/or multiple problems with the associated, secondary, and/or subproblems respectively using the machine learning models. In an embodiment, the problem identification module 310 may be configured to list the problems identified based on the responses. In an embodiment, the problem identification module 310 may also be configured to identify various aspects of each problem comprising, but not limited to, inputs and/or outputs, errors or inaccuracies, challenges, and/or limitations associated with the problem and/or pre-existing systems and/or solutions associated with the problem. In some embodiments, the problem identification module 310 may be configured to provide the identified problems to the user devices 110-125 via the network 130. In such embodiments, the problem identification module 310 may be configured to receive one or more inputs corresponding to the problems identified from the user devices 110-125 via the network 130. In an embodiment, the inputs may be provided by the users. The problem identification module 310 may also be configured to modify the identified problems based on the inputs received.
[0028] In an exemplary example, the problem identification module 310 may identify the following problems based on the responses:
Primary Problem:
“Customer churn problem”
Secondary/Subproblems:
- “Customer data analytics problem”
- “Customer conversation analytics problem”
- “Customer complaint identification problem”
Inputs:
- Structured customer data in numeric and categorical features
- Text and audio data
Expected Outputs:
- Application development
- Model building for data analysis
- Application testing/error correction
- Application improvement – Decision-making scenarios.
[0029] The classification module 315 is configured to classify the problems and/or the subproblems identified into one or more predefined problem types using the machine learning model. In an embodiment, the classification module 315 may classify the problems and/or the subproblems based on the predefined problem relationships defined between the relevant predefined problems identified by the problem identification module 310 and the predefined problem types. In an embodiment, the classification module 315 may be configured to compare the problems identified with the relevant predefined problems identified by the problem identification module 310. In an embodiment, the classification module 315 may also apply one or more classification algorithms or models such as, but not limited to, a Decision Tree algorithm to classify the problems and/or the subproblems. Examples of the predefined problem types include, but are not limited to, complexity-based problem types, technology-based problem types, and/or legality-based problem types. The complexity-based problem types may comprise, but are not limited to, problems that may be classified as easy, complex, uncertain and/or decision-making problems. The technology-based problem types may comprise, but are not limited to, problems that may be classified as data analysis and/or data management related problems, machine learning problems, software automation, development, and/or implementation problems, pre-existing software execution and/or output related problems, software project planning and/or implementation related problems. The legality-based problem types may comprise, but are not limited to, problems that may be classified as legal problems, ethical problems, and/or rules-based problems. In some embodiments, the classification module 315 may be configured to classify the problems and/or the subproblems as a combination of different predefined problem types, such as the complexity-based problem types, the technology-based problem types, and/or the legality-based problem types. For example, the classification module 315 may classify an identified problem as a complex problem, a machine learning problem, and an ethical problem. In an embodiment, the classification module 315 may be configured to determine a complexity score corresponding to the one or more problems identified based on the comparison with the relevant predefined problems identified in order to classify the problems into the complexity-based problem types. In such embodiments, the classification module 315 may classify the problem and/or a subproblem corresponding to the complexity-based problem type as easy, complex, and/or uncertain based on the complexity score. For example, the classification module 315 may classify a primary problem as complex problem and a secondary/subproblem as a simple problem. Similarly, the classification module 315 may determine a technology score corresponding to each problem and/or a subproblem based on the comparison with the relevant predefined problems. For example, the classification module 315 may classify the primary problem as machine learning problem and the secondary/subproblem as a data analysis problem based on the technology score. Furthermore, the classification module 315 may be configured to determine a legality score to corresponding to each problem and/or a subproblem based on the comparison with the relevant predefined problems. For example, the classification module 315 may classify the primary problem as an ethical problem and the secondary/subproblem as a rules-based problem based on the legality score. In an embodiment, the classification module 315 may determine the complexity score, the technology score, and/or the legality score corresponding to each problem and/or a subproblem based on one or more predefined criteria such as, but not limited to, the predefined problem type(s), the relevant predefined problem, and/or the mapping of the keywords or phrases identified. In some embodiments, the classification module 315 may be configured to provide the identified predefined problem types, the complexity score, the technology score, and/or the legality score to the user devices 110-125 via the network 130. In such embodiments, the classification module 315 may also be configured to receive one or more inputs corresponding to the identified predefined problem types, the complexity score, the technology score, and/or the legality score from the user devices 110-125 via the network 130. In an embodiment, the users may provide the inputs to the classification module 315 via the user devices 110-125. The classification module 315 may also be configured to modify the identified predefined problem types, the complexity score, the technology score, and/or the legality score based on the inputs received.
[0030] In an exemplary example, the classification module 315 may classify the identified problems into the following predefined problem types:
Primary Problem:
“Customer churn problem”
Problem type: Complex
Secondary/Subproblems:
- “Customer data sorting problem”
Problem Type: Simple, Software Automation Problem
- “Customer data analytics problem”
Problem Type: Simple, Machine Learning problem
- “Customer conversation analytics problem”
Problem type: Complex, Machine Learning problem, Ethical problem
- “Customer complaint identification problem”
Problem type: Uncertain, Machine Learning problem
[0031] The solution module 320 is configured to identify one or more predefined solution types to the problems and/or the subproblems identified based on the classification. In an embodiment, the solution module 320 may identify the predefined solution type to the problems based on the predefined solution relationship defined between the predefined solution type and the predefined problem type identified corresponding to the problems. Examples the predefined solution types include, but are not limited to, a machine learning/artificial intelligence solution, a software automation solution, a software retrofit or enhancement solution, or a combination of software solutions. The machine learning/artificial intelligence solution may correspond to a solution utilizing one or more machine learning models and/or neural networks. The software automation solution may correspond to a solution utilizing techniques for automating one or more functions and/or operations. The software retrofit or enhancement solution may correspond to a solution incorporating additional software components in existing software solutions and thereby, providing additional software capabilities. The combination of software solutions may correspond to a solution comprising, for example, but not limited to, a combination of the software automation solution and the machine learning solution. In some embodiments, each predefined solution type may comprise associated solution types. For example, the machine learning/artificial intelligence solution may comprise, but not limited to, data and/or model improvement solution, algorithm development solution, and/or model feedback loop solution. The data and/or model improvement solution may correspond to a solution incorporating additional data, datatypes, algorithms, and/or machine learning models to improve upon existing data, datatypes, algorithms, and/or machine learning models/algorithms used to address the problems. The data improvement solution may further be associated with and/or comprise additional solution types such as, but not limited to, data cleaning and/or data pipelining solution. The data cleaning solution may correspond to a solution involving fixing or removing incorrect, corrupted, incorrectly formatted, duplicate, or incomplete data within a dataset. The data pipelining solution may correspond to a solution involving collecting raw data in different formats and converting the raw data into a machine-readable format for storage in the storage unit 225. In some embodiments, the solution module 320 may identify multiple predefined solution types for a problem and/or a subproblem based on the classification. In some embodiments, the solution module 320 may identify a single predefined solution type for multiple problems, subproblems and/or predefined problem types identified based on the classification. In some embodiments, the solution module 320 may identify different predefined solution types for different problems, subproblems and/or predefined problem types respectively based on the classification. For example, the solution module 320 may identify the predefined solution type comprising the machine learning solution for both the complexity-based problem types, and the technology-based problem types. In another example, the solution module 320 may identify the predefined solution types comprising the software automation solution and the machine learning solution for the same problem classified under the complexity-based problem type. In yet another example, the solution module 320 may identify a first predefined solution type comprising the software automation solution and a second predefined solution type comprising the machine learning solution for a first problem identified and classified under the complexity-based problem type and a second problem identified and classified under the technology-based problem type respectively. In some embodiments, the solution module 320 may be configured to provide the identified predefined solution types to the user devices 110-125 via the network 130. In such embodiments, the solution module 320 may be configured to receive one or more inputs corresponding to the identified predefined solution types from the user devices 110-125 via the network 130. In an embodiment, the users may provide the inputs to the solution module 320 via the user devices 110-125. The solution module 320 may also be configured to modify the identified predefined solution types based on the inputs received.
[0032] In an exemplary example, the solution module 320 may identify the following predefined solution types corresponding to the predefined problem types identified:
Primary Problem:
“Customer churn problem”
Problem type: Complex
Solution Type: Machine Learning Solution
Secondary/Subproblems:
- “Customer data sorting problem”
Problem Type: Simple, Software Automation Problem
Solution Type: Software Automation solution
- “Customer data analytics problem”
Problem Type: Simple, Machine Learning problem
Solution Type: Software Automation Solution, Machine Learning solution
- “Customer conversation analytics problem”
Problem type: Complex, Machine Learning problem, Ethical problem
Solution Type: Machine Learning solution – Data Cleaning and Pipelining solution, Existing software implementation solution for regulation verification.
- “Customer complaint identification problem”
Problem type: Uncertain, Machine Learning problem
Solution Type: Machine Learning solution – Algorithm Development Solution.
[0033] The recommendation module 325 is configured to generate one or more recommendations associated with the predefined solution types identified corresponding to the problems using the machine learning model. In an embodiment, the recommendation module 325 is configured to determine one or more primary and/or secondary predefined solution types of the predefined solution types identified to the problems using the machine learning model. In an embodiment, the recommendation module 325 may determine the primary and/or secondary predefined solution types by identifying the primary and/or secondary problems and/or the predefined problem types associated with the predefined solution types. Further, in an embodiment, the recommendation module 325 may also determine the primary/secondary predefined solution types based on a number of each predefined solution type identified corresponding to the primary and/or secondary problems and/or the predefined problem types. In some embodiments, the recommendation module 325 may also determine the primary and/or secondary predefined solution types based on predefined criteria such as, but not limited to, the complexity score, the technology score, and/or the legality score associated with the predefined problem types. The recommendation module 325 may also be configured to determine whether the machine learning or artificial intelligence solution corresponds to the primary predefined solution types or the secondary predefined solution types. The recommendation module 325 may also be configured to indicate whether the machine learning or artificial intelligence solution corresponds to the primary solution types or the secondary solution types based on the determination to the user devices 110-125 via the network 130. In some embodiments, the recommendation module 325 may also determine a weighted percentage of the predefined solution types identified based on predefined criteria such as, but not limited to, the number of each predefined solution type identified corresponding to the primary and/or secondary problems, the predefined problem types identified corresponding to the primary and/or secondary problem, the complexity score, the technology score, and/or the legality score. The recommendation module 325 may also be configured to provide the recommendations to the user devices 110-125 via the network 130. In some embodiments, the recommendation module 325 may also provide the recommendations via the display 230. The recommendations may comprise the primary and secondary predefined solution types and/or the weighted percentage of each predefined solution type to the user devices 110-125 via the network 130 or the display 230.
[0034] In an exemplary example, the recommendation module 325 may determine and/or provide the recommendations comprising the primary and secondary predefined solution types and/or the weighted percentages corresponding to the predefined solution types identified as follows:
Primary Problem:
“Customer churn problem”
Problem type: Complex – 1
Solution Type: Machine Learning Solution – 1
Secondary/Subproblems:
- “Customer data sorting problem”
Problem Type: Simple – 1, Software Automation Problem
Solution Type: Software Automation solution – 1
- “Customer data analytics problem”
Problem Type: Simple – 2, Machine Learning problem
Solution Type: Software Automation Solution – 2, Machine Learning solution – 1.1
- “Customer conversation analytics problem”
Problem type: Complex – 1.1, Machine Learning problem, Ethical problem – 1
Solution Type: Machine Learning solution – Data Cleaning and Pipelining solution – 1.2, Existing software implementation solution for regulation verification – 1.
- “Customer complaint identification problem”
Problem type: Uncertain – 1, Machine Learning problem
Solution Type: Machine Learning solution – Algorithm Development Solution – 1.3.
Primary predefined problem type:
- Machine Learning solution (based on a number of the Machine Learning solution identified and/or complexity/complexity score)
Secondary predefined solution types:
- Software Automation Solution, Software implementation solution (based on a number of the Software automation/implementation solution identified and/or complexity/complexity score)
Weighted Percentage:
- Machine Learning solution – 70%, Software Automation Solution – 20%, Software implementation solution – 10%
[0035] For instances when the identified predefined solution type comprises the machine learning solution, the recommendation module 325 may also be configured to identify the one or more predefined machine learning models that may be applicable to address the one or more problems identified. The recommendation module 325 may also identify one or more data inputs and/or outputs for the predefined machine learning models identified. Further, recommendation module 325 may also be configured to provide the recommendations comprising the predefined machine learning models identified, the data inputs and/or outputs identified to the user devices 110-125 via the network 130 or the display 230.
[0036] In an exemplary example, the recommendation module 325 may determine and/or provide the recommendations comprising the machine learning models and the associated data inputs and/or outputs corresponding to the machine learning solution as follows:
Problem identified:
“Customer data analytics problem”
Problem Type: Simple, Machine Learning problem
Solution Type: Software Automation Solution, Machine Learning solution
Machine Learning Models: Logistic Regression, Naive Bayesian model
Model inputs: Customer age, gender, geolocation
Model outputs:
- Percentage of customers aged between 18-30 to churn, between 30-50 to churn, 50-above to churn
- Percentage of customers who are male/female to churn
- Percentage of customers who are located in City X to churn
- Percentage of customers who are male/female, aged between 18-30, and located in City X to churn
[0037] The recommendation module 325 may also be configured to determine one or more solution stages corresponding to the predefined solution types identified. In an embodiment, the recommendation module 325 may be configured to determine the solution stages based on, but not limited to, the complexity/complexity score determined corresponding to the complexity-based predefined problem types associated with the problems. The recommendation module 325 may also be configured to determine an order of the solution stages based on, but not limited to, the complexity/complexity score associated with the predefined problem types identified. For example, the recommendation module 325 may determine that the predefined problem types identified as uncertain may be executed first, followed by the predefined problem types identified as easy and complex. In an embodiment, the recommendation module 325 may also be configured to assign one or more solution stage goals corresponding to the solution stages determined. Similarly, the recommendation module 325 may also be configured to determine one or more tasks corresponding to the solution stages and assign one or more task goals corresponding to the tasks determined. In addition, the recommendation module 325 may also be configured to determine a number of candidates required corresponding to the tasks determined and a skill profile of each candidate corresponding the tasks. In an embodiment, the recommendation module 325 may be configured to determine the number of tasks and the number of candidates based on, but not limited to, the complexity/complexity score associated with the predefined problem types identified. The recommendation module 325 may also be configured to provide the recommendations comprising the solution stages corresponding to the problems, the solution stage goals, the tasks in each solution stage, the task goals, the number of candidates for each task and/or the skill profile of each candidate to the user devices 110-125 via the network 130 or the display 230.
[0038] In an exemplary example, the recommendation module 325 may determine and provide the recommendations comprising the solution stages corresponding to the problems, the solution stage goals, the tasks in each solution stage, the task goals, the number of candidates for each task and/or the skill profile of each candidate as follows:
Solution Stage 1:
Problem:
- “Customer complaint identification problem”
Problem type: Uncertain, Machine Learning problem
Solution Type: Machine Learning solution – Algorithm Development Solution.
Stage 1 Goal:
- Identify primary customer complaint with at least 60% accuracy
Stage 1 Tasks, Candidates:
- Develop/Identify Context-Aware Machine Learning Model
Task Goal: Complete task in 120 days
Number of candidates: At least 10
Skill profile: At least 2 subject-matter experts with at least 10 year experience in Model development/Python, At least 6 mid-level developers with at least 5 year experience in Model development/Python.
- Provide sample context identification data inputs and/or outputs.
Task Goal: Procure at least 2000 sample data inputs and/or outputs
Number of candidates: At least 3
Skill profile: At least 2 mid-level Data Analysts with at least 2 year experience.
- Train and tune the model based on the data inputs/outputs
Task Goal: Perform at 100 test runs or protocols on the model
Number of candidates: At least 3
Skill profile: At least 1 mid-level Tester with 3 year experience, 1 entry-level Tester with at least 1 year experience.
[0039] In an embodiment, the recommendation module 325 may provide the recommendations in one or more downloadable electronic formats comprising, but not limited to, text, image, audio, video, interactive, visual, and/or audio-visual formats to the user devices 110-125 via the network 130. In some embodiments, the recommendations may also be stored in the storage unit 225 in the downloadable electronic formats. In an embodiment, the visual formats may include, but not limited to, flowcharts, graphs, and/or block diagrams. In some embodiments, the recommendation module 325 may also be configured to generate and/or provide one or more software solutions corresponding to the predefined solution types identified to the user devices 110-125 via the network 130 or via the display 230. In an embodiment, the recommendation module 325 may generate and/or provide the software solutions based on different implementation technologies, platforms, programming languages, and/or software/hardware infrastructure. In an embodiment, the users may also request the recommendation module 325 to provide the software solutions corresponding to the predefined solution types using the user devices 110-125 and the recommendation module 325 may provide the software solutions to the user devices 110-125 in response to the request. In an exemplary example, the recommendation module 325 may provide the software solutions comprising the machine learning/artificial intelligence models/algorithms/programs and/or the software automation/implementation programs identified corresponding to the predefined problem/solution types identified. In an embodiment, the software solutions may correspond to packaged software applications comprising, for example, the machine learning/artificial intelligence models/algorithms/programs and/or the software automation/implementation programs.

INDUSTRIAL APPLICABILITY
[0040] FIG. 4 is a schematic block diagram of a method 400 for software solution recommendation using the computer system 105 of FIGS. 1-3 in accordance with an embodiment of the present disclosure. The method 400 comprises a step 405 of providing or presenting, via the processor 210 of the computer system 105, one or more questions to the user devices 110-125 via the network 130. The method 400 also comprises a step 410 of receiving, via the processor 210, one or more responses corresponding to the questions from the user devices 110-125 via the network 130. Further, the method 400 comprises a step 415 of identifying, via the processor 210, one or more problems requiring a software solution based on the responses using a machine learning model. The method 400 also comprises a step 420 of classifying, via the processor 210, the problems identified into one or more predefined problem types using the machine learning model. Further, the method 400 comprises a step 425 of identifying, via the processor 210, one or more predefined solution types to the problems and/or predefined problem types identified based on the classification. Furthermore, the method 400 comprises a step 430 of generating, via the processor 210, one or more recommendations associated with the predefined solution types corresponding to the problems. In addition, the method comprises a step 435 of providing, via the processor 210, the recommendations generated to the user devices 110-125 via the network 130.
[0041] FIG. 5 is a schematic block diagram of a method 500 for software solution recommendation using the computer system 105 of FIGS. 1-3 in accordance with another embodiment of the present disclosure. The method 500 comprises a step 505 of providing or presenting, via the processor 210 of the computer system 105, one or more questions to the user devices 110-125 via the network 130. The method 500 also comprises a step 510 of receiving, via the processor 210, one or more responses corresponding to the questions from the user devices 110-125 via the network 130. Further, the method 500 comprises a step 515 of identifying, via the processor 210, one or more problems requiring a software solution based on the responses using a machine learning model. The method 500 also comprises a step 520 of classifying, via the processor 210, the problems identified into one or more predefined problem types using the machine learning model. Further, the method 500 comprises a step 525 of identifying, via the processor 210, one or more predefined solution types to the problems and/or predefined problem types identified based on the classification. At least one of the predefined solution types identified comprises a machine learning or artificial intelligence solution. Furthermore, the method 500 comprises a step 530 of determining, via the processor 210, one or more primary solution types and one or more secondary solution types of the predefined solution types identified to the problems using the machine learning model. In addition, the method 500 comprises a step 535 of determining, via the processor 210, whether the machine learning or artificial intelligence solution corresponds to the primary solution types or the secondary solution types. Further, the step 535 also comprises a step of indicating, via the processor 210, whether the machine learning or artificial intelligence solution corresponds to the primary solution type or the secondary solution type to the user devices 110-125 via the network 130.
[0042] In view of the above disclosure, it is apparent that the methods 400, 500 and the computer system 105 of the present disclosure enable identification of multiple problems requiring the software solution of different complexity based on user responses. The methods 400, 500 and the computer system 105 of the present disclosure also facilitate identification of primary and/or secondary or subproblems associated with the problems based on the user responses. Accordingly, the methods 400, 500 and the computer system 105 of the present disclosure enable detailed analysis and simplification of complex problems by identifying various aspects associated with such complex problems. Further, the methods 400, 500 and the computer system 105 of the present disclosure also facilitate identification of different software solutions utilizing different technologies, platforms, languages, and/or infrastructure to address the problems identified. More particularly, the methods 400, 500 and the computer system 105 of the present disclosure facilitate assessment of a requirement and/or role of machine learning and/or artificial intelligence solutions in addressing the problems identified. Moreover, the methods 400, 500 and the computer system 105 of the present disclosure also facilitate project planning and management in terms of project phases/solution stages, project/solution stage goals, execution timelines, human resources, tasks, and/or task goals in order to address the problems identified. In addition, the methods 400, 500 and the computer system 105 of the present disclosure may also provide decision-making and/or enabling insights, metrics, and/or visualizations to the users via the recommendations in order to address the problems. Further, the methods 400, 500 and the computer system 105 of the present disclosure may also facilitate significant savings in terms of time, costs, and/or resources in identifying problems and deploying different solutions.
, Claims:1. A method for software solution recommendation, comprising:
providing, via a processor of an electronic device, one or more questions to one or more user electronic devices;
receiving, via the processor, one or more responses corresponding to the one or more questions from the one or more user electronic devices;
identifying, via the processor, one or more problems requiring a software solution based on the one or more responses using a machine learning model;
classifying, via the processor, the one or more problems into one or more predefined problem types using the machine learning model;
identifying, via the processor, one or more predefined solution types to the one or more problems based on the classification;
generating, via the processor, one or more recommendations associated with the one or more predefined solution types corresponding to the one or more problems using the machine learning model; and
providing, via the processor, the one or more recommendations generated to the one or more user electronic devices via a network.

2. The method of claim 1, wherein the classifying comprises:
comparing the one or more problems identified with one or more predefined problems provided in the electronic device; and
identifying the one or more predefined problem types based on the comparison.

3. The method of claim 2, wherein the identifying of the one or more predefined problem types comprises determining a complexity score corresponding to the one or more problems based on the comparison.

4. The method of claim 3, wherein the generating of the one or more recommendations comprises:
determining one or more solution stages corresponding to the one or more predefined solution types based on the complexity score; and
assigning one or more solution stage goals corresponding to the one or more solution stages determined.

5. The method of claim 4, wherein the generating of the one or more recommendations comprises:
determining one or more tasks corresponding to the one or more solution stages; and
assigning one or more task goals corresponding to the one or more tasks determined.

6. The method of claim 5, wherein the generating of the one or more recommendations comprises:
determining a number of candidates required corresponding to the one or more tasks determined; and
determining a skill profile of each candidate corresponding the one or more tasks.

7. The method of claim 6, wherein the providing of the one or more recommendations comprises:
providing the one or more problems identified;
providing the one or more solution stages corresponding to the one or more problems identified to the one or more user electronic devices; and
providing the one or more solution stage goals, the one or more tasks, the one or more task goals, the number of candidates, and the skill profile of each candidate corresponding the one or more solution stages to the one or more user electronic devices.

8. The method of claim 1, wherein the one or more responses comprise at least one of one or more problem statements, one or more pre-existing software solutions, one or more software implementation errors, or one or more limitations associated with the one or more pre-existing software solutions.

9. The method of claim 1, wherein the one or more predefined solution types comprise at least one of a machine learning/artificial intelligence solution, a software automation solution, a software retrofit or enhancement solution, or a combination of software solutions.

10. The method of claim 9, wherein the generating of the one or more recommendations comprises at least one of:
identifying one or more predefined machine learning models corresponding to the machine learning/artificial intelligence solution for the one or more problems identified;
identifying one or more data inputs for the one or more predefined machine learning models identified; and
identifying one or more data outputs for the one or more predefined machine learning models identified.

11. The method of claim 10, wherein the providing of the one or more recommendations comprises:
providing the one or more predefined machine learning models identified, the one or more data inputs identified, and the one or more data outputs identified to the one or more electronic devices.

12. The method of claim 1, wherein the identifying of the one or more problems comprises:
parsing the one or more responses, wherein the parsing comprises:
identifying one or more keywords or phrases in the one or more responses received, and
mapping the one or more keywords or phrases identified with one or more predefined keywords or phrases associated with one or more predefined problems provided in the electronic device, wherein the one or more problems are identified based on the mapping.

13. The method of claim 3, wherein prior to the classifying of the one or more problems, the method comprises:
providing, via the processor, the one or more problems identified, or the complexity score determined corresponding to the one or more problems, to the one or more electronic devices;
receiving, via the processor, one or more inputs from the one or more electronic devices corresponding to the one or more problems or the complexity score provided; and
modifying, via the processor, the one or more problems identified or the complexity score based on the one or more inputs.

14. A method for software solution recommendation, comprising:
providing, via a processor of an electronic device, one or more questions to one or more user electronic devices;
receiving, via the processor, one or more responses corresponding to the one or more questions from the one or more user electronic devices;
identifying, via the processor, one or more problems requiring a software solution based on the one or more responses using a machine learning model;
classifying, via the processor, the one or more problems into one or more predefined problem types using the machine learning model;
identifying, via the processor, one or more predefined solution types to the one or more problems based on the classification, wherein at least one of the one or more predefined solution types identified comprises a machine learning or artificial intelligence solution;
determining one or more primary solution types and one or more secondary solution types of the one or more predefined solution types identified using the machine learning model; and
determining whether the machine learning or artificial intelligence solution corresponds to the one or more primary solution types or the one or more secondary solution types; and
indicating whether the machine learning or artificial intelligence solution corresponds to the one or more primary solution types or the one or more secondary solution types to the one or more user electronic devices.

15. The method of claim 14, comprising:
identifying one or more predefined machine learning models corresponding to machine learning or artificial intelligence solution;
identifying one or more data inputs and one or more data outputs for the one or more predefined machine learning models identified; and
providing the one or more predefined machine learning models identified, the one or more data inputs identified, and the one or more data outputs identified to the one or more electronic devices via the network.

16. The method of claim 14, comprising:
determining a weighted percentage of the one or more predefined solution types identified; and
providing the one or more predefined solution types and the weighted percentage to the one or more electronic devices.

17. A system for software solution recommendation, comprising:
a memory;
a network interface communicatively coupled to a processor and the memory, wherein the memory comprises computer instructions that when executed by the processor cause the system to perform one or more functions, the one or more functions comprising:
providing, via a processor of an electronic device, one or more questions to one or more users via one or more user electronic devices and a network;
receiving, via the processor, one or more responses corresponding to the one or more questions from the one or more users via the one or more user electronic devices and the network;
identifying, via the processor, one or more problems based on the one or more responses using a machine learning model;
classifying, via the processor, the one or more problems into one or more predefined problem types using the machine learning model;
identifying, via the processor, one or more predefined solution types to the one or more problems based on the classification;
generating, via the processor, one or more recommendations associated with the one or more predefined solution types corresponding to the one or more problems; and
providing the one or more recommendations generated to the one or more user electronic devices via a network.

18. The system of claim 17, wherein the one or more functions comprises:
determining one or more primary solution types and one or more secondary solution types of the one or more predefined solution types identified using the machine learning model; and
determining whether a machine learning or artificial intelligence solution corresponds to the one or more primary solution types or the one or more secondary solution types; and
indicating whether the machine learning or artificial intelligence solution corresponds to the one or more primary solution types or the one or more secondary solution types to the one or more user electronic devices.

19. The system of claim 18, wherein the one or more functions comprises:
identifying one or more predefined machine learning models corresponding to machine learning or artificial intelligence solution;
identifying one or more data inputs and one or more data outputs for the one or more predefined machine learning models identified; and
providing the one or more predefined machine learning models identified, the one or more data inputs identified, and the one or more data outputs identified to the one or more electronic devices via the network.

20. The system of claim 17, wherein the one or more functions comprises:
determining a weighted percentage of the one or more predefined solution types identified; and
providing the one or more predefined solution types and the weighted percentage to the one or more electronic devices.

Documents

Application Documents

# Name Date
1 202341024499-STATEMENT OF UNDERTAKING (FORM 3) [31-03-2023(online)].pdf 2023-03-31
2 202341024499-OTHERS [31-03-2023(online)].pdf 2023-03-31
3 202341024499-FORM FOR SMALL ENTITY(FORM-28) [31-03-2023(online)].pdf 2023-03-31
4 202341024499-FORM FOR SMALL ENTITY [31-03-2023(online)].pdf 2023-03-31
5 202341024499-FORM 1 [31-03-2023(online)].pdf 2023-03-31
6 202341024499-FIGURE OF ABSTRACT [31-03-2023(online)].pdf 2023-03-31
7 202341024499-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [31-03-2023(online)].pdf 2023-03-31
8 202341024499-DRAWINGS [31-03-2023(online)].pdf 2023-03-31
9 202341024499-DECLARATION OF INVENTORSHIP (FORM 5) [31-03-2023(online)].pdf 2023-03-31
10 202341024499-COMPLETE SPECIFICATION [31-03-2023(online)].pdf 2023-03-31
11 202341024499-Proof of Right [03-05-2023(online)].pdf 2023-05-03
12 202341024499-FORM-26 [03-05-2023(online)].pdf 2023-05-03