IP Library Granted Patent US 12,056,800
Granted Patent B1
US 12,056,800 · App. 18/166,152 · Granted Aug 6, 2024

Drawing function identification in graphics applications

Inventors: Yahya Hasanain (Ottawa, CA); Adam Frank Nevraumont (Ottawa, CA)
Assignee: Corel Corporation
G06T11/203G06F18/214G06F40/169G06N3/08G06N20/00G06T11/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,056,800
App. No.
18/166,152
Granted
Aug 6, 2024
Kind
B1
Abstract

The subject matter of this specification can be implemented in, among other things, a method and a system to identify and apply drawing functions in graphics applications. The method includes receiving a comment having a suggested drawing change to an object in a document, where the comment includes natural language, and processing the comment to identify a drawing function associated with the suggested drawing change. The method further includes providing a drawing function for presentation to a user, receiving a user request to change a parameter associated with the drawing function, and changing the parameter of the drawing function to perform the suggested drawing change of the object in the document.

Claims (115)

1. A method of establishing a machine learning model where the trained machine learning model identifies a drawing function corresponding to one or more drawing changes contained within a natural language comment, the method comprising:

establishing a training set of data comprising a set of training inputs and training target outputs;

executing a training engine upon the training set of data to generate a plurality of trained machine learning models where each trained machine learning model of the plurality of trained machine learning models corresponds to a distinct set of features of the training set of data; and

determining with a validation engine an accuracy of each trained machine learning model of the plurality of trained machine learning models;

discarding each trained machine learning model of the plurality of trained machine learning models having an accuracy that does not meet a threshold accuracy to form a filtered subset of the plurality of trained machine learning models; and

determining with a testing engine an accuracy for each trained machine learning model of the filtered subset of the plurality of trained machine learning models in dependence upon executing the trained machine learning model in the filtered subset of the plurality of trained machine learning models against a set of test data; and

establishing the trained machine learning model of the filtered subset of the plurality of trained machine learning models with the highest accuracy as the machine learning model.

2. The method according to claim 1 , wherein

each training input of the set of training inputs comprises a comment comprising a suggested drawing change to a drawing object;

each target output of the set of training target outputs comprises a drawing function selected by a user to apply the suggested drawing change in the comment of a predetermined training input of the set of training inputs; and

the comment of a predetermined training input of the set of training inputs further comprises one or more drawing indicators that define an object to which the suggested drawing change should be made.

3. The method according to claim 1 , wherein

each training input of the set of training inputs comprises a comment comprising a suggested drawing change to a drawing object; and

each target output of the set of training target outputs comprises a drawing function selected by a user to apply the suggested drawing change in the comment of a predetermined training input of the set of training inputs.

4. The method according to claim 1 , wherein

the trained machine learning model is configured to receive a new comment comprising another suggested drawing change as input and to produce a new output based on the new input; and

the new output indicates a new drawing function corresponding to the suggested change of the new comment.

5. The method according to claim 4 , wherein

the new comment in addition to comprising the another suggested drawing change further comprises one or more drawing indicators to define an object in a document to which the another suggested drawing change should be made and a location of workspace associated with the document.

6. The method according to claim 4 , further comprising

rendering the new drawing function upon a graphical user interface (GUI) within which a document is rendered;

rendering a plurality of parameters of the new drawing function within the GUI to a user;

receiving a request from the user to change a parameter of the plurality of parameters of the new drawing function;

changing the parameter of the new drawing function in dependence upon the request from the user; and

performing the new drawing change upon an object in the document with a software based collaboration tool in execution upon a computing device; wherein

the software based collaboration tool dynamically incorporates the new drawing function and the object whilst performing the new drawing change such that functionality of a software based graphics tool is employed to generate a modified object within the document; and

the new comment in addition to comprising the another suggested drawing change further comprises one or more drawing indicators that define the object in the document to which the another suggested drawing change should be made.

7. The method according to claim 4 , further comprising

rendering the new drawing function upon a graphical user interface (GUI) within which a document is rendered;

rendering a plurality of parameters of the new drawing function within the GUI to a user;

receiving a request from the user to change a parameter of the plurality of parameters of the new drawing function;

