FI20195352A1 - Data-driven optimization - Google Patents

Data-driven optimization Download PDF

Info

Publication number
FI20195352A1
FI20195352A1 FI20195352A FI20195352A FI20195352A1 FI 20195352 A1 FI20195352 A1 FI 20195352A1 FI 20195352 A FI20195352 A FI 20195352A FI 20195352 A FI20195352 A FI 20195352A FI 20195352 A1 FI20195352 A1 FI 20195352A1
Authority
FI
Finland
Prior art keywords
data set
record
records
data
segment
Prior art date
Application number
FI20195352A
Other languages
Finnish (fi)
Swedish (sv)
Inventor
Arto Isokoski
Riku Hytönen
Original Assignee
Talent Software Oy
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 Talent Software Oy filed Critical Talent Software Oy
Priority to FI20195352A priority Critical patent/FI20195352A1/en
Priority to PCT/FI2020/050287 priority patent/WO2020221961A1/en
Priority to EP20728528.9A priority patent/EP3963471A1/en
Publication of FI20195352A1 publication Critical patent/FI20195352A1/en

Links

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/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Biophysics (AREA)
  • Manufacturing & Machinery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method comprising obtaining a combined data set comprising a first data set and a second data set wherein the first data set and the second data set both comprise at least one record associated with a plurality of attributes; storing the combined data set in a unit; determining a segment based on received input; analysing the combined data set and allocating at least one record to the segment based on the analysis and determining which record of the at least one record allocated to the segment is to be used as a basis to operate a device comprised in or connected to the unit and operating the device based on at least one attribute associated with the determined record.

Description

