Method and system for editing time estimates of digital documents

By receiving time estimation requests on user devices, analyzing digital document data using AI models, and combining this with a service provider capacity management system, the problem of finding suitable service providers under high-pressure conditions is solved, enabling real-time editing time estimation and efficient selection.

CN122397248APending Publication Date: 2026-07-14
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Filing Date
2024-11-08
Publication Date
2026-07-14

AI Technical Summary

Technical Problem

Finding a service provider capable of assisting with digital document editing within a given timeframe can be challenging, especially under pressure, leading to wasted time and inefficiency.

Method used

By receiving time estimation requests on user devices, the system uses a trained AI model to analyze the data and metadata of digital documents, determines the time required for editing, and outputs an estimated time. Combined with the service provider's capacity management system, it provides the earliest completion time and cost.

Benefits of technology

It enables real-time or near-real-time digital document editing time estimation, improving the efficiency and accuracy of service provider selection and reducing user wait time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122397248A_ABST
    Figure CN122397248A_ABST
Patent Text Reader

Abstract

Methods and systems for time estimation for editing digital documents are provided. The methods can include artificial intelligence (AI) assisted time estimation. The methods can include receiving a request to determine a time to edit a digital document. The request can include data and / or metadata derived from the digital document. The data and / or metadata derived from the digital document can include components within the digital document that are tagged for editing. The methods can input one or both of the data and / or metadata derived from the digital document into one or more trained models for determining a time estimate to edit the tagged components. The methods can output the time estimate in real-time as a user tags and un-tags components in the digital document. The time estimate can be determined on a computing device. The computing device can include one or more models for determining the time estimate.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-reference to related applications

[0001] This application claims priority to South African provisional patent application serial number 2023 / 10382, filed on November 8, 2023, which is incorporated herein by reference. Technical Field

[0002] This invention relates to methods and systems for time estimation of editing digital documents. Specifically, this invention relates to systems and methods for providing AI-assisted time estimation for editing digital documents. Background Technology

[0003] Since the advent of the digital / information age, the use of digital documents, such as digital presentations, digital manuals, and digital brochures, has become more widespread. These digital documents can be used for a variety of purposes, such as educating and teaching students, colleagues, and / or customers, to explain concepts or sales ideas, visions, or products. Therefore, digital documents have become a key aspect of daily business operations, and the ability to accurately convey information using digital documents has become crucial for business success and understanding.

[0004] One drawback associated with using digital documents is that, in addition to the necessary knowledge to create content that appeals to the intended audience, a significant amount of time and effort is required for preparation. For example, preparing a PowerPoint presentation... For presentations, people must familiarize themselves with the interface and tools before adding content. Even when people are familiar with the interface and tools, adding content and formatting / styling it is often a very time-consuming process.

[0005] To alleviate the burden of tasks associated with creating digital documents, these tasks can be outsourced to entities specializing in the production and editing of high-quality digital documents. Such entities typically possess extensive knowledge of all aspects related to digital documents and implement programs / software to generate high-quality digital documents within a relatively short timeframe. This significantly reduces the time and effort required for users to prepare their digital documents. However, at least one challenge associated with outsourcing tasks related to digital document creation is finding a service provider capable of assisting with these tasks and completing them within a given timeframe (in other words, preparing the digital document before the set deadline).

[0006] Finding a service provider to outsource tasks can be problematic, especially under pressure, as the search can be time-consuming. For example, if digital documents are needed on the same day or within hours of sending outsourcing instructions, the party outsourcing may waste valuable time sending inquiries to the service provider and waiting for them to review the instructions and provide a time estimate and associated quote. In some cases, the service provider may not be able to assist the client within the required timeframe, in which case the client may waste valuable time contacting the service provider only to receive an unwanted response. Then, it may be necessary to find another service provider, or the user may have to prepare the digital documents themselves.

[0007] Therefore, the applicant believes there is room for improvement.

[0008] The above discussion of the background of the invention is intended only to facilitate understanding of the invention. It should be understood that this discussion is not an endorsement or acknowledgment that any of the materials mentioned were part of common general knowledge in the art at the priority date of this application. Summary of the Invention

[0009] According to one aspect of the present invention, a computer-implemented method for time estimation of editing digital documents performed at a computing device is provided, the method comprising:

[0010] The time estimation request for estimating the time required to edit a digital document is received via an application running on the user device. The request includes data derived from the digital document and / or metadata associated with one or more components of the digital document.

[0011] The time estimation request is preprocessed by extracting data derived from the digital document and / or metadata associated with one or more components of the digital document from the time estimation request.

[0012] Using one or more trained models, based on one or both of the extracted data from the digital document and / or metadata associated with one or more components of the digital document as input, the estimated time required to edit the digital document is determined; and

[0013] Output the estimated time required to edit a digital document via the user interface.

[0014] Data derived from a digital document may be an anonymous version of the digital document or a portion thereof. Data derived from a document may include images associated with one or more components of the digital document, and editing may include image processing. Data derived from a document may include text associated with one or more components of the digital document, and editing may include text processing. Data derived from a document may include formatting associated with one or more components of the digital document, and editing may include formatting processing.

[0015] The method may include: anonymizing the extracted data and / or metadata derived from the digital document. Anonymizing the extracted data and / or metadata derived from the digital document may include: anonymizing the image of the digital document. Anonymizing the extracted data and / or metadata derived from the digital document may include: anonymizing the text of the digital document.

[0016] This method may include: anonymizing a digital document. Anonymizing a digital document may include: anonymizing text. Anonymizing text in a digital document may include: replacing characters in the text with other characters of equal height and width, such that the layout of the text and characters remains unaffected. Anonymizing a digital document may include: anonymizing an image. Anonymizing an image in a digital document may include: modifying the image by blurring it, covering it with a black image, or replacing it with a randomized image from a set of random images of equal height and width. Anonymizing a digital document may include: replacing text and numbers in a table with characters of equal but different sizes.

[0017] Data and metadata derived from digital documents may include any one or more of the following: image-related data, text-related data, formatting-related data, user-related data, and tagging-related data.

[0018] Data and metadata derived from digital documents may include: slide / page number, total number of slides / pages in the digital document, total shape, total characters, total vocabulary, total text boxes, total images, image vectors, total graphics, total tables, template name, content language, tagged components, user-associated account, and username.

[0019] Determining the estimated time required to edit a digital document may include: determining the estimated time required to edit each of one or more components of the digital document. Determining the estimated time required to edit a digital document may also include: adding the determined time estimates to a total estimated time value. The total estimated time value may be the total estimated time used to edit the digital document, or it may be the sum of the estimated times required to edit each of one or more components of the digital document.

[0020] Data and / or metadata derived from a digital document can be associated with one or more tagged components within the digital document. A time estimation request can be received in response to one or more components of the digital document being tagged.

[0021] It can receive new time estimate requests in response to components of a digital document being tagged or untagged. It can also update the estimated time required to edit a digital document in response to components being tagged or untagged.

[0022] Time estimates can be real-time or near real-time.

[0023] One or more trained models may include any one or more of the following groups: artificial intelligence (AI) models, machine learning (ML) models, deep learning (DL) models, transformer-based neural networks, or configurations of neural networks for embedding, encoding, and decoding tasks.

[0024] Using one or more trained models to determine the estimated time required to edit a digital document may include performing any one or more of the following: image processing and analysis, regression analysis, data transformation to output raw time estimates; and hyperparameter tuning to reduce potential errors in the raw time estimates to provide a reliable time estimate required to edit the digital document.

[0025] This method may include: determining and outputting the earliest completion time at which one or more service providers can complete editing of a digital document, along with the associated costs. Determining the earliest completion time may include: invoking the capacity management systems of one or more service providers to calculate the earliest completion time for each of the service providers. Invoking the capacity management systems of one or more service providers may include: sending a service request message that includes an estimated time required to edit the digital document. The service request message may include a preferred time that the user of the digital document can request for the digital document to be edited. The step of determining and outputting the earliest completion time at which one or more service providers can complete editing of the digital document, along with the associated costs, may be performed in response to the receipt of a service request message.

[0026] Outputting the earliest completion time that one or more service providers can complete the editing of a digital document may include: in response to determining the earliest completion time that one or more service providers can complete the editing of the digital document, compiling a service proposal message for each of the one or more service providers, and causing the service proposal message to be displayed to a user via a user interface. The service proposal message may include service provider data and the earliest completion time associated with the relevant service provider. Service provider data may include any one or more of the following: service provider identifier, service rating associated with the service provider; timeliness rating associated with the service provider, and other customer-specific performance metrics.

[0027] The method may include storing the extracted data and / or metadata from the digital document in a record in a database accessible by a computing device. The method may also include receiving a digital document and storing it in a record in the database. Receiving the digital document may include receiving a copy of the digital document or being provided with access to a database storing a copy of the digital document.

[0028] Receiving and storing digital documents may include: receiving an anonymized version of a digital document. Receiving and storing digital documents may also include: receiving the original or a copy of the original digital document, anonymizing the digital document, and storing an anonymized version of the digital document.

[0029] The method may include: receiving a service proposal approval message including a service provider identifier. The method may include: processing the service proposal approval message. The method may include: in response to receiving and processing the approval message, granting the service provider associated with the service provider identifier access to a record in a database.

[0030] According to another aspect of the present invention, a system for time estimation of editing digital documents is provided, the system comprising:

[0031] The processor and memory, the memory being configured to provide the processor with computer program instructions to perform the functions of the components;

[0032] A time estimation receiving component is configured to receive a time estimation request for estimating the time required to edit a digital document via an application running on a user device. The request includes data derived from the digital document and / or metadata associated with one or more components of the digital document.

[0033] A time estimation processing unit is configured to preprocess the time estimation request by extracting data derived from the digital document and / or metadata associated with one or more components of the digital document from the time estimation request.