changing the parameter of the new drawing function in dependence upon the request from the user; and

performing the new drawing change upon an object in the document with a software based collaboration tool in execution upon a computing device; wherein

the software based collaboration tool dynamically incorporates the new drawing function and the object whilst performing the new drawing change such that functionality of a software based graphics tool is employed to generate a modified object within the document; and

the new comment in addition to comprising the another suggested drawing change further comprises one or more drawing indicators that define the object in the document to which the another suggested drawing change should be made and a location of a workspace associated with the document from which the software based collaboration tool can retrieve the document.

8. The method according to claim 1 , wherein

the trained machine learning model is configured to receive a new comment comprising another suggested drawing change as input and to produce a new output based on the new input; and

the new output comprises:

one or more drawing functions associated with the suggested drawing change;

one or more parameters of the one or more drawing functions corresponding to the suggested change;

for each of the drawing function of the one or more drawing functions a level of confidence that the corresponding drawing function of the one or more drawing functions is associated with the suggested drawing change.

9. The method according to claim 1 , further comprising

providing to the trained machine learning model a new comment comprising another suggested drawing change as input and to produce a new output based on the new input; and

rendering to a user a set of drawing functions; wherein

the new output comprises:

the set of drawing functions associated with the suggested drawing change; and

for each of the drawing function of the set of drawing functions a level of confidence that the corresponding drawing function of the set of drawing functions is associated with the suggested drawing change; and

the set of drawing functions are listed in order of their level of confidence.

10. The method according to claim 1 , further comprising

providing to the trained machine learning model a new comment comprising another suggested drawing change as input and to produce a new output based on the new input; and

rendering to a user a set of drawing functions; wherein

the new output comprises:

a new drawing function associated with the suggested drawing change; and

a level of confidence that the new drawing function is associated with the suggested drawing change; and

the set of drawing functions is a ranked list comprising the new drawing function and one or more other drawing functions.

11. The method according to claim 1 , further comprising

receiving, upon a computing device, a comment from a user of the computing device comprising a suggested drawing change to an object within a document, wherein the comment comprises natural language;

processing, upon another computing device, the comment with the trained machine learning model to identify at least a drawing function associated with the suggested drawing change;

rendering, upon the computing device, a modified object within the document where the modified object is the object after the suggested drawing change has been performed upon the object within the document.

12. The method according to claim 11 , further comprising

receiving, by the computing device once the output from the trained machine learning model has been established, a request to change a parameter of the drawing function where the parameter corresponds to the suggested drawing change of the object in the document; wherein

rendering the modified object is generated using the drawing function and changed parameter of the drawing function.

13. The method of claim 1 , further comprising

receiving, upon a computing device, a comment from a user of the computing device comprising a suggested drawing change to an object within a document, wherein the comment comprises natural language;

processing, upon another computing device, the comment with the trained machine learning model;

obtaining, upon the computing device from the another computing device, one or more outputs of the machine learning model, each output of the one or more outputs indicating another drawing function associated with the suggested drawing change; and a level of confidence that the another drawing function is associated with the suggested drawing change;

determining, upon the computing device, whether the level of confidence for each another drawing function associated with each output of the one or more outputs of the trained machine learning model satisfies a threshold condition; and

upon determining that the level of confidence for a drawing function associated with an output of the one or more outputs of the trained machine learning model satisfies the threshold condition establishing that drawing function associated with an output of the one or more outputs of the trained machine learning model as part of the suggested drawing change.

14. The method of claim 1 , further comprising

receiving, upon a computing device, a comment from a user of the computing device comprising a suggested drawing change to an object within a document, wherein the comment comprises natural language;

processing, upon another computing device, the comment with the trained machine learning model;

obtaining, upon the computing device from the another computing device, one or more outputs of the machine learning model, each output of the one or more outputs indicating another drawing function associated with the suggested drawing change; and a level of confidence that the another drawing function is associated with the suggested drawing change;

determining, upon the computing device, which another drawing function associated of one or more outputs of the trained machine learning model has the highest level of confidence; and

establishing the another drawing function associated with an output of the one or more outputs of the trained machine learning model having the highest level of confidence as the suggested drawing change.

15. A system comprising:

one or more microprocessors; and