DATA-DRIVEN OPTIMIZATION
FIELD
The present application relates to optimizing an outcome based on data analysis.
BACKGROUND
A process may have a great number of variables that each effect the outcome and thereby the efficiency of the process. Yet, it may be challenging to understand which parameters have what type of an effect. Therefore, the understanding of the process may be lacking, and data analysis may provide help in understanding the process better.
BRIEF DESCRIPTION
According to an aspect there is provided an apparatus comprising means for obtaining a combined data set comprising a first data set and a second data set wherein the first data set and the second data set both comprise at least one record associated with a plurality of attributes; storing the combined data set in a unit; determining a segment based on received input; analysing the combined data set and allocating at least one record to the segment based on the analysis and determining which record of the at least one record allocated to the segment is to be used as a basis to operate a device comprised in or connected to the unit and operating the device based on at least one attribute associated with the determined = record.
N
+ According to another aspect there is provided an apparatus comprising = at least one processor, and at least one memory including a computer program = code, wherein the at least one memory and the computer program code are * 25 — configured, with the at least one processor, to cause the apparatus to obtain a
J combined data set comprising a first data set and a second data set wherein the 2 first data set and the second data set both comprise at least one record associated
N with a plurality of attributes; store the combined data set in a unit; determine a segment based on received input; analyze the combined data set and allocating at least one record to the segment based on the analysis and determine which record of the at least one record allocated to the segment is to be used as a basis to operate a device comprised in or connected to the unit and operate the device based on at least one attribute associated with the determined record.
According to another aspect there is provided a method comprising obtaining a combined data set comprising a first data set and a second data set wherein the first data set and the second data set both comprise at least one record associated with a plurality of attributes; storing the combined data set in a unit; determining a segment based on received input; analysing the combined data set and allocating at least one record to the segment based on the analysis and determining which record of the at least one record allocated to the segment is to be used as a basis to operate a device comprised in or connected to the unit and operating the device based on at least one attribute associated with the determined record.
According to another aspect there is provided a computer program product which when executed by a computing apparatus causes the apparatus to perform obtaining a combined data set comprising a first data set and a second data set wherein the first data set and the second data set both comprise at least one record associated with a plurality of attributes; storing the combined data setin a — unit; determining a segment based on received input; analysing the combined data set and allocating at least one record to the segment based on the analysis and determining which record of the at least one record allocated to the segment is to > be used as a basis to operate a device comprised in or connected to the unit and
N operating the device based on at least one attribute associated with the determined 3 25 record.
O
2 According to another aspect there is provided a computer program n. product comprising computer program code stored in a non-transitory memory
D medium, the computer program code being configured to cause an apparatus, 3 when executing the program code by a processor circuitry, to perform at least the i 30 following: obtaining a combined data set comprising a first data set and a second data set wherein the first data set and the second data set both comprise at least one record associated with a plurality of attributes; storing the combined data set in a unit; determining a segment based on received input; analysing the combined data set and allocating at least one record to the segment based on the analysis and determining which record of the at least one record allocated to the segment is to be used as a basis to operate a device comprised in or connected to the unit and operating the device based on at least one attribute associated with the determined record.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates an exemplary embodiment of a database;
Figure 2 illustrates an example embodiment of combining data sets;
Figure 3 illustrates an exemplary embodiment of segmentation;
Figures 4a and 4b illustrates exemplary embodiments of data driven optimization;
Figure 5 illustrates an exemplary embodiment of an apparatus.
DETAILED DESCRIPTION
The following embodiments are exemplifying. Although the specification may refer to “an”, “one”, or “some” embodiment(s) in several locations of the text, this does not necessarily mean that each reference is made to the same embodiment(s), or that a particular feature only applies to a single embodiment. > Single features of different embodiments may also be combined to provide other > embodiments.
S oO In order to achieve an optimal result, often multiple factors play a role. = 25 For example, for a device to function optimally, there may be a number of > parameter values of the device each effecting the outcome and in addition conditions of the surrounding environment as well as the user operating the device 2 all have an effect on the outcome.
N
The more there are factors affecting the outcome, the more difficult it is for a user to know what combination of parameter values work best in various situations. This may lead to a situation in which the user thinks he knows how to best guide a process or use a device, but a more fact-based analysis might show a different result. Therefore, it would be beneficial to have fact-based data available that would help to evaluate how to best guide a process or use a device such that an optimal outcome may be achieved.
In order to achieve such fact-based knowledge, it would be beneficial to have historical data available regarding various objects that may have a various — parameter values and then to know that which objects, when used to guide a device or a process, produced the best outcome. An object may be for example a pump of a certain model that different customers use in different environments and with different settings. If knowledge regarding the conditions in which the pump is operated, the settings used and the outcome achieved are gathered from various — customers, a database may be built to save all this data. Such database would then allow to analyse the data and provide fact-based suggestions on how to operate an individual pump in certain conditions. The suggestion could be sent or alternatively, the pump could be remotely configured according to the suggestions derived from the database.
In another example, a device for initiating calls may be guided using a database. The database may comprise information regarding potential customers. > The customers may be approached in a manner that is partly automated like
N initiating calls automatically. In such an example it is important to know to whom 3 25 — to call. The potential customer does not wish to be bothered with offers that are & not useful to the customer and on the other hand, the end result is not optimal if i the potential customer is not interested in the offer.
N a
O In some examples if the characteristics of the offer can be reflected on
N 30 historical success of the same or similar offer, then some data may be derived regarding those customers to whom it is beneficial to initiate the call. The process may be optimized to provide better efficiency and on the other hand, the use of the resources such as the device making the calls may be optimized better.
On the other hand, a new object, such as a pump or customer, may 5 appear. In such situation the question of course arises how that object would affect the product or process and the outcome that may be achieved. In order to know how to allocate resources best it would be beneficial to understand the potential outcome if the object was used to guide a process or a product and if in certain conditions the object would be likely to provide a better outcome.
If historical data regarding various objects is available, then analysing that information may be utilized to predict how a new object might affect an outcome of a product or a process.
Data may be gathered and stored to a database 110 that is illustrated in
Figure 1. The database 110 is designed to store large amounts of data and may be considered as comprising one or more tables of data 120. A record 122, such as a customer or a pump, may be stored to the database 110. Along with the record 122, attributes 124 and their values 126 may also be stored. Examples of attribute values 126 may comprise dates, contact details information regarding settings, price information, materials used and so on. It is to be noted that a record 122 may be associated with an attribute 124 that does not have a value 126 stored in the
D database 110.
N
3 25 The database 110 may be stored onto a memory of a computing device & or it may be stored in a distributed manner to various memory devices that are i then connected such that they may act as one database. For example, cloud
D computing may be utilized for storing a database. To manage the database 110 a 3 database management system 130 may be utilized. The database management i 30 system 130 may enable a user 140 to create, read, update and delete data in a database. It is to be noted that the user 140 may be a person, or it may be a software application that is executed on a computing device. The database management system 130 may act as an interface between the user 140 and the database 110 storing records 122.
A set of records stored in a database may be called as a data set. The data set may comprise all records stored in the database or it may comprise a subset of the records. In some examples a data set may be desirable to combine with another data set. If both data sets are stored in databases that are alike, then transferring one data set from the database it is stored on to the database the other data set is stored on may be done by copying the records of one data set to the target database. However, the databases may be different. For example, the records may contain different attributes, the value of attributes may be in different format and so on. In such a case, before two data sets may be combined, the data first needs to be formatted such that the records comprised in the data sets are in a same format, or alternatively, such that the records of the two data sets may be compared to each other even if the formats differ.
Figure 2 illustrates an exemplary embodiment of combining two data sets that have been obtained. The data sets may be obtained form any suitable — source. A first data set 202 comprises a first set of records and a second data set 204 comprises a second set of records. In some exemplary embodiments the first and the second data set comprise the same structure while in some other > exemplary embodiments the first and the second data set have different structure.
N In such exemplary embodiments the structures are to be harmonized before the 3 25 data sets are combined. The harmonization may be done manually by a user. & However, if there are large numbers of records, manual harmonization may be i tedious and time consuming and be prone to human errors. Therefore, as an
D alternative to manual harmonization, automated harmonization could be utilized. 3 Automated harmonization may be achieved for example by using, one or more i 30 computer program algorithms, artificial intelligence such as machine learning or a script. In an exemplary embodiment a script, when executed by a computing device, executes automatically tasks that would otherwise require a person to do those. Various scripting languages may be used to create a script that may then be executed by a computing device. The script may then analyse the structure of a data set and harmonize it to such that itis in a desired format.
Once the first data set 202 and the second data set 204 are in a harmonized format that allows the records to be compared even if the formats differ, the first data set 202 and the second data set 204 are combined to a combined data set that is stored in database 206. The database 206 may be a distributed database such as a database stored in cloud computing and a device is connected to it or, alternatively, the device may comprise the database 206. The database may be such that at least one of the first data set 202 or the second data set 204 were already stored in the database before the combined database was stored in it. Also, in some exemplary embodiments, the device may be the computing device that executes the script.
The database 206 and the device 240 may be considered to form a unit.
As the combined data set is stored in the database 206 the records are stored in one unified location that removes the need to fetch data from various places as all the data is centrally stored and may be accessed in a central manner. This may be beneficial as it reduces the risk of data being outdated and also makes it easier to ensure that the data is secured. If some data was to be fetched from another unit, > the fetching could expose the data to security risks. Also, as the data is available in
N one unit, the reliability of the access to data may be improved and the access to the 3 25 data may be faster than if multiple units were used to store the data.
O x a The first data set 202 and the second data set 204 may comprise records
D that together provide more information than one data set alone. If the information 3 comprised in the first data set 202 and the second data set 204 are combined, a 30 effective analysis 210 on the combined data set may be performed. The analysis, which may be performed using artificial intelligence in some exemplary embodiments, may then be utilized to operate the device 240 in a more efficient manner which may help to target resources of the device 240 more efficiently.
The analysis 210 may be performed based on criteria received. The criteria may be received as an input from a user or an algorithm or artificial intelligence may be utilized to analyse the data of the combined data set. In some exemplary embodiments artificial intelligence may be used by utilizing machine learning methods.
The analysed combined data set may then be segmented to one or more segments 220. The segments may be pre-defined or they may be defined based on the analysis or the segments may be user-defined. Records of the combined data set are the allocated to the segments if it is determined, based on the analysis, that the record fulfils the criteria of a segment. It is to be noted that in some exemplary embodiments the segments may be defined first and after that the combined data set may be analysed to determine the records that are to be included in each segment.
Itis to be noted thatin some exemplary embodiments the segments may be defined using artificial intelligence such as machine learning. In some exemplary embodiments, segmentation may be performed based on both, a user input received and artificial intelligence, and the segments created may be compared. = Such comparison may help to identify how to most effectively define segments. a < <Q 25 In some exemplary embodiments, once the records of the combined & data set have been allocated to the segments 220, the segments may be displayed. i For example, the device 240 may comprise or be connected to a display unit that
D displays the segment and the records allocated to it to a user. The user may then 3 provide input, such as touch input, key presses and/or voice input to the device or i 30 to an input unit connected to the device and arrange the records such that they fulfil certain criteria. For example, records could be arranged in alphabetical order,
according to a numerical value of an attribute and so on. The user may also perform a search among the records of the segment in some exemplary embodiments.
To enable better usability and faster displaying of results in case there is a great number of records, a separate database may be created of the records allocated to a segment during the segmentation in some exemplary embodiments.
For example, in case some records have attribute values that are dependent on information that is to be derived from data stored in other parts of the database, determining the attribute values may take some time. If such attribute values are — determined when allocating records to a segment and then stored to the separate database, that may improve usability and allow results to be displayed faster.
From a segment, a record may be determined that is then used to determine how resources 230 of the device 240 are to be targeted. For example, the record may have an attribute value for a given temperature and then another attribute value regarding a value of a setting of the device and finally a value indicating how well the device has functioned in that temperature and with that setting. If the records of the segment were arranged according to a received temperature value, then the record having a temperature value that best matches — with the received temperature value and has a value indicating most efficient performance at that temperature among the records is utilized such that the value of the setting of the device is copied and the setting of the device 240 is configured > to correspond to the copied value. It is to be noted that the setting could be any
N parameter guiding the functioning of the device 240. For example, if the device is 3 25 configured to initiate a call, then the setting could be a phone number. Or & alternatively, the setting could describe if power save mode is to be entered and so
E on.
N a
O As was mentioned above, artificial intelligence, such as machine i 30 learning, could be used to for example analyze data, create segments and harmonize formats of records comprised in a data set. Machine learning may be divided into several process steps. An example of such process steps is next described as an example only and are not to be taken as an exhaustive and complete set of process steps needed for machine learning. The data first need to be gathered and after that it should be prepared such that it is useful. The quality and quantity of the data affect how well the machine-learning may function. Data preparation may involve storing the data in a certain representation, modifying the data to, for example, remove unnecessary or extra aspects. Then a machine learning method is chosen. Various methods have been created by researches and data scientist that may be used for machine-learning purposes. The methods may have been developed with a certain purpose in mind, like image data, text or music, or the methods may be generic methods. Once the method has been chosen, the method is utilized in training a machine learning model. In training, the data gathered and prepared are used to incrementally improve the machine learning model in recognizing patterns and thereby providing correct outcomes. In the next step, validation may be used to test the trained machine learning model to see how well the machine learning model generalizes, that is, can classify data which it has not been introduced to before. This provides an indication regarding how well the machine learning model may function in usage of classifying new data. After evaluation it is possible to further improve the training of the machine learning model. This may be done by tuning the parameters that are used for training the machine learning model. Prediction is the final phase in which the machine learning model that has been trained is used to provide predictions regarding new > dataitis given as an input. It is to be noted that various other ways of using machine
N learning may also be used. & 25
O
O As mentioned, various machine learning methods, that may be used to
E train a machine learning model, exist. These methods include classification and
D regression trees, CART. The method is based on binary decisions, yes or no, made 3 at each node of the tree. The leaf nodes of a tree comprise an output variable that i 30 is used to make a prediction. Bayesian network is also a machine learning method and itis a dependency graph in which each node represents a binary variable and each edge represents the dependency relationship. In this method the machine learning is based on finding at each node the joint probability distribution of all incoming edges. After that, a probability distribution table is updated. Once the probability distribution table is updated at every node, the probability of any hidden node can be calculated. Yet a further example of a machine learning method is support vector machine. It is a supervised learning method that is associated with learning algorithms which analyse data used for classification and regression analysis. The support vector machine learning method is provided with a set of training examples. The training examples may be marked as belonging to one of two possible categories. After this input the training algorithm builds a model that assigns new examples to one of the two categories. An advantage of a machine learning model trained using the support vector machine learning method is that it can handle large numbers of dimensions and non-linear relationships as well.
An example of a framework enabling machine learning is an artificial neural network, that may also be called neural network. An artificial neural network consists of connected neurons that loosely resemble neurons in a biological brain. The neurons are computing entities which, when connected, can form one or more layers. A connection between two neurons resembles a synapse ina biological brain.
An artificial neural network may be used as a framework for various > different machine learning algorithms. A machine learning algorithm may
N correspond to a machine learning model that has been trained using a machine 3 25 learning method. These algorithms may work together to process complex data. & Neural network therefore enables learning from input data. Unlike in traditional i software development, the decision logic to be used for a given input is not decided
D by an engineer. Instead, a developer, such as an engineer, defines a set of sample 3 data that has been categorized and indicates the desired outcome. The algorithm i 30 — thatis executed in the framework provided by the artificial neural network learns to define the decision logic itself. The role of the developer therefore is focused on providing training data, selecting features and tuning the algorithms. The developer can also define the structure of the artificial neural network and select the algorithms to be used. The selection of training data has a significant impact on how well the algorithm executed on the framework offered by the neural network learns to provide correct and reliable results as the algorithm learns to recognize patterns of the training data and thereby is able to recognize new data. As the learning is based on patterns, the better the patterns are extracted from the training data, the better the algorithm can learn.
Figure 3 illustrates a flow chart of an exemplary embodiment of utilizing a segment comprising records of a combined data set allocated to the segment. Itis to be noted that while one segment is mentioned, there could be several segments onto which records of the combined data set are allocated to.
A user interface may output a view from which criteria may be selected, as illustrated in S1, and then according to the criteria the records of the segment may be ordered. The user interface may be visual, and it may contain indications of the kind of attributes the records have. A possibility to filter and/or arrange the records according to attribute values may then be provided. For example, a graphical user interface may display a selection of attributes and value ranges for the attribute values. A user may then provide user input defining the desired values. The user may also define how the attribute values are to be combined and > then have the records listed in an order according to which record has the most
N optimal combination of attribute values in view of the defined combination. 3 25 Additionally, or alternatively, free text searches may be enabled such that the user & may type text and the records of the segment are then arranged according to how i well they match the typed text, and, additionally or alternatively, other free
D searches may be enabled such a number-based searches such as searches based on 3 zip codes and so on. It is to be noted that in some alternative exemplary i 30 embodiments the criteria may be provided by a device according to a result that has been received from a computer program code that has been executed by the device.
As was described above, in some exemplary embodiments a separate database may be created of the records allocated to the segment. Itis to be noted that more than one separate database comprising at least some of the records allocated to the segment may also be created in some exemplary embodiments.
In some exemplary embodiments, the records allocated to a segment may be arranged to a file that comprises the data of those records in a format that may be sentto another device and/or unit. The file may be for example in a comma- separated value, CSV, format. It may also be possible to allocate only some of the records to such a file. The selection of records could then be automated or alternatively user input defining which records to select may be received. Having such a file may be beneficial for example if the data are to be supplemented with additional data in a separate unit and/or device. The additional data could then be obtained using application programming interfaces, APIs, for example. In some exemplary embodiments, the file may be obtained as a background process executed by the device after receiving user input indicating which records are to be comprised in the file. It may then be indicated, by directing the user to a target web page for example, which records are ready to be utilized in the other device /unit. In case some records are not ready yet, that may be indicated as well.
This may enhance the user experience if the creation of the file takes time and there > is arisk that the user provides user input that further delays the creation of the file
N for example. <
T 25
O
O Once the criteria have been selected, the records of the segment are i listed according to the criteria as illustrated in S2. The list may be provided in a
D visual manner on a display comprised in the user interface for example. Next, a 3 selection of a record comprised in the listing is received as illustrated in S3. In some i 30 exemplary embodiments the selection may be automated. For example, the first record within the list is automatically selected. Alternatively, a user input may be received defining the record to be selected.
Once the record has been selected, the values of its attributes are determined as illustrated in S4. At least one attribute value of the record is then used to configure operation of a device as illustrated in S5. If the attribute value is for example such that it defines a user capable of operating the device in an efficient manner, the user may be assigned the record. A notification may additionally be provided indicating the assignment. The notification may also be sent to another device. For example, if certain user is authorized to modify the settings of the device, then the credentials of that user are required in order to modify the settings.
Alternatively, a call is to be initiated by the device to a certain phone number by a certain user that has been selected based on analysis of the past behaviour of that user. It is to be noted that the device may be one device, or it may be an entity comprising a plurality of connected devices such as a server that comprises a database and a plurality of computing devices that are connected to the server.
In some exemplary embodiments, the records within a segment may be ordered based on how well they match with a behaviour profile of a certain user.
For example, the past records of behaviour of the user may be analysed to identify records that produced best outcomes when handled by the user and this information may be used to list the records of the segment. Also, in some exemplary embodiments, there may be a limitation assigned to the operation of a pump, for > example a new regulation regarding emissions caused by the operation of the
N pump. In such an exemplary embodiment, the records may be arranged within a 3 25 segment based this new limitation in order to find settings that best match the & limitation. It is also to be noted that the creation of segments may take into account
E limitations such as mentioned above.
N a
O Figure 4a illustrates an exemplary embodimentregarding how two data i 30 sets may be utilized to determine which phone call to initiate by guiding a call device 410. Phone calls require resources in terms of networks, which may include charges based on the usage of the network and also by occupying the call device 410. Calls may be made fully automatic by for example having a recorded speech that is then played to the party answering the call. Additionally, or alternatively, a person may be involved in the call. In such case, each call consumes the time of that person and to avoid wasting time, the amount of calls that do not lead to a useful outcome should be reduced. The desired outcome may be for example that a problem is solved or that a deal is made or any other outcome that is considered to be in the interest of the caller.
A database 420 connected to, or comprised in a device 430, which may be an entity of connected devices or an individual device, may comprise records of contact details along with data regarding historical behaviour of the contact, such as products purchased, values of those purchases and amount of times a purchase was made. The data regarding historical behavior of the contact is saved as a recording of past values of an attribute, in other words as historical values of an attribute that may also be called as historical values. The records of the database may form a first data set and in this exemplary embodiment the first data set comprises records with historical values of at least one attribute. It is to be noted that if the first data set is combined with another data set, the records of the other data set may also comprise historical values of at least one attribute. Yet, in some alternatives, only some records of the first data may comprise historical values of at least one attribute. The historical values of at least one attribute may be utilized > for example when identifying records with no historical values of attributes that
N could cause a preferable outcome by identifying similarities between the records 3 25 — with historical attribute values and records with no historical attribute values.
O x a In order to find new contacts that may help to achieve the desired
D outcome and thereby a more efficient use of the resources of the call device 410 3 records comprising new contact data that is not yet saved in the database 420 may a 30 be obtained. To utilize that data in an efficient and safe manner, it may be beneficial to store and combine the obtained records, which form a second data set, with the existing records saved in the database 420. In this exemplary embodiment the second data set does not comprise historical values, but in some other exemplary embodiments at least some records may comprise also historical values.
In this exemplary embodiment the records are saved in a file. A script is then used to read the file and determine the structure of the file. Once the structure of the file has been determined by the script, the script determines how the records comprised in the file are to be stored as records comprised in the databased 420.
For example, a line of data comprised in a record that is saved in the file may comprise contact information of a person instead of a company. If the records are to be companies, then the contact details of an individual person are to be saved in a different manner than the contact details of the company for which the record is to be created. A script may be defined such that it can handle various different data structures of files that are to be saved in the database 420 and create records that are in line with the structure of the database 420.
In this exemplary embodiment also data that supports optimization of the usage of the call device 410 may be stored to the database 420. For example, information regarding users of the device 430, external conditions such as weather and so on. Itis also possible to modify records for example when a user is involved in a call initiated by the device 430 and using the call device 410. The modification of a record may be done based on user input received or it may be automatically
D updated. For example, the duration of a call, time of the call, the person involved in
N the call and so on may be automatically stored as attribute values of the record. The 3 25 — previous attribute values may be saved as historical values of the attributes, or & alternatively or additionally, the previous values may be deleted.
E
D The desired outcome may be different at different situations. For 3 example, if a solution is to be discussed with the company to whom a call is to be i 30 initiated, the solution may different regarding the company. To know which solution to discuss with whom, segmentation of records may be used. Criteria for segmentation may be determined based on the solution automatically, using for example artificial intelligence, or it may be user defined or a combination of both.
There may be one or more segments and the user may then select which segment he wishes to select at each situation. Alternatively, the selection of a segment may be automated.
In this exemplary embodiment the segments are defined based on user input. The user input defines the criteria for segmentation. Based on the criteria, the records saved in the database 420 are analysed by software executed by the device 430 and allocated to the segments according to the criteria. In some exemplary embodiments, a further database may be created by the device 430 that comprises the segments and the records allocated to the segments. The further database may be created while analysing and allocating the records to the segments. It is to be noted that there may be segments with no records allocated to them and there may be records that have not been allocated to any segments.
Further it may be that some records are allocated to more than one segments. The benefit of creating the further database may be that fetching the records may be faster with the help of the further database.
In this exemplary embodiment, once the records have been allocated to the one or more segments, the records are displayed by the device 430 to the user.
The displayed records may include for example the number of records in that > segments and information regarding the records in a list format. The list format
N may then allow the user to delegate records to various users and/or to a call device 3 25 410 to initiate a call to a selected record. The listing may comprise the attributes & and their values for each record in the list and the user may be enabled to rearrange i the list based on attribute values. Alternatively, or additionally, the user may be
D enabled to search the list using text as an input. > i 30 In this exemplary embodiment, one segmentation criteria comprise historical values of attributes as basis for including a record to a segment. For example, most profitable contacts based on historical values of profit attribute may be used as criterion to segment the most profitable records. In some exemplary embodiments, analysis may then be applied such that characteristic that could predict that the company is profitable are identified and utilized in finding new potentially profitable companies that do not yet have historical values of attributes.
In this exemplary embodiment, as the historical values of the attributes are known, the listing of the records in the segment may comprise information such as sales history and dates when sales were made for example. It may also include information such as who was the user involved in the call that lead to an outcome of profit for example. When creating the further database, the historical values of the attributes are also stored to the further database, which may enable faster scrolling and/or loading of the list.
In some exemplary embodiments, correlations between a user involved in a call initiated using the call device 410 and an outcome of profit being stored as an attribute value to a record may be analysed based on the records stored in the database 420. If correlations between attribute values and a user being involved in a favourable outcome are identified, that information may be utilized in allocating arecord to a certain user for example. A user may therefore be considered as a factor that may be analysed when determining which record to use to guide the call device 410. Other factors could include for example weather. If the solution to > which a segment is created is affect by the weather for example, then the
N correlation may be analysed, and such records may be allocated to the segment that 3 25 — seem favourable to the selected weather type.
O x a In this exemplary embodiment a user may now select a record from the
D segmented list that is then used to initiate the call by the device 430 using the 410. 3 In other words, the record is used to operate the device 410. As the records stored i 30 in the database 420 are analysed by the device 430 and further the call device 410 is connected to or comprised in the device 430, all functions of the process are implemented within one system. This has then benefit of being able to use data- driven optimization the use the resources in an optimal manner and also increase the data security as all the functions are taking place within once system without a need to save data for example to an external system.
Figure 4b illustrates another exemplary embodiment of data-driven optimization of operating a device. In this exemplary embodiment, a factory 450 comprises a pump that is provided by a manufacturer. The manufacturer has provided the model of the pump to various industrial environments. The — manufacturer then has a computing device 460 that is connected to a database stored in cloud computing environment. The manufacturer stores in the database records such that each record corresponds to a pump provided by the manufacturer. The attributes of the records indicate in which kind of environments a pump has been operated on, with what settings and how efficient the operation — was. The information of the records may be collected from various sources. For example, multiple data sets comprising one or more records may be received from representatives of the manufacturer around the world. The data sets are then combined using a script such that one combined data setis stored to the database by the computing device 460. If a certain pump in a factory 450 is not operating optimally, criteria can be defined based on the environment of the pump and the desired optimal operation of the pump. Based on the criteria, the database records may be analysed, and a segment created. From the segment, a record may then be > selected and the values of the attributes of the records may be used to define how
N the settings of the pump in the factory 450 are to be modified. This modification 3 25 — may then be done by the device 460 that may be connected to the pump in the & factory 450.
E
D Figure 5 illustrates an exemplary embodiment of an apparatus such as 3 device 430 or computing device 460. The apparatus is applicable for performing i 30 one or more example embodiments of the invention. The apparatus 500 comprises a processor 510, which may comprise one or more processing cores containing circuitry configured to executed instructions comprised in computer program code 530. The computer program code may be any such computer program code which can be stored, temporarily or permanently, in the memory 520 and executed by the processor 510. The memory 520 may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The apparatus 500 may further comprise a connectivity unit 540 configured to enable wired and/or wireless connectivity. The wireless connectivity may be cellular connectivity, Wi-Fi connectivity, Bluetooth connectivity and/or any other suitable method of connectivity. The user interface 550 enables a user to interact with the apparatus 500. The user interface 550 may comprise for example a display, a loudspeaker, a keyboard, a mouse, a touch user interface and/or a microphone. Any other suitable means for user interaction could also be comprised in the user interface 550.
It will be obvious to a person skilled in the art that, as the technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims. o
O
N
+
I
O
O
I a a
N
LO
LO
O
O
N