[0034] A machine learning component configured to use one or more trained models, based on one or both of extracted data from the digital document and / or metadata associated with one or more components of the digital document as input, to determine the estimated time required to edit the digital document; and,

[0035] The results output component is configured to output the estimated time required to edit a digital document via a user interface.

[0036] The system may include an anonymization component configured to anonymize digital documents.

[0037] The system may include an earliest completion time determination and output component, which is configured to determine and output the earliest completion time at which one or more service providers can complete the editing of a digital document, along with the associated cost.

[0038] The system may include a service proposal message compilation component configured to compile service proposal messages for each of one or more service providers and to display the service proposal messages to a user via a user interface.

[0039] According to another aspect of the present invention, a computer program product for estimating the time of editing a digital document is provided, the computer program product comprising a computer-readable medium having stored computer-readable program code for performing the following steps:

[0040] The time estimation request for estimating the time required to edit a digital document is received via an application running on the user device. The request includes data derived from the digital document and / or metadata associated with one or more components of the digital document.

[0041] The time estimation request is preprocessed by extracting data derived from the digital document and / or metadata associated with one or more components of the digital document from the time estimation request.

[0042] Using one or more trained models, based on one or both of the extracted data from the digital document and / or metadata associated with one or more components of the digital document as input, the estimated time required to edit the digital document is determined; and

[0043] Output the estimated time required to edit a digital document via the user interface.

[0044] Other features make the computer-readable medium non-transitory and enable computer-readable program code to be executed by processing circuitry.

[0045] Embodiments of the invention will now be described by way of example only with reference to the accompanying drawings. Attached Figure Description

[0046] In the attached diagram:

[0047] Figure 1 This is a schematic diagram illustrating an exemplary implementation of a system for providing time estimates for editing digital documents, according to various aspects of this disclosure;

[0048] Figure 2A This is an example implementation of a method for estimating the time required to edit a digital document based on a user's request;

[0049] Figures 2B to 2J This is a wireframe of an example implementation of a plug-in tool for requesting time estimation of edited digital documents, based on various aspects of this disclosure;

[0050] Figure 3 This is a swimlane flowchart illustrating an example implementation of a method for providing time estimation for editing digital documents;

[0051] Figure 4 This is a flowchart of an example model training process used to determine the estimated time required for editing the labeled components of a digital document;

[0052] Figure 5A This is a flowchart of an example implementation of a method for reviewing edited digital documents from a user's perspective;

[0053] Figures 5B to 5G This is an example implementation of a wireframe of a plug-in tool for reviewing edited digital documents, based on various aspects of this disclosure;

[0054] Figure 6 This is a swimlane flowchart illustrating an example implementation of a method for reviewing edited digital documents and obtaining time estimates for reworking the edited digital documents;

[0055] Figure 7 This is a high-level block diagram illustrating exemplary computing devices according to various aspects of this disclosure; and

[0056] Figure 8 Examples of computing devices in which various aspects of the present disclosure can be implemented are shown. Detailed Implementation

[0057] This disclosure relates to methods and systems for time estimation of edited digital documents. The disclosed methods and systems may find specific applications in the field of professional digital document production, and are described below. As used herein, the term "editing" in digital document production should be interpreted as including the creation or reworking of components of a digital document. The methods and systems may include providing artificial intelligence (AI)-assisted time estimation for editing digital documents. The digital document may be a PowerPoint presentation. Presentations, Word Documents, etc.

[0058] Users can tag components of a digital document they wish to edit, aided by a client-side plugin toolbar. Components of a digital document can include any text, images, attributes, etc., of pages and / or slides that the user wishes to edit. For each component tagged by the user, a time estimation request is sent to a computing device, such as a time estimation server. The time estimation request may include one or both of the following: data derived from the digital document (hereinafter referred to as "derived data") and / or metadata associated with one or more components of the digital document. The derived data and metadata may include data that may have been tagged. Tagging a component may include: the user marking or selecting components for editing.

[0059] A computing device or server may preprocess a time estimation request to extract derived data and metadata associated with tagged components of a digital document. The derived data and metadata may include any one or more of the following: image-related data, text-related data, formatting-related data, user-related data, and tagging-related data. In the example, the data derived from the document may be images and / or text associated with one or more components of the digital document. Image-related data may include any one or more of the following: slides, slide numbers, slide images, image vectors, blurred images, blacked-out images, etc. Text-related data may include any one or more of the following: pages, page numbers, text, text sections, content language, etc. Formatting-related data may include any one or more of the following: the total number of slides / pages in the digital document, total shapes, total characters, total vocabulary, total text boxes, total images, template names, etc. User-related data may include any one or more of the following: the account or user name associated with the user. Tagging-related data may include any one or more of the following: the tags of the tagged components, the type of the tagged components, etc.

[0060] The computing device can be configured to feed the extracted derived data and metadata into a trained model to estimate the time required to edit a digital document. Historical data (discussed in more detail below) can be used to train the model to determine the estimated time required for the service provider to edit and / or create a digital document as desired by the user and indicated in the time estimation request. The trained model can include any one or more of the following: an AI model, a machine learning (ML) model, or a deep learning (DL) model.

[0061] Once the estimated time for editing the digital document is determined, the computing device can return the result to the user device for display. For example, the estimated time required to edit the digital document can be displayed to the user via a user interface in the client-side plugin toolbar. It should be understood that the above steps can be automatically repeated each time the user tags a component of the digital document. However, in some implementations, once the user has tagged all the components that need to be processed, the above steps can be performed in response to the user manually selecting an option to determine the estimated time for editing the digital document.

[0062] If the user is satisfied that all necessary components have been tagged and approves the time estimate, the user can request a quote (or service offer) for editing the document via the user interface. To do this, a service request message can be sent to the computing device. The service request message may include at least a time estimate and a required completion time, which is the time the user requests the digital document to be edited to be completed before it is available. For example, in some use cases, the user may only need the document within the next three days, while in other cases, the user may need the document as quickly as possible. In response to receiving a service request message, the computing device can generate service call messages and send them via a service provider application programming interface (API) to one or more service providers connected to the computing device. The service call message may include a time estimate for editing the digital document and the relevant required completion time included in the service request message. The API may invoke all service providers with which it has network communication to receive the earliest time from which each of the one or more service providers will be able to return the edited digital document. Invoking service providers may include: the computing device accessing one or more shared databases via the API, which include job capacity and cost information associated with each service provider and can be used to determine the total cost of editing the digital document and the earliest completion time of each service provider. In some examples, invoking a service provider may include manually requesting input from one or more service providers to indicate their earliest completion time and estimated cost. For example, a service provider may receive a prompt to provide the cost for editing a digital document and also provide the earliest completion time based on the received service call message. Once feedback has been received from all service providers, or a set time has elapsed since the prompt was made to the service provider, the server can receive and process the feedback from the service providers via an API and display the processed feedback to the user via a user interface. Feedback may be provided in the form of a service offer message that includes the earliest completion time associated with the provider and the relevant service providers, as well as service provider data. Service provider data may include any one or more of the following: service provider identifier, service rating associated with the service provider; timeliness rating associated with the service provider, and any other customer-specific performance metrics. Service provider data may be used to categorize and / or sort service providers. The user can then select the relevant service providers they wish to use, after which the relevant service providers are informed, and the digital document, along with any additional support information, can be sent to the service provider, or in some examples, the digital document and support information can be uploaded to a database accessible to the service provider.

[0063] Because the API is not strictly required, service providers can be invoked, interacted with, and information obtained from them manually. The examples provided in this document are most practically implemented using an API and are not intended to limit this disclosure to a single means of interaction between a computing device and a service provider.

[0064] Once the service provider has edited the digital document according to the user's request, the service provider can return the edited digital document to the user via a computing device. In some implementations, the service provider can return the edited digital document directly to the user.

[0065] Once a user receives the edited digital document from the service provider, they can review it and provide feedback on its quality via a plugin toolbar. This, along with initial instructions, includes re-tagging or marking components of the digital document to indicate which components require further rework or editing. In some examples, one or more review tag categories can be used to mark the document. For instance, there might be an "End Review" tag indicating the review is complete, a "Rework" tag indicating specific components need to be redone, a "Self-Edit" tag indicating the user will edit components, and an "Approval" tag indicating the edited components have been approved. Approval tags can include several levels of user approval, such as "Good" or "Excellent." Tags can be editable to include unique comments or instructions. Each tag placed in the digital document can have a unique identifier, allowing extraction of which digital document, page, or slide a particular tag belongs to.

[0066] Once all components have been tagged and the review is complete, a review instruction can be sent from the user side to the computing device, and the number of tags for each category can be determined. If the review instruction does not include rework tags, the computing device can display a summary page via the user interface instructing the user to review the summary, and the user can accept the process as complete. Alternatively, the user can reject the summary and restart the feedback process.

[0067] If the review instruction contains any label in the "rework" category, similar to the process discussed above regarding estimating the time required to edit a digital document, the computing device can extract metadata from the review instruction and feed the metadata into a trained model for estimating the time required for the components of the digital document to be reworked. The model can be the same trained model discussed above. Once the time estimate for the reworked digital document has been determined, a summary of the user's feedback and the earliest time and date the service provider will be able to return the reworked digital document can be displayed to the user based on the rework time estimate. As discussed above, this can include: the computing device making an API call to the relevant service provider with whom it has network communication to receive the earliest time the service provider will be able to rework and return the reworked digital document. The user can then accept or cancel the offer from the service provider. If accepted, the digital document can be made available to the computing device (e.g., by uploading the digital document to an instruction database or by sending the computing device an access link for downloading the digital document) and stored in a database accessible (directly or indirectly) to the service provider. When the service provider has received the rework instruction, the user can be notified, and the completion deadline can be confirmed with the user.