one or more non-transitory non-volatile memories storing computer executable instructions; wherein

a first portion of the computer executable instructions when executed by a subset of the one or more microprocessors cause the subset of the one or more microprocessors to execute a trained machine learning model; and

a second portion of the computer executable instructions when executed by another subset of the one or more microprocessors cause the another subset one or more microprocessors to execute a process comprising the steps of:

receiving a comment comprising a suggested drawing change to an object in a document, wherein the comment comprises natural language;

processing the comment to identify at least a drawing function associated with the suggested drawing change;

providing the at least drawing function for presentation on a graphical user interface, where the drawing function has a plurality of parameters;

receiving, by the computing device, a request to change a parameter of the plurality of parameters of the at least the drawing function, wherein the parameter corresponds to the suggested drawing change of the object in the document; and

changing, by the computing device, the parameter of the at least the drawing function to perform the suggested drawing change of the object in the document; wherein

processing the comment to identify a drawing function associated with the suggested drawing change comprises:

using the suggested drawing change as input to the trained machine learning model;

obtaining an output from the machine learning model, the output indicating:

another drawing function associated with the suggested drawing change; and

a level of confidence that the drawing function is associated with the suggested drawing change; and

determining whether the level of confidence for the another drawing function associated with the output satisfies a threshold condition.

16. The method according to claim 15 , wherein

the first portion of the computer executable instructions when executed by the subset of the one or more microprocessors cause the subset of the one or more microprocessors to generate the trained machine learning model by another process comprising:

establishing a training set of data comprising a set of data inputs and target outputs;

executing a training engine upon the training set of data to generate a plurality of trained machine learning models where each trained machine learning model of the plurality of trained machine learning models corresponds to a distinct set of features of the training set of data; and

determining with a validation engine an accuracy of each trained machine learning model of the plurality of trained machine learning models;

discarding trained machine learning model of the plurality of trained machine learning models having an accuracy that does not meet a threshold accuracy to form a filtered subset of the plurality of trained machine learning models; and

determining with a testing engine a trained machine learning model of the plurality of trained machine learning models having a highest accuracy in dependence upon executing each trained machine learning model in the filtered subset of the plurality of trained machine learning models against a testing set of data; and

establishing the trained machine learning model in the filtered subset of the plurality of trained machine learning models with the highest accuracy as the machine learning model.

17. A system comprising

one or more microprocessors; and

one or more non-transitory non-volatile memories storing computer executable instructions; wherein

the computer executable instructions when executed by the one or more microprocessors configure the one or more microprocessors to execute a process comprising the steps of:

retrieving training data for a machine learning model from one or more other memories accessible to the one or more microprocessors, wherein the training data comprises:

a first training input having a comment comprising a suggested drawing change to an object; and

a first target output for the first training input, wherein the first target output comprises a drawing function selected by a user to apply the suggested drawing change in the comment; and

providing to a machine learning model to train the machine learning model a training set of data comprising a set of training inputs comprising at least the first training input and a set of target outputs comprising at least the first target output, wherein

the trained machine learning model is configured receive a new comment comprising a suggested drawing change as input and to produce a new output based on the new input, the new output indicating a new drawing function corresponding to the suggested change of the new comment; and

training the machine learning model comprises:

executing a training engine upon the training set of data to generate a plurality of trained machine learning models where each trained machine learning model of the plurality of trained machine learning models corresponds to a distinct set of features of the training set of data; and

determining with a validation engine an accuracy of each trained machine learning model of the plurality of trained machine learning models;

discarding trained machine learning model of the plurality of trained machine learning models having an accuracy that does not meet a threshold accuracy to form a filtered subset of the plurality of trained machine learning models; and

determining with a testing engine a trained machine learning model of the plurality of trained machine learning models having a highest accuracy in dependence upon executing each trained machine learning model in the filtered subset of the plurality of trained machine learning models against a testing set of data; and

establishing the trained machine learning model in the filtered subset of the plurality of trained machine learning models with the highest accuracy as the machine learning model.

18. The system according to claim 17 , wherein

the comment in addition to comprising the suggested drawing change to the object in a document comprises one or more drawing indicators to define the object in the document and a location of workspace associated with the document.