Claims (15)

1. A method comprising obtaining a combined data set comprising a first data set and a second data set wherein the first data set and the second data set both comprise at least one record associated with a plurality of attributes; storing the combined data set in a unit; determining a segment based on received input; analysing the combined data set and allocating at least one record to the segment based on the analysis and determining which record of the at least one record allocated to the segment is to be used as a basis to operate a device comprised in or connected to the unit and operating the device based on at least one attribute associated with the determined record.
2. A method according to claim 1, wherein the at least one record comprised in the first data set comprises at least one attribute with historical attribute values.
3. A method according to any previous claim, wherein analysing the combined data set is performed, at least partly, based on utilizing a machine learning method. o S
4 4. A method according to any previous claim, wherein obtaining the O : : : : o 25 combined data set further comprises using a script. O x
=
5. A method according to any previous claim, wherein the records N 3 allocated to a segment are displayed as a list. O O N 30
6. A method according to any previous claim further comprising determining a plurality of segments.
7. A method according to any previous claim, wherein the received input is received from a user.
8. A method according to any previous claim, wherein the unit comprises the device.
9. A method according to any previous claim, wherein the unit comprises a database.
10. A method according to claim 9, wherein the database is a distributed database.
11. A method according to any previous claim, wherein the records allocated to the segment are stored to a file.
12. A method according to any previous claim, wherein determining which record of the at least one record allocated to the segment is to be used as a basis to operate a device comprised in or connected to the unit is made based on user input.
13. An apparatus comprising means for performing a method according > to any of claims 1 to 12. N 3 25
14. An apparatus according to claim 13 wherein the apparatus is & comprised in the device. E D
15. A computer program product which when executed by a computing 3 apparatus causes the apparatus to perform a method according to any of claims 1 N 30 tol2.
FI20195352A 2019-04-30 2019-04-30 Data-driven optimization FI20195352A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FI20195352A FI20195352A1 (en) 2019-04-30 2019-04-30 Data-driven optimization
PCT/FI2020/050287 WO2020221961A1 (en) 2019-04-30 2020-04-30 Data-driven optimization
EP20728528.9A EP3963471A1 (en) 2019-04-30 2020-04-30 Data-driven optimization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FI20195352A FI20195352A1 (en) 2019-04-30 2019-04-30 Data-driven optimization