[0068] Figure 1 This is a schematic diagram illustrating an example system (100) for determining time estimates for creating and / or editing digital documents. The system (100) may include a computing device (102) and one or more service providers (104) communicating digitally with the computing device. The service providers may be third-party service providers specializing in creating and / or editing digital documents for clients. Digital documents may include any presentation, slides, manuals, graphics, etc. In some implementations, the functionality of one or more service providers may be built into or integrated with the computing device (without requiring a third-party service provider). The system (100) may also include a user device (106) associated with a client who typically needs the digital document edited before a predetermined deadline. It should be noted that even though only one service provider and user device are shown, multiple service providers and user devices may exist in actual implementations.

[0069] The computing device (102) can be any suitable computing device or computing server. The computing device (102) can be configured to interface with one or more service providers (104). For example, the computing device can be configured to interface with the capacity management system (105) of one or more service providers via an application programming interface (API). The service provider (104) may include a provider API (103) through which communication with the service provider is achieved. Both the computing device and the user device can communicate with the service provider via the provider API (103). Interface with the capacity management system of one or more service providers allows the computing device to access data records, such as capacity-related data, stored at least in the management system of one or more service providers. As mentioned above, the management system of one or more service providers may, for example, contain data related to the service provider's ability to assist user requests / instructions and cost structure data.

[0070] The computing device (102) can also communicate with the user device (106) and the service provider (104) via a suitable communication network (108) (such as the Internet or any other suitable communication network), through which it can send data and / or messages to and receive data and / or messages from the respective user devices and service providers. For example, the computing device (102) can be configured to receive a request message from the user device (106) for an estimated time for editing a digital document, and to send a notification to the user device related to the estimated time for editing the digital document. The computing device (102) and the user device (106) may include processors capable of processing data, memory units capable of storing data, and communication components capable of sending data to other devices and locations, as discussed in more detail below. For example, the computing device (102) may be a server computer, which may be in the form of a cluster of server computers, a distributed server computer, a cloud-based server computer, etc. The physical location of the server computer may be unknown and independent of the user of the system and method described herein. The user device (106) may be any suitable computing device, such as a mobile phone, a laptop computer, a tablet computer, etc.

[0071] The computing device (102) may include a processor (110) for performing the functions of the components described below, which may be provided by hardware or by software units executing on the computing device (102). The software units may be stored in a memory unit (112) and may provide instructions to the processor (110) to perform the functions of the described components. In some cases, such as in cloud computing implementations, software units arranged to manage and / or process data on behalf of the computing device may be provided remotely or in a distributed manner.

[0072] The computing device (102) can access or maintain one or more training databases (114), in which training data can be stored and accessed (116). The training data (116) may include data obtained from one or more sources. For example, the data may be obtained from public sources, internal databases, or third parties (e.g., with which an agreement has been established for sharing and obtaining data). The obtained data may include data such as document editing time, as well as text, graphics, images, metadata, etc., associated with previously edited digital documents. For example, the training data may include data from historical digital documents that have been edited based on specific user instructions. The training data (116) may be used to train one or more time estimation models, which may be used by the computing device (102) to process data associated with digital documents to determine the estimated time required to edit the digital documents. In other words, in order for the computing device (102) to process data associated with the digital documents to be edited and determine time estimates indicating the amount of time required to edit the digital documents, the training data (116) may be used as input to the training process to train one or more models. Training models can include performing / applying various data preprocessing techniques (such as logarithmic transformation), natural language processing algorithms, machine learning algorithms, neural networks (image processing), regression algorithms, deep learning algorithms, and / or other artificial intelligence algorithms to obtain a model with raw time estimates as output. These models can be fine-tuned using techniques such as hyperparameter tuning.

[0073] It should be noted that the training data (116) can be continuously re-evaluated and / or recalibrated to achieve greater consistency and accuracy in its output. This may include, for example, updating the training data (116) in response to the availability of new data and / or determining the estimated time for editing digital documents.

[0074] As discussed above, the computing device (102) can be configured to execute one or more algorithms on a set of data, including a training dataset (116) stored in a training database (114), to output a model. One or more models can be configured for AI-assisted evaluation and processing of digital documents. Therefore, the computing device (102) may include or have access to a model component (117), which may include a model repository (118) in which one or more models can be stored and accessed for determining the estimated time for editing digital documents.

[0075] Each of the user devices (106) may include a processor for performing the functions of an application, which may be provided by hardware or by software units executing on the respective user device (106). The software units may be stored in memory components, and instructions may be provided to the processor to cooperate with the device's operating system to perform the functions of the described components. In some cases, such as in cloud computing implementations, software units arranged to manage and / or process data on behalf of a mobile electronic device may be provided remotely. Some or all of the components may be provided by software applications (120) that can be downloaded to and executed on the respective user device.

[0076] Each user device (106) may include a user interface (122) and a display (124) for displaying and interacting with the relevant software application (120). The user interface (122) may be configured to allow the user to interact with a digital document and tag / mark components of the digital document that the user wants to edit. Components of the digital document may include any text, images, attributes, etc., of pages and / or slides of the digital document that the user wishes to edit. The user interface (122) may also be configured to display feedback (such as estimated time for editing the digital document and associated cost estimates) from the computing device and / or one or more service providers via the display (124) of the user device (106) in response to one or more components of the digital document being tagged. In some embodiments, the user interface (122) may also be configured to allow the user to provide feedback on the edited digital document, as described in more detail below. This may include, for example, the user tagging / marking errors on the edited digital document via the user interface to request additional editing.

[0077] User input as tagged / marked digital documents, along with any information related to the digital documents (such as a time estimate for determining the editing time of the document), can be temporarily stored, at least by the computing device (102), in an instruction database (126). The instruction database (126) can store information that can be accessed for further processing and communication with one or more service providers (104). The instruction database (126) can be maintained by the computing device (102), and access to the instruction database (126) can also be controlled by the computing device (102). The database (126) can, for example, be configured to store digital documents uploaded by users (in their pre-edited form) for editing by one of the service providers (104). The stored digital documents may include data associated with specific user instructions, such as user tags and additional comments, which the service provider may need to execute the user's editing instructions. The computing device can also store digital documents in an anonymized form for use as input to a trained model. For example, the computing device (102) may provide access to a database (or at least relevant user records in the database) to a service provider selected by the user for editing digital documents (discussed in more detail below).

[0078] The computing device (102) may include a server API (107) through which the computing device can interface with one or more user devices (106), and conversely, one or more user devices (106) can interface with the computing device through the server API (107). In other words, all requests and responses associated with user input will occur through the server API.

[0079] For example, in one implementation, a user may request to edit a digital document via the interface (122) of the application (120), as described above. The server API may receive the request and invoke the relevant model from the model repository (118) to process the user input (which may include derived data and / or metadata associated with the anonymized, tagged / marked digital document). The server API may then return the result (typically an estimated time to edit the digital document) to the application (120), where it is displayed to the user via a display (124). This process will be described in more detail below.

[0080] The user interface can be a client-side plug-in toolbar provided and maintained by the computing device (123).

[0081] In some implementations, each of the user devices (106) may communicate with a storage component. The storage component may be an onboard storage component, or it may be a remote storage component, such as a cloud storage network, or a database (such as an instruction database (126)) maintained at the computing device.

[0082] In some implementations, each of the user devices (106) may be configured to communicate with one or more service providers (104) via a suitable communication network (108). In this way, a user can directly submit files and / or information associated with a digital document to the relevant service provider (104) via the relevant user device (106), as will be discussed in more detail below.

[0083] Figure 2A This is an example flowchart of a method (200) for requesting editing of a digital document from the perspective of a user on a user device (106). The method (200) may begin with the user opening (202) a digital document that the user wishes to edit via the user device (106). As discussed above, the digital document may be a digital presentation, a digital manual, a digital brochure, etc. Once the document has been opened (202), the user can tag (204) components of the digital document for editing. The tagging of digital document components can be done via a client-side plugin toolbar of an application (120) running on the user device (106). Tagging digital document components (204) may include the user marking and / or selecting components of the digital document to indicate which components the user wishes to edit. In a practical implementation, multiple tag categories may exist.

[0084] Figure 2B An example implementation of the plug-in toolbar is shown in the image. From Figure 2B As shown in box A, there are various categories of labels. Example label categories might include: “Beautify,” “Clean Up / Align,” “Make Consistent,” “Convert to New Master,” “Edit Slides (Low Workload),” “Edit Slides (High Workload),” “Recreate Images,” and just a few examples. Each of these categories can be associated with a specific editing task to be performed. For instance, “Beautify” might ask the service provider to improve the overall appearance of the tagged components of the document, while “Make Consistent” might simply ask the service provider to change the font and / or color of the tagged components (such as text) of the document.

[0085] Another example implementation of the plug-in toolbar could be in the form of a ribbon, such as... Figure 2C As shown. Figure 2C The plugin toolbar can be directly embedded into the application (120). For example, from... Figure 2CAs you can see, boxes A, B, and C correspond to the dropdown options "Adjust the visual effects of an existing slide," "Change existing content," and "Create new content," respectively. Each dropdown option can include several label categories. Figure 2C The "Adjust the visual effects of existing slides" dropdown menu in box A is... Figure 2D It is shown in more detail below. Figure 2D The tag categories can include "Clean up / align slides", "Format slides", "Beautify slides", "Make slides consistent with other slides", and "Convert to new master". Figure 2C The "Change existing content" dropdown in box B Figure 2E It is shown in more detail below. Figure 2E The tag categories can include "Reorganize Slides", "Edit Slides", and "Flip Slides". Figure 2C The "Create new content" dropdown in box C Figure 2F It is shown in more detail below. Figure 2F The tag categories may include “Recreate Slideshow,” “Recreate Image,” “Recreate Graphic,” “Recreate Map,” and “Recreate Icon.” These categories are examples of tag categories and are not intended to limit the scope of this disclosure.

