A first characteristic associated with a first interface of an interface type and a second characteristic associated with a second interface of an additional interface type are determined. A machine learning algorithm is trained using the first characteristic, the second characteristic, and the interface type as a ground truth for the first characteristic. A template script usable to identify whether a given interface of the same interface provider is of the interface type or the additional interface type is generated. The parameter for the template script is determined based the machine learning algorithm. A device is caused to, as a result of the device executing the template script with the parameter to identify that the given interface is of the interface type, perform an operation specific to the interface type.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method, comprising: obtaining a plurality of interfaces of an interface provider, each of the plurality of interfaces associated with one of a plurality of interface categories; for each interface of the plurality of interfaces: extracting a set of characteristic values from an object model of the interface; and training a machine learning algorithm to determine interface categories using the set of characteristic values in conjunction with an interface category of the interface as a ground truth value; receiving, from a client device, a request for integration code corresponding to the interface provider; generating, based the machine learning algorithm, the integration code, wherein the integration code, upon execution by the client device, causes the client device to: evaluate characteristics of an interface of the interface provider; and determine which category from the plurality of interface categories corresponds to the interface; and causing, by providing the integration code to the client device, the client device to: determine the category of the interface of the interface provider; and interact with the interface in a manner that accords with the interface category.
2. The computer-implemented method of claim 1 , wherein training the machine learning algorithm further includes: determining a first set of vectors by, for each interface of the plurality of interfaces associated with a first interface category of the plurality of interface categories, generating a vector based the set of characteristic values of the interface; determining a second set of vectors by, for each interface of the plurality of interfaces associated with a second interface category of the plurality of interface categories, generating another vector based the set of characteristic values of the interface; determining a first centroid vector associated with the first set of vectors, the first centroid vector corresponding to the first interface category; and determining a second centroid vector associated with the second set of vectors, the second centroid vector corresponding to the second interface category.
3. The computer-implemented method of claim 2 , wherein the integration code further includes the first centroid vector and the second centroid vector.
4. The computer-implemented method of claim 3 , wherein the integration code that causes the client device to determine the category of the interface further causes the client device to: generate, from the characteristics of the interface, an additional vector; and determine which of either the first interface category or the second interface category corresponds to the category of the interface based which of either the first centroid vector or the second centroid vector is closer to the additional vector.
5. A system, comprising: one or more processors; memory that stores computer-executable instructions that, if executed, cause the one or more processors to: determine a first set of characteristics associated with a first interface of an interface type and a second set of characteristics associated with a second interface of an additional interface type, the first interface and the second interface both being provided by a same interface provider; train a machine learning algorithm using: the first set of characteristics; the second set of characteristics; and the interface type as a ground truth for the first set of characteristics; generate a template script usable to, upon execution of the template script with a set of parameters, identify whether a given interface of the same interface provider is of the interface type or the additional interface type; determine, based the machine learning algorithm, the set of parameters for the template script, the set of parameters being associated with the same interface provider; and cause, by providing the template script and the set of parameters in response to a request, a device to, as a result of the device executing the template script with the set of parameters to identify that the given interface is of the interface type, perform an operation specific to the interface type.
6. The system of claim 5 , wherein the template script is a JavaScript script.
7. The system of claim 5 , wherein the computer-executable instructions further cause the system to: store the set of parameters in an on-demand data store; and further in response to the request, obtaining the set of parameters from the on-demand data store.
8. The system of claim 5 , wherein the first set of characteristics includes a position of an image in the first interface.
9. The system of claim 5 , wherein the machine learning algorithm utilizes k-means clustering of the first set of characteristics and the second set of characteristics.
10. The system of claim 5 , wherein the operation includes one or more of: indicating on a screen of the device that additional operations associated with the interface type are available to a user of the device, prompting the user for confirmation to perform an action associated with the interface type, or storing a Uniform Resource Identifier of the given interface in persistent storage.
11. The system of claim 5 , wherein the computer-executable instructions that cause the system to provide the template script and the set of parameters further include instructions that further cause the system to: insert the set of parameters into portions of the template script to produce a modified template script; and provide the modified template script to the device.
12. The system of claim 5 , wherein: the computer-executable instructions that cause the system to train the machine learning algorithm further include instructions that further cause the system to: transform the first set of characteristics and the second set of characteristics into sets of vectors clustered according to their respective interface types; and determine, based the sets of vectors, a centroid for the interface type and an additional centroid for the additional interface type; and the set of parameters include the centroid and the additional centroid.
13. The system of claim 12 , wherein the computer-executable instructions that cause the cause the system to generate the template script further include instructions that further cause the system to: generate the template script to, upon the execution with the set of parameters: transform characteristics of the given interface into a vector; and identify that the vector is closer to the centroid associated with the interface type.
14. A non-transitory computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least: obtain a first interface of an interface provider and a second interface of the interface provider, the first interface being of a first type and the second interface being of a second type different from the first type; extract a first characteristic value from the first interface and a second characteristic value from the second interface; train a machine learning algorithm by causing the computer system to at least: provide the first characteristic value to the machine learning algorithm in conjunction with the first type as a ground truth value; and provide the second characteristic value to the machine learning algorithm in conjunction with the second type as the ground truth value; receive, from a computing device, a request for integration code corresponding to the interface provider; generate, based the machine learning algorithm, the integration code; and provide, in response to the request, the integration code to the computing device thereby causing the computing device to: determine a type of an additional interface of the interface provider; and perform an operation to the additional interface in accordance with the type.
15. The non-transitory computer-readable storage medium of claim 14 , wherein the executable instructions further include instructions that cause the computer system to, in response to receipt, from the computing device, of an indication that the type of the additional interface determined is incorrect, re-train the machine learning algorithm.
16. The non-transitory computer-readable storage medium of claim 14 , wherein the executable instructions further includes instructions that further cause the computer system to: extract a third characteristic value from a third interface of the interface provider that corresponds to the first type; and confirm, by providing the third characteristic value as input to the machine learning algorithm, that the machine learning algorithm indicates that the third interface corresponds to the first type.
17. The non-transitory computer-readable storage medium of claim 14 , wherein the first characteristic value includes a depth of a document object model tree of the first interface.
18. The non-transitory computer-readable storage medium of claim 14 , wherein the executable instructions further include instructions that further cause the computer system to: receive, from the computing device, an additional request for additional integration code corresponding to an additional interface provider; generate, based an additional machine learning algorithm trained based a set interfaces of the additional interface provider, the additional integration code; and provide the additional integration code to the computing device.
19. The non-transitory computer-readable storage medium of claim 14 , wherein the first characteristic value is a size of an image in the first interface.
20. The non-transitory computer-readable storage medium of claim 19 , wherein the size is based dimensions of a largest image by area in the additional interface.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 9, 2020
November 24, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.