Publications (1)

Publication Number Publication Date
FI20195352A1 true FI20195352A1 (en) 2020-10-31

Family

ID=70857203

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20195352A FI20195352A1 (en) 2019-04-30 2019-04-30 Data-driven optimization

Country Status (3)

Country Link
EP (1) EP3963471A1 (en)
FI (1) FI20195352A1 (en)
WO (1) WO2020221961A1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130117219A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Architecture for knowledge-based data quality solution

Also Published As

Publication number Publication date
EP3963471A1 (en) 2022-03-09
WO2020221961A1 (en) 2020-11-05

Similar Documents

Publication Publication Date Title
US10515104B2 (en) Updating natural language interfaces by processing usage data
US11307830B2 (en) Intelligent digital experience development platform (IDXDP)
US11562146B2 (en) Applied artificial intelligence technology for narrative generation based on a conditional outcome framework
US11107006B2 (en) Visualization, exploration and shaping conversation data for artificial intelligence-based automated interlocutor training
US10699079B1 (en) Applied artificial intelligence technology for narrative generation based on analysis communication goals
US20200175964A1 (en) System and Method for a Computer User Interface for Exploring Conversational Flow with Selectable Details
CN113935434A (en) Data analysis processing system and automatic modeling method
US20230237276A1 (en) System and Method for Incremental Estimation of Interlocutor Intents and Goals in Turn-Based Electronic Conversational Flow
US20230289698A1 (en) System and Methods for Monitoring Related Metrics
US20220294897A1 (en) Systems and methods to manage models for call data
JP7215183B2 (en) Accessible machine learning
US20210240702A1 (en) Systems and methods for data insight generation and display
US20220309391A1 (en) Interactive machine learning optimization
US20210356920A1 (en) Information processing apparatus, information processing method, and program
US10529002B2 (en) Classification of visitor intent and modification of website features based upon classified intent
WO2020221961A1 (en) Data-driven optimization
AU2020201689A1 (en) Cognitive forecasting
US20240354650A1 (en) Machine learning for real-time contextual analysis in consumer service
Makrandreou Customer Behavior Prediction
KR20230149041A (en) Method and electronic device for processing order information
KR20160024732A (en) Systems and methods for creating and evaluating experiments