[0086] Figure 2G An example implementation of the user interface is shown. To label components of a digital document, the user can select a label category and then select the component to be edited. In response to the user labeling (204) components of the digital document for editing, the user device can add visual label indicators (220), such as visual label stickers, near the relevant components or at a predetermined location on the document's page / slideshow via the user interface. Figure 2G The user-used application (as a document editor) interface and plugin toolbar (224) are shown. Once the user tags the components used for editing, visual label indicators (220) can be added to the current page / slide of the document. To simplify the user's process, the user can simultaneously tag components on multiple pages / slides with the same label category (in other words, components on different pages / slides that require the same editing). Figure 2G This shows that users can sort slides by PowerPoint. The implementation of thumbnails (222) on one side of the presentation. Users can select a label category and then simply select the slides to which they wish to apply the labels. This allows for labeling the entire slide, making it available for editing.

[0087] After one or more parts of a digital document have been tagged, the user can receive (206) an estimated time required to edit the document. The time estimate can be updated in real-time or near real-time for each component of the digital document being tagged (204). Alternatively, in some implementations, the time estimate can be manually updated in response to the user selecting an option to update the time estimate. The time estimate received by the user may be an estimate of the time required to edit a component of the digital document on a specific page / slide, or in some implementations, the received time estimate may be an estimate of the total time required to edit all tagged components of the digital document. In some implementations, the user may receive multiple time estimates, one of which is an estimate of the time required to edit a single page / slide, and another is an estimate of the time required to edit the entire document based on the tagged components. Figure 2G Box A shows the estimated time to edit the "selected" slide, the "total" time to edit all slides, and the total number of slides to be edited.

[0088] Once all components are tagged, the user can request (207) and receive (208) service offers from one or more service providers via the computing device. For example... Figure 2G As shown in box C, users can request a quote by selecting the "Give Me a Quote" button from the toolbar. In some implementations, users may be given options to select or indicate a preferred date when the document may need editing. For example, a user may want the document ready as soon as possible, or to avoid unexpected expenses and potentially obtain a better, cheaper offer, the user may manually specify the date the document should be ready, such as... Figure 2G As shown in box B. Figure 2H The document illustrates an implementation method for selecting the time and date when a document should be prepared.

[0089] Once the user completes the above steps, they can receive a proposal. The received service proposal may include, for example, a list of all available service providers and, for each service provider, a list of: i) the cost of editing the digital document (or a message that a quote needs to be obtained manually); ii) the earliest available time to complete the document; iii) a quality rating; and iv) timeliness (OTD) data (showing how often the service provider meets the requested deadline), to name a few. Figure 21 shows an example implementation of a service proposal received by a service provider (230). The user can select / pick (210) a provider and accept / approve (211) one of the service proposals by, for example, selecting the “Confirm” button (Figure 21, 234). For example, the selected provider (230) can be highlighted so that the user knows which provider has been selected at any given time. If the user is a frequent customer of a particular service provider, the user can add a specific customer reference code (231). The user can provide additional comments (232) related to the expected changes to the digital document. Finally, the user can attach (233) a specific document for editing. The user can provide (212) additional files and / or comments, and once the additional files and / or comments have been provided, the user can finalize (214) and send a final service request message to the service provider via the computing device. Any additional files / documents can be provided by the user, who uploads the file / document and includes it in the service request message. Alternatively, the user can simply include a pointer to the location where the computing device can download the file / document. If all documents have been successfully delivered to the service provider, either directly or via the computing device (whichever is true), the user can receive a notification indicating successful delivery via the user device, such as Figure 2J As shown.

[0090] Figures 2A to 2J This provides a broad overview of the methodological steps from the system's user perspective. Now, refer to... Figure 3 The above steps will be described in more detail. Figure 3 This is a swimlane flowchart illustrating an exemplary method for providing a time estimate for editing a digital document and requesting editing of a digital document. The time estimate may be an AI-assisted time estimate. The corresponding swimlane depicts the steps, operations, or procedures performed by the corresponding entity or device. Any references to the user and user device (106) may be used interchangeably unless the context of using these terms specifies otherwise.

[0091] A user may have a digital document that they wish to edit open on a user device (106). The user may begin the process by tagging the components of the digital document to be edited via the user device (106). As described above, the components of the digital document may be tagged via a client-side plugin toolbar of an application (120) running on the user device (106). Tagging the components to be edited may include: selecting the relevant tag category from the toolbar, and then selecting the relevant component to be edited. It should be understood that if an entire slide / page is selected / tagged, all components of that slide / page are also tagged. Once the components of the digital document have been tagged, the user device (106) may receive them as user input (302) and generate a time estimation request to estimate the time required to edit the digital document and send the time estimation request (304) to the computing device (102). The time estimation request may include data including derived data of one or more components of the digital document that may have been tagged and metadata associated with one or more components of the tagged digital document, or both. For example, the derived data could be screenshots of relevant slides or pages, including visual label indicators. Metadata could include information about one or more of the following attributes of a digital document: page / slide number; total number of pages / slides; document type; total shape; total characters; total vocabulary, total text boxes; total images; image vectors; total graphics; total tables; template name; document language; document tags; user account details; and / or username. It should be understood that these are only some of the document's attributes, and other attributes such as document size may also be included in the time estimation request.

[0092] The computing device (102) may receive (306) a time estimation request and preprocess (308) the time estimation request. Preprocessing (308) the time estimation request may include: the computing device extracting (310) derived data and metadata associated with one or more components of a digital document from the time estimation request. Preprocessing the derived data and metadata may include: anonymizing the data. It should be understood that the computing device (102) may at least temporarily store the derived data and metadata associated with the time estimation request. The derived data and metadata may, for example, be stored in an instruction database (126).

[0093] Anonymization of derived data and metadata can include replacing any sensitive or confidential information within a digital document. Anonymization of derived data can include text anonymization and / or image anonymization. Text anonymization can include replacing characters in the text with other characters of equal height and width, so that the layout of the text and characters remains unaffected. Text anonymization can include replacing tables containing text or characters (e.g., inserted into PowerPoint) with text and characters of equal size and width. Text and characters within tables (slides in a presentation). Image anonymization can include: blurring images within a digital document. Image anonymization can include: overlaying any image with a black image. Image anonymization can include: replacing images in a digital document with random images selected from a random set of images of equal height and width. Anonymization can preserve the aspect ratio of all characters, words, paragraphs, images, tables, and / or graphics, removing specific details, but the "look" of the digital document can be similar enough to train and use the model.

[0094] Once the time estimation request has been preprocessed (308), the computing device (102) can call (312) the trained model from the model repository (118) stored on the computing device, as referenced above. Figure 1 The computing device may use the model invoked by (314) to determine the estimated time required to edit the digital document. One or both of the extracted derived data and metadata may be used as input to the model. In some embodiments, the extracted derived data and metadata may be used to further train the model. The various aspects of the model will be described in more detail below. The machine learning model may be configured to process the data used as input in order to output an estimated time in any predefined format indicating the reasonable time required to edit the digital document. The time estimate may be provided, for example, in seconds, minutes, hours, etc. It should be understood that the output time estimate may include one or more time estimates, as discussed in more detail below.

[0095] The computing device (102) may at least temporarily store (316) the determined time estimate, preferably together with the derived data and metadata. The computing device (102) may then output (318) the time estimate. The output (318) time estimate may include the computing device (102) outputting and transmitting a notification to the user device (106) including the time estimate associated with the digital document.

[0096] The user device can receive (320) output notifications and display (322) time estimates to the user through the interface of the plug-in tool.

[0097] It should be noted that the above steps can be repeated each time a user tags and / or untags components of a digital document. In this way, time estimates can be updated in real-time or near real-time. For example, a user can review the selected tags and, based on the time estimate, decide to untag (deselect) previously tagged components to lower the time estimate. However, if the user notices that the time estimate is lower than expected, tagging more components of the digital document can increase the time estimate.

[0098] As discussed above, this method can be used to determine and output one or more time estimates, and display these estimates to the user (e.g., ...). Figure 2B frame D and Figure 2G As shown in box A). In the current example implementation, two time estimates are displayed to the user ( Figure 2B frame D and Figure 2G (See box A). When a user tags (or untags) components of a digital document, these two estimates can be updated in real time (or near real time). The first time estimate can be referred to as the active slide estimate, which is associated with the specific page / slide that the user is currently selecting or viewing. The second time estimate can be referred to as the total estimate, and it is equal to the sum of the time estimates associated with all the different pages / slides of the digital document. For example, suppose a user has finished tagging components on the first slide (slide A) of the digital document, and a 32-minute time estimate for editing the document has been provided to the user. If the user now moves to the second slide (slide B) and begins tagging components on that slide, the two time estimates displayed to the user will be updated accordingly. In this case, the active slide estimate will be lower than the second time estimate (the total estimate), and equal to the estimated time for editing the tagged components on slide B. The total estimate will be updated to the sum of the active estimate (the estimated time for editing components on slide B) and the estimated 32-minute time for editing components on slide A. Therefore, it is important that the computing device (102) at least temporarily stores the time estimates associated with the editing of each slide, so that the total time estimate can be determined. However, it should be understood that only one time estimate needs to be shown. For example, in some implementations, only one estimate of the total estimated time for editing all tagged components of a digital document may be shown. The number of time estimates shown to the user can be considered a design choice and should not be limited to any particular number. For example, the time estimate for each slide may be shown or summarized for the user's review, and the total estimate may be determined based on that summary.

[0099] Therefore, when referring to "time estimate," this can include a total time estimate for editing a document and / or a time estimate for editing pages / slides of a digital document. In the event of any confusion in this regard, unless the context clearly specifies otherwise, the term "time estimate" can be assumed to refer to a total time estimate for editing a digital document.

[0100] It should also be understood that in some implementations, the time estimate can be determined solely in response to user input. For example, in the steps discussed above, the time estimate is automatically determined in response to the user tagging or untagging components of a digital document. In some implementations, the user may need to actively provide instructions by performing an action such as clicking a "Calculate" button before a time estimate can be determined. However, it should be understood that the time estimate can still be calculated / determined in the same manner as discussed above. In this case, the time estimate can typically be updated less frequently (depending on user input).

[0101] Once a user tags all components of the digital document to be edited, the user can select a preferred date / deadline via the user interface when the document needs to be edited. For example, the user can manually enter the date for returning the document, or the user can simply select an option to receive the edited document as soon as possible. The user device can receive user input and compile (324) a service request message and send (326) the service request message to the computing device (102) to obtain offers or proposals from one or more service providers for the desired editing of the digital document. The service request message may include at least time estimate data (or at least a pointer to data stored at the computing device (102)) and a preferred date / deadline for the document to be returned for editing.

[0102] The computing device (102) can receive (328) a service request message and compile (330) a service call message. Compiling the service call message may include: accessing an instruction database (126) and processing stored data (including derived data, metadata, and time estimates) into a desired format readable by one or more service providers. Once the service call message has been compiled, the computing device (102) can request (332) service capacity from one or more service providers. Requesting service capacity from one or more service providers may include: invoking (333) the capacity management system of one or more service providers to calculate the earliest completion time for each service provider. Invoking (333) the capacity management system of one or more service providers may include: sending the service call message to one or more service providers via an API, and accessing one or more shared databases that include job capacity and cost information associated with each service provider. The job capacity and cost information may be used to determine the total cost of editing a digital document and the earliest completion time for each service provider. In some implementations, additional manual input from one or more service providers is required to obtain indicative costs and suggested deadlines (earliest completion times).

[0103] The computing device (102) may receive (334) service capacity responses directly or via a capacity management system from one or more service providers and process (336) the responses into a desired service proposal format. For each service provider, the service proposal may include service provider data such as a service provider identifier (i.e., the name of the service provider's logo), a trust or quality score associated with the service provider, the service provider's timeliness, the earliest time the service provider completed the task, the cost of editing a document according to the user's request, or other customer-specific performance metrics. In some implementations, the computing device (102) may not immediately obtain the cost; in such cases, the service proposal may be configured to include the service provider's contact information so that the user can manually request the cost from the service provider. The computing device (102) may generate a service proposal message and send (338) the service proposal message to the user device (106).

[0104] The user device (106) may receive (340) a service proposal message and display (342) the service proposal message to the user. The user may select a provider via a user interface and accept the service proposal included in the service proposal message. Alternatively, the user may cancel the request, and the process may return to the service proposal request step of the method. The user device (106) may receive and process (343) user input. For example, the user device (106) may determine whether the user input is affirmative (i.e., accepting the service proposal) or negative (i.e., canceling the process). If the user accepts the service proposal, a service proposal approval message may be compiled and sent (344) to the computing device (102). The service proposal approval message may include a service provider identifier and, in some embodiments, may include a copy of the document to be edited (or at least a link to the document to be edited that can be accessed and downloaded by the computing device). It should be understood that a digital document may already reside on the user device (106) prior to the start of any of the above steps. In other words, the digital document can be stored at least temporarily in the memory or database of the user device, and access to the digital document can be managed by the user device (subject to a password, etc., chosen by the user). For example, a link to access a copy of the digital document can be provided to the computing device via a service proposal approval message. The computing device can receive (346) the service proposal approval message and access the digital document and / or store (348) the digital document in the instruction database (126). The computing device can send a prompt (350) to the user device (106) prompting the user to provide further supporting documents, such as previous drafts, diagrams, etc., as well as information and / or comments that can help the service provider edit the digital document. The user device can receive the prompt and display (352) the prompt to the user. The user can then upload any supporting documents and comments / information to the computing device via the user device. This can include: the user device (106) receiving (353) user input, in which case the user input can be the user uploading a document to the memory or database of the user device, and providing (354) the computing device (102) with access to the uploaded document and / or provided comments / information for processing. The computing device can access (356) support documents and / or information (by downloading or receiving) and store (358) support documents and comments / information. In response to receiving support documents and comments / information, the computing device (102) can generate a confirmation notification (360) and send the confirmation notification to the user device. The user device (106) can receive the confirmation notification and display (362) the confirmation notification to the user. The confirmation notification can indicate that the document has been successfully received and the editing process is in progress. In some embodiments, the computing device (102) can send an email to the user device to confirm that all documents have been successfully received and the editing process is in progress.The computing device (102) can generate and send (364) a notification to the relevant service provider that the user has accepted the proposal from the service provider and that the service provider can begin the editing process. The notification may include all details of the request and at least a link to a database for downloading relevant documents. In other words, the computing device (102) can grant the service provider controlled access to the database. Before generating and sending the notification to the relevant service provider, the computing device can process the service proposal approval message to identify the service provider associated with the accepted service proposal. Access to the user's records in a database containing information associated with the proposal can be granted to the relevant service provider.

[0105] Figure 4 This is a flowchart of an example method for training a model to determine the estimated time required to edit and / or recreate labeled components of a digital document. The model can include any one or more of the following: an AI model, an ML model, or a DL model. The model can include a process of inputting data into a series of models, where the input to a downstream model can be the output from an upstream model. Machine learning is considered a sub-branch of AI, and deep learning is considered a sub-branch of machine learning. Below is a brief discussion of an example implementation of an AI algorithm used in a slide estimation model to determine the estimated time for editing components of a digital document, which includes one or more slides. The following description is not intended to limit the model to the provided example, but rather to describe a model suitable for determining time estimates.

[0106] The model can include task-specific AI algorithms, such as natural language processing algorithms, data preprocessing algorithms (e.g., logarithmic transformation), machine learning algorithms, convolutional neural networks (image processing), regression algorithms (e.g., generalized linear models), transformer-based neural networks (for embedding, encoding, and decoding), and / or other artificial intelligence algorithms or neural networks. These AI algorithms can be trained using training data, which may include derived data, metadata, and time data associated with previously edited documents, to obtain a model that outputs a raw time estimate. These models can then be refined using techniques such as hyperparameter tuning before being stored in a model library to reduce errors present in the raw time estimates output by the AI ​​algorithms. For example, an AI algorithm suitable for analyzing components of the derived data or associated metadata, such as images, could be a deep neural network including convolutional neural networks.

[0107] Deep learning can utilize artificial neural networks (ANNs). Examples of ANNs can include arrangements of convolutional neural networks or recurrent neural networks, such as Long Short-Term Memory (LSTM) networks suitable for time series applications. ANNs can consist of interconnected units commonly called neurons, as they are inspired by and resemble neurons in the brain. These units can consist of nodes and edges that form a network of connections. ANNs can be configured in a hierarchical structure, where input is in the first layer and output is in the final layer. The layers between the first and final layers can be hidden layers.

[0108] Each node in an ANN can receive signals from one or more nodes in the previous layer, starting from the input layer. The output of a node is computed using an activation function, which can be a non-linear function of the sum of the inputs of each node in each layer. The output value of each node in the previous layer is multiplied by a weight, which determines the strength of the output value of each node. Finally, the value determined at the final layer is the output of the ANN. For regression-type ANNs, the output may contain only a single node with a value, or it may contain many nodes. Alternatively, for classification-type ANNs, the output may include multiple nodes, where each node provides a probability of the classification type. More complex ANN architectures are better suited to specific tasks. In addition to the weights and activation functions of a regular ANN, convolutional neural networks (CNNs) can apply filters (or kernels) to a two-dimensional data structure to reduce the size of the hidden layers in the neural network, thereby reducing the number of weights within the neural network. CNNs are particularly well-suited for image-based tasks, where image data is typically constructed as a two-dimensional data structure.

[0109] In digital documents, PowerPoint In the example of the presentation, the derived data (441) can include images from the slides. The derived data (441) and metadata (442) can be associated with objects that need to be detected (text, shapes, tables, characters, text boxes, graphics, etc.). The derived data and metadata can be used to train a model. The individual labeled components of a page / slide in a digital document can be presented as image input to a CNN, which performs detection of components belonging to certain categories needed to generate accurate time estimates. Furthermore, special embedding models can be used to convert the text and image information in the derived data into special vectors. Other neural networks can use these special vectors to perform time estimation, calculate document complexity, or determine document similarity. Other AI algorithms, such as linear regression, can also be used in a similar manner. In the example, the linear regression model can receive categories as input from a CNN detection algorithm and output a time estimate. In another example, the CNN can output a time estimate directly from the image input.

[0110] Therefore, it should be understood that in practical implementations, different AI algorithms can be used together to process one or more different inputs and provide different outputs. In some examples, the trained model may also include a model that can analyze the performance of the service provider in implementing the desired changes. This model may consider the number of slides that need to be reworked or the quality rating associated with the job. Furthermore, the trained model may consider the predicted time versus the actual time spent implementing the changes in digital documents.

[0111] Training AI models can be computationally intensive and time-consuming. The training system can be a large computing infrastructure or cloud computing infrastructure that is accessible over a network. These resources can allow dynamic computing resources to be dedicated to training the model, which can then be downloaded to run on a separate application. In the example, the model can be trained on and stored on the computing device (102).

[0112] Data (441) and metadata (442) derived from digital documents can be collected into a set of raw input data (410). The raw input data (410) can be fed into a training database (114) accessible by a computing device (102). The input data can undergo a data preparation process (411) to separate the components of the raw input data into various categories suitable for training, such as: input data, output data, training data, and validation data. In the example, the training data (116) may include data related to pre-editing, post-editing, and the time elapsed from the pre-editing state to the post-editing state for each document. Furthermore, the training data can be divided into any one or more of the following: image-related data, text-related data, formatting-related data, user-related data, and labeled-related data. The training data can be anonymized so that confidential or sensitive information is not input into the model. The training data can be anonymized using the previously described anonymization processes, including text anonymization and / or image anonymization. After processing, the various categories of data can be collected into the training data (116). Training data (116) can be input into a model component (117), which can be configured with one or more models for training. Configuring one or more models can include generating models based on a task-specific architecture. For example, a CNN can be well-suited for image-based inputs. In another example, a recurrent neural network (RNN) can be well-suited for text-based inputs. This selection of models in this disclosure is not intended to limit the disclosure to these models, but rather to present models that can be used to implement the work of this disclosure.

[0113] The model component (117) can be managed and maintained by a computing device (102) and can access training data (116) from a training database (114). The training data (116) can be used for a training process (413). The training process (413) may be computationally demanding and time-consuming. The training process can be performed on a large computing cluster that can access the database (114) to obtain training data when needed. Additionally, the trained machine learning model (414) can be stored on a model repository (118). In this example, the training process (413) can be a supervised learning training process, thereby adjusting the model parameters so that in response to pre-edited and / or post-edited data being input into the model, the model outputs the correct time estimate stored in the training data. It should be noted that the training data is not limited to images and can include different types of inputs, such as user input and / or selections made via a user interface, scanned text information and / or other inputs, and / or other training data.

[0114] The trained model can be used in a runtime process (422) on the computing device (102). When a user requests a time estimate, the user device (106) can send derived data and metadata associated with the digital document to the computing device. The data sent can be input data (421) input to the runtime process (422). The runtime process can output (423) a time estimate for processing the digital document. This output can be sent to the user device (106) and can be available in a downstream process (424). In the example, the output can be displayed to the user.

[0115] In some implementations, after a user receives an edited document directly from a service provider or via a computing device, the user can initiate a review process to provide feedback to the service provider regarding the edits made.

[0116] Figure 5A This is a flowchart of an example method (500) for reviewing an edited digital document from the perspective of a user on a user device (106). The review method (500) can be initiated by the user by opening (502) an edited digital document received from a service provider (104). Once the document has been opened, the user can select (504) one of one or more visual label indicators added to the digital document during the initial editing request via the user interface. In response to selecting a visual label indicator, for example by right-clicking, a set of marking instructions can be provided to the user, who can apply the set of marking instructions to the specific visual label indicator. Figure 5BAn example implementation of a user interface including this set of marking instructions is shown. Each of the visual marking instructions can represent a category of feedback regarding an edited component of a digital document associated with a visual label indicator. The user can manually review (506) the edited component. Manually reviewing the edited component may include: the user selecting an appropriate marking instruction and applying (508) the marking instruction to the visual label indicator (530). In a practical implementation, for example, there may be three marking instructions, including: a rework instruction (532); a self-edit instruction (531); and an end review (533). If a specific component needs to be re-edited, the rework instruction can be selected and applied. For example, this can be used when the user is dissatisfied with the quality of the work and the amount of time required to fix the work is large. If the relevant component will be reprocessed / edited by the user, the self-edit instruction can be selected and applied. This is generally used when the user does not particularly like the editing done by the provided service, but the work required to edit the component is small. If the user approves the editing of the relevant component of the digital document, the approval instruction can be applied and selected. Tagging instructions can be, for example, numeric buttons on a user interface and are visible to the user when the user makes an input to the visual label indicator (such as a right-click). Each tag instruction can have an associated color, and each visual label indicator can be colored with the color of the tag instruction to which it is applied. In some implementations, each visual label indicator can be assumed to be approved by default and requires appropriate modification by the user. In some examples, each edited slide can have a green visual label indicator indicating that a request for that slide has been completed. In other examples, the visual label indicator can be colored neutrally (without an associated color) to indicate that the associated component has not yet been reviewed. The user's review result can be temporarily stored by the user device (106) or the computing device (102).

[0117] In some examples, changes to the slides can be reviewed as good by default. Users can change the visual label indicators if desired. Users can repeat the same process for each visual label indicator in the digital document until all visual label indicators are in their default or modified state. Once the user is satisfied that all necessary visual label indicators have been properly labeled, the user can complete (510) the user review. Completing the user review may include the user selecting (512) a complete / end labeling instruction.

[0118] The user device (106) can display a summary page to the user to complete / end the marking instruction, such as Figure 5D As shown. The summary page may include: Review results ( Figure 5D (Box A), rating () Figure 5D (Box B) and optional comments ( Figure 5D(See box C). The review results can include the total number of slides that need rework (542), and the total number of tag instructions in each tag category. If a portion of the digital document is selected for rework (such as a set of slides), the user can enter comments for the rework. The user can click "OK" (544) to continue processing. If there are no slides that need rework, the user can be prompted to provide feedback details, such as... Figure 5C As shown in box A. Users can optionally upload digital documents along with feedback based on user-implemented changes, such as... Figure 5C As shown in box B.

[0119] Reference Figure 5E The summary page may include return-to-work proposals from service providers within the return-to-work deadline window. Figure 5E (518, Box A). A rework proposal may include the expected return time for reworking the component associated with the rework tag instruction. In addition, a rework proposal may include further details associated with the service provider, such as the service provider's name, quality rating (based on user feedback), and timeliness. Additionally, the user interface may include text boxes for users to provide any additional comments they wish to provide to the service provider. For example, users can explain in detail why a particular component needs to be reworked. If needed, users can provide (518) further comments or instructions via the user interface and approve (520) a rework proposal from the service provider by selecting an approval option (e.g., by clicking the "OK" button (545)).

[0120] After accepting the rework proposal, the user can be notified that the digital document has been successfully sent to the service provider for rework or to provide feedback. Figure 5F (See box A). Users can remove (514) some or all of the markup instructions (or visual label indicators) from a digital document via a user interface, such as Figure 5F As shown in box B. This can include one or more boxes where the user checks categories of marker instructions (and associated visual label indicators) that the user wants to remove. The user interface can be configured to include one or more additional features, such as allowing the user to choose to return to a slide / page with components that the user has marked for further editing when the review process is complete. Users can select options such as... Figure 5F The "Confirm" button (554) shows the approval option to approve (516) the review summary. If no rework is required, the user can be prompted that feedback has been successfully sent, such as... Figure 5G As shown in box A. Then, the user can choose to remove markup instructions (or visual label indicators) from the digital document, such as... Figure 5G As shown in box B. This can end the user review process.

[0121] Selecting the cancel option will allow users to return to the digital document review page.

[0122] Now will be Figure 6 The above steps are described in more detail below. Figure 6 This is a swimlane flowchart illustrating an exemplary method for a user to review an edited digital document and request further editing rework of the digital document. Each swimlane depicts a step, operation, or procedure performed by the corresponding entity or device. Unless the context of the use of these terms specifies otherwise, any references to user and user device (106) may be used interchangeably.

[0123] The review process can begin by the user accessing the edited digital document on the user device (106). The user device (106) can receive input from the user in the form of marked instructions (602), as described above. Figure 6 The discussion includes: a user navigating an edited digital document via a user device (106) and moving to different visual label indicators, and labeling the indicators with associated label instruction categories. The user device (106) may process (604) user input and accordingly change (606) the display of the visual label indicators. For example, this may include: the user device (106) changing the color of the visual label indicators to a color associated with a specific label instruction category via an application running on the user device. In other words, in a practical implementation, each label instruction category may have a color associated with it, which allows the user to easily visually identify the type of action required for each visual label indicator. Processing user input (604) may include: the user device receiving label instruction data based on the user input and comparing that data with a set of instructions stored in a database on the user device. This set of instructions may be configured to change the display of the user interface based on the received label instruction data.

[0124] As described above, the user device (106) may at least temporarily store (608) the tag instruction data associated with each visual tag indicator in the memory or storage component of the user device (106). It should be understood that in some embodiments, each tag instruction may be sent to the computing device (102) for storage when the tag instruction is applied. Then, when needed, the instruction may be returned to the user device (106) upon request from the user device.

[0125] The above steps can be repeated for each visual label indicator. Once the user is satisfied that all the required visual label indicators have been properly labeled, the user can select the option to complete the review. The user device can receive (610) the user input and access the stored label instruction data to determine (611) the number of label instructions for each label instruction category. It should be understood that in some embodiments, some of the above steps can be performed by the computing device (102). For example, the user device can receive user input indicating that the user wishes to complete the review. This can include: the user device sending the user input to the computing device. In some embodiments, the computing device can store or at least access the label instruction data, and in response to receiving the user input, determine the number of label instructions for each label category and return the result to the user device.

[0126] If the number of "rework" category flags is 0, the user device can display the review summary page as described above to the user via a monitor. The user can then view the summary page and approve the review by selecting the appropriate option on the user interface. The user device (106) can receive this user input and complete / terminate the review process. These steps are not included in... Figure 6 As shown, the applicant wishes to focus the discussion on the step of presenting “rework” instructions. If the number of marking instructions for the “rework” category is greater than 0, the user device (106) can compile the rework request and send it (612) to the computing device (102). The rework request may include derived data and metadata associated with components of a digital document that have been marked for rework by the service provider (104). In the case where the computing device (102) is used to determine the number of marking instructions for each marking category, the above steps may not be required in the method flow. However, for completeness, the method will be described as the case where these steps have been completed by the user device.

[0127] The computing device (102) can receive and process (614) a rework request. Processing the request may include: the computing device extracting relevant derived data and metadata associated with the components of the digital document that need to be reworked. The computing device (102) may at least temporarily store the derived data and metadata associated with the time estimation request. The data may, for example, be stored in an instruction database (126), as described above.

[0128] It can be used as a reference Figure 3 The process of handling rework requests is discussed in detail in terms of time estimation requests. However, for convenience, these steps are repeated here, albeit in less detail. Once the rework request has been processed, the computing device (102) can call (616) the trained model from the model repository (118) stored on the computing device, as referenced above. Figure 1The model discussed and invoked (618) is used to determine the estimated time required to edit the tagged components of a digital document. One or both of the extracted derived data and metadata can be used as input to the model. In some implementations, the extracted derived data and metadata can be used to further train the model. As described above, the model can be configured to process the data used as input to output an estimated time in any predefined format, indicating the time reasonably required to rework components of the digital document.

[0129] The computing device (102) may at least temporarily store (620) an estimated time required to edit the digital document, preferably stored along with derived data and metadata. Once the estimated time for editing the digital document has been determined, the computing device (102) may compile (622) a rework call message. Compiling the rework call message may include: accessing an instruction database (126), and processing the stored data (including derived data, metadata, and time estimates) into a desired format readable by the relevant service provider (104) (i.e., the service provider performing the initial editing). Once the rework call message has been compiled, the computing device (102) may request (624) service capacity from the service provider. Requesting service capacity from the service provider may include: invoking the service provider's capacity management system to determine the estimated completion time for the rework. Invoking the service provider's capacity management system may include: sending the rework call message to the service provider via an API, and accessing a shared database that includes at least job capacity information associated with the service provider. In some embodiments, the rework call message may include a priority indicator indicating that the instruction pertains to the rework of the digital document and that the associated work should be given priority over other new instructions. It should also be understood that the initial service request (and the proposals made in response) may already include a deadline for the editing to be completed. Therefore, it is important for the service provider to know this information, and thus, this information can be included in the rework call message, or the service provider can be given access to this data from the instruction database. Data related to the initial deadline can be considered when determining the estimated time for rework to complete a digital document.

[0130] Service provider job capacity information can be used to determine the earliest completion time for each service provider. In some implementations, further manual input from the service provider is required to obtain the proposed review return deadline.

[0131] The computing device (102) may receive (626) a response, including a proposed rework return deadline, directly or via a capacity management system from the service provider, and process (628) the response into the desired format. Once the response has been processed, the computing device (102) may send (630) the response as a rework return proposal to the user device (106).

[0132] The user device (106) can receive (632) a rework return proposal, compile a review summary, and display it (634) to the user via the user device's display. The review summary may include a summary of marking instructions, such as the number of marking instructions for each category and the rework return proposals received from the service provider. The user may choose to accept the rework return proposal and provide additional comments or information via text boxes provided on the summary page. The user device (106) can receive (636) user input (approval or cancellation of input), and if user approval is received (as shown in the figure), the user device (106) can process the user approval and send it (638) to the computing device (102), where the computing device (102) can receive (640) the user approval. Once the user approves the rework return proposal, the user can provide access to the computing device (102) via the user device to the digital document with marking instructions. This may include: the user device providing access to the computing device to a database storing the digital document, or the user transferring the digital document to the computing device via the user device. The computing device (102) can receive or access and store digital documents for review.

[0133] Once the document is received and the user approves it, the computing device (102) can generate and send (642) a notification to the relevant service provider that the user has approved the rework return proposal and the service provider can begin editing the process. The notification may include all the details of the user's request and at least a link to a database to download the relevant digital document from the database.

[0134] Once the notification has been sent to the service provider, the computing device can send a confirmation notification (644) to the user device. The user device (106) can receive the confirmation notification and display it to the user (646). The confirmation notification can indicate that the digital document has been successfully received by the service provider for rework. In some embodiments, the computing device (102) can send an email to the user device to confirm the above. The email can, for example, confirm user instructions and a deadline for completion of the review.

[0135] It should be understood that the above steps are merely illustrative examples of implementations of the methods and systems described herein. Various alternative options and steps not described in detail above are possible.

[0136] The above reference can be provided. Figure 3 and Figure 6 The various components of the described method. Figure 7 This is a block diagram showing exemplary components of a computing device (102), which may be provided by a system for providing time estimates for editing digital documents.

[0137] The computing device may include a processor (702) for performing the functions of the components described below. The processor (702) may be provided by hardware or by a software unit executing on the computing device. The software unit may be stored in a memory unit (704) and may provide instructions to the processor (702) to perform the functions of the described components. In some cases, such as in cloud computing implementations, software units arranged to manage and / or process data on behalf of the computing device may be provided remotely.

[0138] The computing device (102) may include a time estimation request receiving unit (706) arranged to receive a time estimation request for estimating the time required to edit a digital document via an application running on a user device. The request may include data including one or both of derived data and metadata associated with one or more components of the digital document to be edited.

[0139] The computing device (102) may include a time estimation processing unit (708) arranged to preprocess the time estimation request by extracting derived data and metadata associated with one or more components of a digital document. The preprocessed data (i.e., the extracted data) may be stored, at least temporarily, in the memory (704) or database (126) of the computing device for later use.

[0140] The computing device (102) may include an image processing unit (718) arranged to perform image processing on data derived from a digital document. The image of the derived data may include: image editing.

[0141] The computing device (102) may include an anonymization component (720) arranged to anonymize digital documents. Anonymization may include removing any confidential or sensitive information within the digital document. The anonymization component (720) may perform anonymization on image and / or text-related components.

[0142] The computing device (102) may include a model component (710) arranged to use a trained model to determine the estimated time required to edit a digital document. The model component (710) may be arranged to generate and configure one or more models. Additionally, the model component (710) may be arranged to train the model and store the trained model in a model repository (118). The model component (710) has access to the model repository, in which the trained model can be stored for use. One or both of the extracted derived data and metadata can be used as input to the model to determine the estimated time required to edit the digital document.

[0143] The computing device (102) may include a result output unit (712) arranged to output an estimated time required to edit a digital document via a user interface. The output unit may be configured to process data into a form that can be received by the user device (or an application running on the user device), and the data is processed to output the estimated time required to edit the digital document to the user of the user device.

[0144] The computing device (102) may include an earliest completion time determination and output component (714) arranged to determine and output the earliest completion time at which one or more service providers can complete the editing of a digital document, along with the associated costs. The earliest completion time determination and output component (714) may access one or more capacity management systems of one or more service providers and may use information available from these capacity management systems to determine the earliest completion time and associated costs. The results may then be output as a data message, which may be processed by the computing unit processor (702) for transmission to the user device (106).

[0145] The computing device (102) may include a service proposal message compilation unit (716) arranged to compile a service proposal message for each of one or more service providers and to display the service proposal message to a user via a user interface. Displaying the service proposal message to a user via a user interface may include the service proposal message compilation unit (716) communicating with a processor (702) to process the service proposal message into an appropriate format for display by a user device.

[0146] Figure 8Examples of computing devices (800) in which various aspects of this disclosure may be implemented are shown. The computing device (800) may be implemented as any form of data processing device, including personal computing devices (e.g., laptop computers or desktop computers), server computers (which may be self-contained and physically distributed across multiple locations), client computers, or communication devices (e.g., mobile phones (e.g., cellular phones), satellite phones, tablet computers, personal digital assistants, etc.). Different implementations of the computing device may specify the inclusion or exclusion of various components or subsystems described below.

[0147] The computing device (800) may be adapted to store and execute computer program code. Various actors and elements in the previously described system diagram may use any suitable number of subsystems or components of the computing device (800) to facilitate the functions described herein. The computing device (800) may include subsystems or components interconnected via a communication infrastructure (805) (e.g., a communication bus, network, etc.). The computing device (800) may include one or more processors (810) and at least one memory component in the form of a computer-readable medium. The one or more processors (810) may include one or more of the following: CPU, graphics processing unit (GPU), microprocessor, field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), etc. In some configurations, multiple processors may be provided and said multiple processors may be arranged to perform computations simultaneously. In some implementations, the various subsystems or components of the computing device (800) may be distributed across multiple physical locations (e.g., in a distributed, clustered, or cloud-based computing configuration), and appropriate software units may be arranged to manage and / or process data on behalf of remote devices.

[0148] The memory component may include system memory (815), which may include read-only memory (ROM) and random access memory (RAM). The basic input / output system (BIOS) may be stored in the ROM. System software (including operating system software) may be stored in the system memory (815). The memory component may also include auxiliary memory (820). Auxiliary memory (820) may include, for example, a fixed disk (821) of a hard disk drive, and optionally include one or more storage interfaces (822) for interfacing with a storage component (823), such as a removable storage component (e.g., magnetic tape, optical disc, flash drive, external hardware drive, removable memory chip, etc.), a network-attached storage component (e.g., a NAS drive), a remote storage component (e.g., a cloud-based storage device), etc.

[0149] The computing device (800) may include an external communication interface (830) for operating the computing device (800) in a networked environment that enables the delivery of data between multiple computing devices (800) and / or the Internet. The data delivered via the external communication interface (830) may be in the form of signals, which may be electronic signals, electromagnetic signals, optical signals, radio signals, or other types of signals. The external communication interface (830) enables data communication between the computing device (800) and other computing devices, including servers and external storage facilities. Web services may be accessed by and / or from the computing device (800) via the communication interface (830).

[0150] The external communication interface (830) can be configured to connect to a wireless communication channel (e.g., a cellular telephone network, a wireless local area network (e.g., using Wi-Fi)). TM (including satellite phone networks, satellite internet networks, etc.) and may include associated wireless delivery elements, such as antennas and associated circuitry.

[0151] Computer-readable media in various memory component forms can provide storage for computer-executable instructions, data structures, program modules, software units, and other data. A computer program product can be provided by a computer-readable medium storing computer-readable program code executable by a central processing unit (810). The computer program product can be provided by a non-transitory or non-transitory computer-readable medium, or via a communication interface (830) through a signal or other transient or temporary means.

[0152] The interconnection via the communication infrastructure (805) enables one or more processors (810) to communicate with each subsystem or component and to control the execution of instructions from the memory component and the exchange of information between the subsystems or components. Peripheral devices (e.g., printers, scanners, cameras, etc.) and input / output (I / O) devices (e.g., mice, touchpads, keyboards, microphones, touch-sensitive displays, input buttons, speakers, etc.) may be directly coupled to the computing device (800) or integrated with the computing device (500) either via an I / O controller (835). One or more displays (845) (which may be touch-sensitive displays) may be coupled to the computing device (800) or integrated with the computing device (800) via a display or video adapter (840).

[0153] The foregoing description has been presented for illustrative purposes and is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Those skilled in the art will understand that many modifications and variations are possible in light of the foregoing disclosure.

[0154] Any step, operation, component, or process described herein can be performed or implemented, individually or in combination with other means, using one or more hardware or software units. Components or means configured or arranged to perform the described functions or operations can be arranged or configured in this way by computer-implemented instructions that implement or execute the described functions, algorithms, or methods. The computer-implemented instructions can be provided by hardware or software units. In one embodiment, the software unit is implemented with a computer program product comprising a non-transitory or non-transitory computer-readable medium containing computer program code that can be executed by a processor to perform any or all of the described steps, operations, or processes. The software units or functions described herein can be implemented as computer program code using any suitable computer language, such as Java using, for example, conventional or object-oriented technologies. TM C++ or Perl TM Computer program code can be stored as a series of instructions or commands on a non-transitory computer-readable medium, such as random access memory (RAM), read-only memory (ROM), magnetic media such as a hard disk drive, or optical media such as a CD-ROM. Any such computer-readable medium can reside on or within a single computing device, and can exist on or within different computing devices within a system or network.

[0155] This document uses flowcharts and block diagrams of methods, systems, and computer program products according to embodiments. Each block in a flowchart and / or block diagram, and combinations of blocks in flowcharts and / or block diagrams, can provide functionality that can be implemented by computer-readable program instructions. In some alternative embodiments, the functions identified by the blocks may occur in a different order than that shown in the flowcharts.

[0156] Some portions of this specification describe embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithms are typically used by those skilled in the art of data processing to describe and represent (e.g., the accompanying flowcharts) in order to effectively convey the essence of their work to others skilled in the art. While these operations are described functionally, computationally, or logically, they should be understood to be implemented by computer programs or equivalent circuits, microcode, etc. The described operations can be implemented in software, firmware, hardware, or any combination thereof.

[0157] The language used in this specification has been chosen primarily for readability and guidance purposes, and is not intended to depict or limit the subject matter of the invention. Therefore, the scope of the invention is intended to be limited not by this detailed description, but by any of the claims published on the application based thereon. Thus, the disclosure of embodiments of the invention is intended to be illustrative, and not to limit, the scope of the invention as set forth in any of the appended claims.

[0158] Finally, throughout the specification and any appended claims, unless the context otherwise requires, the word “comprise” or variations such as “comprises” or “comprising” shall be understood to imply inclusion of the stated whole or group of wholes but not exclusion of any other whole or group of wholes.

Claims

1. A computer-implemented method for time estimation of editing a digital document at a computing device, comprising: The time estimation request for estimating the time required to edit a digital document is received via an application running on a user device. The request includes data derived from the digital document and / or metadata associated with one or more components of the digital document. The time estimation request is preprocessed by extracting data derived from the digital document and / or metadata associated with one or more components of the digital document from the time estimation request. Using one or more trained models, based on one or both of the extracted data derived from the digital document and / or metadata associated with one or more components of the digital document as input, the estimated time required to edit the digital document is determined. as well as The estimated time required to edit the digital document is output via the user interface.

2. The method according to claim 1, comprising: The extracted data and / or metadata derived from the digital document are anonymized.

3. The method according to claim 2, wherein, Anonymizing the extracted data and / or metadata derived from the digital document includes anonymizing the images of the digital document.

4. The method according to claim 2 or claim 3, wherein, Anonymizing the extracted data and / or metadata derived from the digital document includes anonymizing the text of the digital document.

5. The method according to any one of the preceding claims, wherein, The data derived from the digital document and the metadata include any one or more of the following: image-related data, text-related data, formatting-related data, user-related data, and tagging-related data.

6. The method according to any one of the preceding claims, wherein, Determining the estimated time required to edit the digital document includes: Determine the estimated time required to edit each of one or more components of the digital document; and, The determined time estimate is added to the total estimated time value, wherein the total estimated time value is the sum of the estimated time required to edit each of one or more components of the digital document.

7. The method according to any one of the preceding claims, wherein, Data and / or metadata derived from the digital document are associated with one or more tagged components of the digital document, and the time estimation request is received in response to one or more components of the digital document being tagged.

8. The method according to claim 7, wherein, The system receives a new time estimate request in response to a component of the digital document being tagged or untagged, and wherein the estimated time required to edit the digital document is updated in response to a component of the digital document being tagged or untagged.

9. The method according to any one of the preceding claims, wherein, The time estimation request is executed in real time or near real time.

10. The method according to any one of the preceding claims, wherein, The one or more trained models include any one or more of the following: artificial intelligence (AI) models, machine learning (ML) models, deep learning (DL) models, transformer-based neural networks, or configurations of neural networks for embedding, encoding, and decoding tasks.

11. The method according to any one of the preceding claims, wherein, Determining the estimated time required to edit the digital document using one or more trained models includes performing any one or more of the following: image processing and analysis, regression analysis, and data transformation to output the raw time estimate. In addition, hyperparameter tuning is used to reduce potential errors in the original time estimates in order to provide reliable time estimates required for editing the digital document.

12. The method according to any one of the preceding claims, comprising: In response to receiving a service request message, determine the earliest completion time and associated cost for one or more service providers to complete the editing of the digital document, wherein determining the earliest completion time includes: invoking the capacity management system of one or more service providers to calculate the earliest completion time for each of the service providers; and outputting the earliest completion time in response to determining the earliest completion time.

13. The method according to claim 12, wherein, Invoking the capacity management system of the service provider includes sending a service call message, the service call message including: an estimated time required to edit the digital document, and a preferred time for the user of the digital document to request that the digital document be edited.

14. The method according to claim 13, wherein, The service call message includes an estimated time required to edit the digital document and a preferred time for the user to request that the digital document be edited.

15. The method according to any one of claims 12 to 14, comprising: In response to outputting the earliest completion time, a service proposal message is compiled for each of the one or more service providers, and the service proposal message is displayed to the user via the user interface.

16. The method according to claim 15, wherein, The service proposal message includes service provider data and the earliest completion time.

17. The method according to claim 16, wherein, The service provider data may include any one or more of the following: service provider identifier, service rating associated with the service provider, timeliness rating associated with the service provider, and one or more customer-specific performance metrics.

18. The method according to any one of the preceding claims, comprising: The method involves receiving the digital document and storing it in a record database accessible by the computing device, wherein receiving the digital document includes receiving a copy of the digital document or being provided with access to a database storing a copy of the digital document.

19. The method according to claim 18, wherein, Storing the digital document may include storing the data and / or metadata derived from the digital document in the record database.

20. The method according to claim 18 or claim 19, wherein, Receiving and storing the digital document includes: receiving an anonymized version of the digital document, or receiving the original or a copy of the original digital document and anonymizing the digital document, and further storing the anonymized version of the digital document.

21. The method according to any one of the preceding claims, comprising: Receive a service proposal approval message that includes the service provider identifier; Process the service proposal approval message; as well as, In response to processing the service proposal approval message, access to records in the database is granted to the service provider with the service provider identifier.

22. A system for estimating the time of editing a digital document, the system comprising: A processor and a memory, the memory being configured to provide computer program instructions to the processor to perform the functions of the component; A time estimation receiving unit is configured to receive a time estimation request for estimating the time required to edit a digital document via an application running on a user device, the request including data derived from the digital document and / or metadata associated with one or more components of the digital document; A time estimation processing unit is configured to preprocess the time estimation request by extracting data derived from the digital document and / or metadata associated with one or more components of the digital document from the time estimation request. A machine learning component, configured to use one or more trained models, based on one or both of the extracted data derived from the digital document and / or metadata associated with one or more components of the digital document as input, to determine the estimated time required to edit the digital document; as well as, The results output component is configured to output the estimated time required to edit the digital document via a user interface.

23. The system of claim 22, further comprising an anonymization component configured to anonymize digital documents.

24. The system of claim 22 or claim 23, further comprising an earliest completion time determination and output component, the earliest completion time determination and output component being configured to determine and output the earliest completion time at which one or more service providers can complete editing of the digital document, and the associated cost.

25. The system of any one of claims 22 to 24, comprising a service proposal message compilation component configured to compile a service proposal message for each of one or more service providers, and to display the service proposal message to a user via the user interface.

26. A computer program product for estimating the time of editing a digital document, the computer program product comprising a computer-readable medium having stored computer-readable program code for performing the following steps: The time estimation request for estimating the time required to edit a digital document is received via an application running on a user device. The request includes data derived from the digital document and / or metadata associated with one or more components of the digital document. The time estimation request is preprocessed by extracting data derived from the digital document and / or metadata associated with one or more components of the digital document from the time estimation request. Using one or more trained models, based on one or both of the extracted data derived from the digital document and / or metadata associated with one or more components of the digital document as input, the estimated time required to edit the digital document is determined. as well as The estimated time required to edit the digital document is output via the user interface.