Form to Call to Action conversion
By combining machine learning, image processing and OCR technology, automatically detecting and converting fields and layouts in unfilled forms, the problem of inefficient form conversion in the existing technology is solved, and efficient form digitization and conversion is achieved.
Patent Information
- Application Number
- CN202080065152.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-09-20
- Filing Date
- 2020-06-18
- Publication Date
- 2025-06-06
- Estimated Expiration
- 2040-06-18
AI Technical Summary
The prior art requires a lot of time in converting forms in physical or digital formats to digital workflows, and users need to manually create form entries and fields.
By combining machine learning, image processing and optical character recognition (OCR) technologies, fields and layouts in unfilled forms are automatically detected, document models are generated, and converted into action card formats for enterprise chat-based communication applications.
Significantly reduces the workload of manually converting forms, improves conversion efficiency, and reduces the consumption of computing resources such as processor cycles, network traffic, and memory usage.
Smart Images

Figure CN114402332B_ABST
Abstract
Description
Background Art
[0001] The subject matter disclosed herein generally relates to a special purpose machine for converting data from one format to another format, including computerized variations of such special purpose machines and improvements to such variations. Specifically, the present disclosure relates to systems and methods for converting unfilled forms obtained via different types of input into a format based on a digital workflow chat application.
[0002] Forms or questionnaires are commonly used in enterprises to collect data. Some of the questionnaires may be in physical form (e.g., paper) or digital form (e.g., image of a document, PDF document). Organizations can use applications to generate digital workflows to collect form or questionnaire data. Converting forms in physical or digital format to digital workflows takes a lot of time. Users typically read the form and manually create entries and fields in the digital workflow based on the entries in the (physical or digital) form. BRIEF DESCRIPTION OF THE DRAWINGS
[0003] To easily identify any particular element or action discussed, the highest-order digit or digits in a reference number refer to the figure in which the element is first introduced.
[0004] Figure 1 is a diagrammatic representation of a networked environment in which the present disclosure may be deployed according to some example embodiments.
[0005] Figure 2 is a block diagram illustrating example operations of a networking environment according to one embodiment.
[0006] Figure 3 is a block diagram illustrating a form action card engine according to one example embodiment.
[0007] Figure 4 is a block diagram illustrating a form processing module according to one embodiment.
[0008] Figure 5 is a block diagram illustrating a form presentation module according to one embodiment.
[0009] Figure 6 is a sequence diagram illustrating an example of generating a document model according to one embodiment.
[0010] Figure 7 is a flow chart illustrating a method for deploying action cards according to one example embodiment.
[0011] Figure 8 is a flow chart illustrating a method for processing forms utilizing action cards according to one example embodiment.
[0012] Fig. 9is a flow chart illustrating a method for generating action cards according to one example embodiment.
[0013] Fig.10 is a flow chart illustrating a routine according to one example embodiment.
[0014] Fig.11 An example of converting a form in a document into an action card according to an example embodiment is illustrated.
[0015] Fig.12 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions may be executed, causing the machine to perform any one or more of the methodologies discussed herein, according to an example embodiment. DETAILED DESCRIPTION
[0016] The following description describes the system, method, technology, instruction sequence and computing machine program product of the example embodiment of the present theme. In the following description, for the purpose of explanation, many specific details are set forth in order to provide an understanding of the various embodiments of the present theme. However, it is obvious to those skilled in the art that the embodiments of the present theme can be implemented without some or other details in these specific details. Examples only represent possible variations. Unless explicitly stated otherwise, structures (e.g., structural components, such as modules) are optional and can be combined or subdivided, and operations (e.g., in processes, algorithms or other functions) can be changed in order or combined or subdivided.
[0017] An enterprise represents an organization or a group of users associated with an organization. Users of an enterprise can utilize enterprise applications. Examples of enterprise applications include chat-based applications, email applications, document editing applications, document sharing applications, and other types of applications used by an enterprise.
[0018] The present application describes systems and methods for converting unfilled forms obtained via different formats (e.g., images, pdfs, text documents) into model forms that can be used to generate digital workflows such as action cards for use in enterprise chat-based communication applications (e.g., Microsoft Kaizala (TM)). In other examples, the model form can be used to generate forms in other types of digital formats (e.g., HTML). An "action card" includes a visual representation of a card that includes relevant information for display on a user's client device via an enterprise application. The enterprise application generates a pop-up display of the action card within (or outside) the enterprise application. An example of an action card includes an activity card that identifies an activity assigned to a user, a type of activity (e.g., email, phone call, task), an activity expiration time, and an action function (e.g., marking the activity complete). Another example of an action card includes an "upcoming meeting" card that identifies a meeting scheduled today, a meeting description, and an action function (e.g., opening an appointment). In another example, an action card includes an interactive workflow for entering data from a user in the form of a survey or form. The action function can trigger a function within the enterprise application or utilize another application operating on the client device to trigger a function.In other examples, an enterprise's chat-based communication application enables users to generate action cards to request surveys, submit bills, share lists, or schedule meetings.
[0019] This document describes an enterprise chat-based communication application that converts existing unfilled forms into action cards (or other types of output). Action cards can be generated from different types of inputs (such as by taking a photo of a printed form, providing a PDF document, a Microsoft Word (TM) document, or an online form). The system reduces the workload of manually converting forms by creating new forms based on fields detected in existing unfilled forms. The conversion process is based on a combination of machine learning, image processing, and optical character recognition (OCR) technologies to generate a document model for forming an action card (or any other type of digital output) with a workflow corresponding to the detected fields (e.g., enter name, enter address). In another example, the workflow detects a conditional field (e.g., if department is x, select from department x) and updates the document model accordingly. For example, an action card can be displayed based on a user's response to a previous action card.
[0020] In one example embodiment, a system and method for converting a form to an action card format for a chat-based application is described. The system accesses an unfilled form and identifies one or more converters based on the format of the unfilled form. The system then uses the one or more converters to identify fields in the unfilled form. Based on the fields and the layout of the fields, a document model is generated. The system determines the layout based on the visual alignment and logical relationships of the fields. The system forms a digital interaction workflow based on the document model.
[0021] Thus, one or more of the methods described herein help solve the technical problem of digitizing the fields of a form into a digital workflow (e.g., action card) for an enterprise application. Thus, one or more of the methods described herein can eliminate the need for certain efforts or computing resources. Examples of such computing resources include processor cycles, network traffic, memory usage, data storage capacity, power consumption, network bandwidth, and cooling capacity.
[0022] Figure 1 1 is a diagrammatic representation of a network environment in which some example embodiments of the present disclosure may be implemented or deployed. One or more application servers 104 provide server-side functionality to networked user devices in the form of client devices 106 via a network 102. A user 130 operates the client device 106. The client device 106 includes a WEB client 110 (e.g., a browser), a programmatic client 108 (e.g., an enterprise application such as Microsoft Outlook (TM), an instant messaging application, a document writing application, or a shared document storage application) hosted and executed on the client device 106. In an example embodiment, the programmatic client 108 synchronizes data with the enterprise application 122.
[0023] Application program interface (API) server 118 and web server 120 provide corresponding program interfaces and web interfaces to application server 104. Specific application server 116 hosts enterprise application 122 and form conversion engine 124. Both enterprise application 122 and form conversion engine 124 include components, modules and / or applications.
[0024] Enterprise applications 122 may include multiple applications (e.g., server-side chat-based (also known as instant messaging) enterprise applications, server-side email / calendar enterprise applications, document writing enterprise applications, shared document storage enterprise applications) that enable users of an enterprise to communicate, collaborate, and share documents, messages, and other data (e.g., meeting information, public projects) with each other. For example, a user 130 at a client device 106 accesses an enterprise application 122 to send an instant message containing a form to other users of the enterprise. In another example, a user 130 at a client device 106 may access an enterprise application 122 to edit a document shared with other users of the same enterprise. In yet another example, a client device 106 accesses an enterprise application 122 to retrieve a message or email, or to send a message or email to or from other peer users of the enterprise. Other examples of enterprise applications 122 include enterprise systems, content management systems, and knowledge management systems.
[0025] In one example embodiment, the form conversion engine 124 communicates with the enterprise application 122. For example, the form conversion engine 124 receives input of an image of a form (also referred to as a questionnaire) from the enterprise application 122, converts the questionnaire to a digital format, and provides the model document in the digital format to the enterprise application 122. In another example embodiment, the form conversion engine 124 communicates with the programmatic client 108 and receives a pdf of the questionnaire from the user 130. In one example, the web client 110 communicates with the form conversion engine 124 and the enterprise application 122 via a programmatic interface provided by an application program interface (API) server 118.
[0026] The form conversion engine 124 accesses an existing unfilled form (received from an enterprise application 122 or a client device 106) and converts it into an action card for use by the enterprise application 122. In an example embodiment, the form conversion engine 124 receives different types of input for the unfilled form (e.g., such as by taking a photo of a printed form, providing a PDF document, a Microsoft Word (TM) document, or an online form). An unfilled form is, for example, a form that has not yet been filled out by any user. The form conversion engine 124 identifies a converter (e.g., a form converter) based on the type of input (e.g., image, pdf, text) and applies the converter to digitize the unfilled form. In an example embodiment, the form conversion engine 124 generates a document model using a conversion process based on a combination of machine learning, image processing, and optical character recognition (OCR) techniques. The document model can be used to generate a workflow in the form of an action card. The form conversion engine 124 provides the action card to the client device 106 via the enterprise application 122. In another example embodiment, the enterprise application 122 receives a request from the client device 106 to deploy the action card to other client devices.
[0027] Application server 116 is shown communicatively coupled to database server 126, which supports access to an information repository or database 128. In an example embodiment, database 128 comprises a storage device that stores information to be processed by enterprise application 122 and forms conversion engine 124.
[0028] In addition, the third-party application 114 may, for example, store another portion of the enterprise application 122, or include a cloud storage system. For example, the third-party application 114 stores other conversion engines (e.g., OCR, PDF editor). The third-party application 114 executed on the third-party server 112 is shown as programmatically accessing the application server 116 via a program interface provided by an application program interface (API) server 118. For example, using information retrieved from the application server 116, the third-party application 114 can support one or more features or functions on a website hosted by a third party.
[0029] Figure 21 is a block diagram illustrating an example of a network operation 200 according to one embodiment. The client device 106 submits an image of an unfilled form (or text of an unfilled form, a pdf of an unfilled form) to the form conversion engine 124. The form conversion engine 124 converts the image of the unfilled form into a machine-readable document, which includes organized fields detected from the unfilled form. The machine-readable document may also be referred to as a document model. In an example embodiment, the form conversion engine 124 generates an action card based on the organized fields of the document model. The form conversion engine 124 provides the action card to the enterprise chat-based application 204 (included in the enterprise application 122). The enterprise chat-based application 204 transmits the action card to the client device 106. The client device 106 edits or modifies the action card and provides the revised action card back to the enterprise chat-based application 204. The client device 106 may also send a request to the enterprise chat-based application 204. For example, the request includes a request to deploy the action card to other members of the enterprise. The enterprise chat-based application 204 deploys the action card by transmitting the action card to the client device 202 via the client-side enterprise chat-based application operating on the client device 202. The client device 202 provides entries corresponding to the fields in the action card back to the enterprise chat-based application 204. The data entries are stored in the database of the enterprise application 122.
[0030] Figure 3 3 is a block diagram illustrating a form conversion engine 124 according to an example embodiment. The form conversion engine 124 includes a form input module 302, a form conversion module 304, a form processing module 306, a form rendering module 308, and a form generator 310. The form input module 302 is configured to receive an unfilled form from different format types as input. For example, the unfilled form can be in PDF format, Microsoft Word (TM) format, image format, text format, or a combination thereof.
[0031] The form conversion module 304 includes a converter that converts inputs of different formats into a common document model. For a given input type, there may be more than one converter. For example, different PDF editors (also referred to as PDF parsers) may be used for PDF documents. Each converter acts independently on the input form and outputs a document model. For example, an image processor may be applied to an image of a form and generates a first output. A classification model may also be independently applied to the same image of a form and generates a second output. The second output is merged with the first output to create a document model.
[0032] Therefore, each converter is configured to merge the output with the identified previous document model in the pipeline. Examples of converters for image files include: deep learning techniques for region detection and field identification, and other services for table detection. Examples of converters for PDF files include PDF converters (parsers). Note that the layered processing design allows more converters to be added to the chain to achieve further improvements.
[0033] Once the input form is converted into a document model, the form processing module 306 identifies different components of the form, such as a title, a key field, and the type of the key field. The form processing module 306 also extracts keys from the table structure. In an example embodiment, the form processing module 306 operates using a pattern detection algorithm and a trained machine learning (ML) model to identify form entities. The form processing module 306 may also use a language model that can identify frequently occurring fields in a form by processing text content in the form. For example, the form processing module 306 includes a learning engine that manages an ML model for frequently occurring fields in a form by processing text content in the form. In one example, the learning engine analyzes fields to identify trends (e.g., commonly used fields such as "name" and "address"). In one embodiment, based on the ML model, the learning engine may suggest fields corresponding to the text content.
[0034] The form rendering module 308 identifies groups of fields into sections based on the physical placement and logical relationships of the fields in the unfilled form. The form rendering module 308 also breaks up lengthy forms into different pages so that the pages can be arranged in a device with a smaller form factor.
[0035] The form generator 310 converts the document model into a desired output format. For example, the form generator 310 converts the document model into an action card or other format, such as JSON, HTML, XML. In one example embodiment, the form generator converts the document model into a digital interactive workflow process that uses an action card or other type of graphical user interface to request and receive data in corresponding form fields from a user. In another example embodiment, the action card includes a collection of HTML, JavaScript, and JSON data files. If any changes are needed in the action card, the user can view and adjust the action card package.
[0036] Figure 44 is a block diagram illustrating a form processing module 306 according to an example embodiment. The form processing module 306 includes a structure merger 402, a pattern detection 404, a trained model 406, and a sequence identifier 408. The structure merger 402 merges the document models from each transformer. For example, an image processor is applied to an image of a form and generates a first document model. A classification model can also be independently applied to the same image of a form and generate a second document model. The structure merger 402 merges the second document model with the first document model.
[0037] The sequence identifier 408 identifies the fields and structures in the form. For example, the pattern detection 404 operates with the trained model 406 to detect different components of the form, such as the title, key fields, the type of key fields, and extract the keys from the table structure. The trained model 406 uses machine learning techniques to detect different structures (or components) in the form.
[0038] Figure 5 is a block diagram illustrating a form rendering module 308 according to an example embodiment. The form rendering module 308 includes a visual alignment module 502 and a form field converter 504. The visual alignment module 502 identifies groupings of fields as sections based on the physical placement of the fields and the logical relationships of the fields. It divides a lengthy form into different pages so that the pages are better displayed in a device with a smaller form factor. The form field converter 504 maps the identified fields to visual elements for display to the user.
[0039] Figure 6 An example of using the form processing module 306 to generate a document model for a form image 604 according to one embodiment is illustrated. The form processing module 306 uses a combination of techniques to identify content (e.g., fields) in a form. For example, the form image 604 is fed to a table detector 606 to detect a table. The layout deep learning module 614 applies P2P layout analysis to the form image 604 to detect headers, key fields, rows, and check boxes. The image processing module 616 applies computer vision recognition techniques to the form image 604 to identify charts, rows, and check boxes. The classification model 618 applies a trained model to detect rows in the form image 604. The results of various techniques are merged with the results of other techniques at merge 608, merge 612, and merge 610 to generate the document model 602.
[0040] Figure 7 is a flow chart illustrating a method for deploying action cards according to an example embodiment. The operations in method 700 may be performed by form conversion engine 124 using the above description of Figure 3106 or a third-party application 114.
[0041] At block 702, the form input module 302 captures a form from one or more sources (e.g., a picture of a form, a pdf of a form, a text document of a form). At block 704, the form generator 310 converts the form into an action card format. At block 706, the form generator 310 deploys the action card in the enterprise chat-based application 204.
[0042] Figure 8 800 is a flowchart illustrating a method for processing a form using an action card according to an example embodiment. The operations in method 800 may be performed by form conversion engine 124 using the above description of Figure 2 106. Accordingly, the method 800 is described by way of example with reference to the form conversion engine 124. However, it should be understood that at least some of the operations of the method 800 may be deployed on various other hardware configurations or performed by similar components located elsewhere. For example, some of the operations may be performed at the client device 106.
[0043] At block 802, the enterprise chat-based application 204 receives data entries from the client device 202 via an action card from the chat-based application operating on the client device 202. At block 804, based on the data entries received at the enterprise chat-based application 204, the network 1220 or the enterprise chat-based application 204 populates a form corresponding to the action card.
[0044] Fig. 9 is a flow chart illustrating a method 900 for calculating a collaboration strength index according to an example embodiment. The operations in the method 900 may be performed by the form conversion engine 124 using the above-described Figure 3 The method 900 is described in detail with reference to the form conversion engine 124. Accordingly, the method 900 is described by way of example with reference to the form conversion engine 124. However, it should be understood that at least some of the operations of the method 900 can be deployed on various other hardware configurations or performed by similar components located elsewhere. For example, some of the operations can be performed at the client device 106.
[0045] At box 902, the form input module 302 determines the input format of the form. At box 904, the form conversion module 304 determines one or more converters corresponding to the input format of the form. At box 906, the form conversion module 304 converts the form using the corresponding converters and merges the outputs (from different converters) to generate a document model. At box 908, the form processing module 306 determines the structure of the form. At box 910, the form rendering module 308 identifies the visual rendering of the fields in the form. At box 912, the form generator 310 generates an action card based on the converted form, the structure of the form, and the fields detected in the form.
[0046] Fig.10 A routine according to one embodiment is illustrated. In block 1002, the routine 1000 accesses an unfilled form. In block 1004, the routine 1000 identifies a plurality of fields in the unfilled form. In block 1006, the routine 1000 generates a document model based on the plurality of fields. In block 1008, the routine 1000 forms an action card based on the document model.
[0047] Fig.11 Illustrated is an example of converting 1100 a picture or pdf of an unfilled form 1102 into an action card 1104 according to one embodiment.
[0048] Fig.12The invention is a diagrammatic representation of a machine 1200 within which instructions 1208 (e.g., software, programs, applications, applet, app, or other executable code) are used to cause the machine 1200 to perform any one or more of the methods discussed herein that may be performed. For example, the instructions 1208 may cause the machine 1200 to perform any one or more of the methods described herein. The instructions 1208 transform a general-purpose, unprogrammed machine 1200 into a specific machine 1200 that is programmed to perform the functions described and illustrated in the manner described. The machine 1200 may operate as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 1200 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1200 may include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a PDA, an entertainment media system, a cellular phone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a WEB appliance, a network router, a network switch, a network bridge, or any machine capable of executing instructions 1208 that specify actions to be taken by the machine 1200, either sequentially or otherwise. In addition, while only a single machine 1200 is illustrated, the term "machine" should also be understood to include a collection of machines that individually or collectively execute instructions 1208 to perform any one or more of the methodologies discussed herein.
[0049] The machine 1200 may include a processor 1202, a memory 1204, and an I / O component 1242, which may be configured to communicate with each other via a bus 1244. In an example embodiment, the processor 1202 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, a processor 1206 that executes instructions 1208 and a processor 1210. The term "processor" is intended to include a multi-core processor, which may include two or more independent processors (sometimes referred to as "cores") that may execute instructions simultaneously. Although Fig.12 Multiple processors 1202 are shown, but the machine 1200 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.
[0050] The memory 1204 includes a main memory 1212, a static memory 1214, and a storage unit 1216, all of which are accessible to the processor 1202 via a bus 1244. The main memory 1204, the static memory 1214, and the storage unit 1216 store instructions 1208 that implement any one or more of the methodologies or functions described herein. During execution by the machine 1200, the instructions 1208 may also reside, completely or partially, within the main memory 1212, within the static memory 1214, within a machine-readable medium 1218 within the storage unit 1216, within at least one of the processors 1202 (e.g., within a processor cache), or any suitable combination thereof.
[0051] I / O components 1242 may include various components to receive input, provide output, generate output, transmit information, exchange information, capture measurements, etc. The specific I / O components 1242 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone may include a touch input device or other such input mechanism, while a headless server machine may not include such a touch input device. It should be understood that I / O components 1242 may include many other components not described in the specification. Fig.12 . In various example embodiments, the I / O components 1242 may include an output component 1228 and an input component 1230. The output component 1228 may include a visual component (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), an acoustic component (e.g., a speaker), a tactile component (e.g., a vibration motor, a resistance mechanism), other signal generators, etc. The input component 1230 may include an alphanumeric input component (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input component), a point-based input component (e.g., a mouse, a touch pad, a trackball, a joystick, a motion sensor, or another pointer), a tactile input component (e.g., a physical button, a touch screen that provides the location and / or force of a touch or touch gesture, or other tactile input component), an audio input component (e.g., a microphone), etc.
[0052] In yet another example embodiment, the I / O component 1242 may include a biometric component 1232, a motion component 1234, an environment component 1236, or a position component 1238, as well as a variety of other components. For example, the biometric component 1232 includes components for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body postures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweating, or brain waves), identifying people (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or EEG-based identification), etc. The motion component 1234 includes an acceleration sensor component (e.g., an accelerometer), a gravity sensor component, a rotation sensor component (e.g., a gyroscope), etc. The environment component 1236 includes, for example, an illumination sensor component (e.g., a photometer), a temperature sensor component (e.g., one or more thermometers that detect ambient temperature), a humidity sensor component, a pressure sensor component (e.g., a barometer), an acoustic sensor component (e.g., one or more microphones that detect background noise), a proximity sensor component (e.g., an infrared sensor that detects nearby objects), a gas sensor (e.g., a gas detection sensor that detects concentrations of hazardous gases for safety or measures pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to the surrounding physical environment. The position component 1238 includes a position sensor component (e.g., a GPS receiver component), an altitude sensor component (e.g., an altimeter or a barometer that detects air pressure, from which the altitude can be derived), an orientation sensor component (e.g., a magnetometer), and the like.
[0053] Communication can be achieved using a variety of technologies. I / O components 1242 also include a communication component 1240 operable to couple machine 1200 to network 1220 or device 1222 via coupling 1224 and coupling 1226, respectively. For example, communication component 1240 may include a network interface component or another suitable device that interfaces with network 1220. In other examples, communication component 1240 may include a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, Components (e.g., low power Components), Components and other communication components that provide communication via other modalities. Device 1222 can be another machine or any of a variety of peripheral devices (e.g., a peripheral device coupled via USB).
[0054] In addition, the communication component 1240 can detect an identifier or include a component operable to detect an identifier. For example, the communication component 1240 can include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor to detect one-dimensional bar codes such as universal product codes (UPC) bar codes, multi-dimensional bar codes such as quick response (QR) codes, Aztec codes, data matrix, data glyphs, MaxiCode, PDF417, supercode, UCC RSS-2D bar codes, and other optical codes), or an acoustic detection component (e.g., a microphone to identify an audio signal with a tag). In addition, various information can be obtained via the communication component 1240, such as a location via Internet Protocol (IP) geolocation, a location via Internet Protocol (IP), ... The location of signal triangulation, the location of an NFC beacon signal via detection that can indicate a specific location, etc.
[0055] Various memories (e.g., memory 1204, main memory 1212, static memory 1214, and / or memory of processor 1202) and / or storage unit 1216 may store one or more sets of instructions and data structures (e.g., software) that embody or are used by one or more of the methods or functions described herein. When these instructions (e.g., instructions 1208) are executed by processor 1202, various operations are caused to implement the disclosed embodiments.
[0056] The instructions 1208 may be transmitted or received by any of the following: over the network 1220, using a transmission medium, via a network interface device (e.g., a network interface component included in the communication component 1240), and using any of a number of well-known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)). Similarly, the instructions 1208 may be transmitted or received to the device 1222 using a transmission medium via a coupling 1226 (e.g., a peer-to-peer coupling).
[0057] Although an overview of the subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to these embodiments without departing from the broader scope of embodiments of the present invention. For example, one of ordinary skill in the art may mix, match, or make optional the various embodiments or features thereof herein. These embodiments of the subject matter of the present invention may be referred to herein individually or collectively by the term "invention", which is merely for convenience, and if more than one invention or concept is actually disclosed, this is not intended to voluntarily limit the scope of the present application to any single invention or concept.
[0058] It is believed that the embodiments described herein are described in sufficient detail to enable those skilled in the art to practice the disclosed teachings. Other embodiments may be used and derived therefrom, so that structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. Therefore, the specific embodiments should not be construed as limiting, and the scope of the various embodiments is limited only by the appended claims and the full scope of equivalents to which these claims are assigned.
[0059] In addition, multiple instances may be provided for resources, operations or structures described herein as single instances. In addition, the boundaries between various resources, operations, modules, engines and data stores are arbitrary to some extent, and specific operations are shown in the context of specific illustrative configurations. The allocation of other functions can be expected and can fall within the scope of various embodiments of the present invention. Typically, the structure and function presented as a separate resource in the example configuration can be implemented as a combined structure or resource. Similarly, the structure and function presented as a single resource can be implemented as a separate resource. These and other variations, modifications, additions and improvements fall within the scope of the embodiments of the present invention represented by the appended claims. Therefore, the description and drawings are considered to be illustrative rather than restrictive.
[0060] Example
[0061] Example 1 is a computer-implemented method comprising: accessing an unfilled form; identifying one or more converters based on a format of the unfilled form; using the one or more converters, identifying multiple fields in the unfilled form; generating a document model based on the multiple fields; and forming an action card based on the document model.
[0062] Example 2 is a computer-implemented method according to Example 1, further comprising: converting an unfilled form from a first format to a document model based on multiple identified fields; identifying a second format corresponding to an action card; converting the document from the first format to the second format based on the multiple fields; and generating an interactive workflow for the action card based on the multiple fields.
[0063] Example 3 is a computer-implemented method according to Example 1, further comprising: receiving a request from the first client device to transmit the action card to the second client device; and transmitting the action card to the second client device.
[0064] Example 4 is a computer-implemented method according to Example 3, wherein receiving further comprises: receiving a request from a first client device via a first chat-based application operating on the first client device, wherein transmitting further comprises: providing an action card via a second chat-based application operating on a second client device.
[0065] Example 5 is a computer-implemented method according to example 4, further comprising: receiving, via a second chat-based application, from a second client device, a data entry for a corresponding field in the action card; and storing the data entry in a database.
[0066] Example 6 is a computer-implemented method according to Example 1, further comprising: receiving an unfilled form via a first chat-based application operating on a first client device; providing an action card to the first client device; receiving revision information from the first client device, the revision information indicating a modification of the action card; and modifying the action card based on the revision information.
[0067] Example 7 is a computer-implemented method according to example 1, wherein the action card is configured to operate using a chat-based application, the chat-based application being configured to generate a mapping for each field of the action card.
[0068] Example 8 is a computer-implemented method according to Example 1, further comprising: converting an unfilled form from a first format to a document model based on multiple identified fields; identifying a second format, the second format being based on at least one of an HTML format, a JSON format, and an XML format; and converting the document model into a new document based on the second format.
[0069] Example 9 is a computer-implemented method according to Example 1, wherein the unfilled form is in a first format, the first format comprising at least one of an image, a pdf document, or a text document.
[0070] Example 10 is a computer-implemented method according to Example 9, further including: identifying a first format; identifying a first converter corresponding to the first format; identifying a second converter corresponding to the first format; generating a first document model using the first converter configured to operate on an unfilled form; generating a second document model using the second converter configured to operate on an unfilled form; forming a single document model by merging the first document model with the second document model; identifying a structure of the single document model; identifying a schema of the single document model; organizing fields based on the structure and schema in the single document model; and forming a layout of the single document model based on the organized fields.
Claims
1. A computer-implemented method, include: Accessing the unfilled form at the application server; identifying at least one converter based on a format of the unpopulated form; identifying, using the at least one converter, a plurality of fields in the unpopulated form; generating a document model based on the plurality of fields, wherein the document model includes the organized fields detected from the unfilled form; Identifying the structure and schema of the document model; organizing the plurality of fields based on the structure of the document model and the schema; Based on the organized fields, forming a layout of the document model; as well as forming an action card based on the layout of the document model, wherein the action card includes a visual representation of the card, the visual representation of the card including relevant information for display on a user's client device via an application; receiving, from a first client device via a first chat-based application operating on the first client device, a request to transfer the action card to a second client device; as well as transmitting the action card to the second client device by providing the action card via a second chat-based application operating on the second client device; receiving, via the second chat-based application, from the second client device, a data entry for a corresponding field in the action card; and The data entries are stored in a database.
2. The computer-implemented method of claim 1 , further comprising: include: converting the unfilled form from a first format to the document model based on the identified plurality of fields; identifying a second format corresponding to the action card; as well as converting the document from the first format to the second format based on the plurality of fields; as well as An interactive workflow is generated for the action card based on the multiple fields.
3. The computer-implemented method of claim 1 , further comprising: include: receiving, via the first chat-based application operating on the first client device, the unfilled form; providing the action card to the first client device; receiving revision information from the first client device, the revision information indicating a modification of the action card; as well as Based on the revision information, the action card is modified.
4. The computer-implemented method of claim 1, wherein the action card is configured to operate using a chat-based application, the chat-based application configured to generate a mapping for each field of the action card.
5. The computer-implemented method of claim 1 , further comprising: include: converting the unfilled form from a first format to the document model based on the identified plurality of fields; Identify a second format, the second format being based on at least one of an HTML format, a JSON format, and an XML format; as well as Based on the second format, the document model is converted into a new document.
6. The computer-implemented method of claim 1, wherein the unfilled form is in a first format, the first format comprising at least one of an image, a pdf document, a rich text document, or a text document.
7. The computer-implemented method of claim 6, further comprising: include: identifying the first format; identifying a first converter corresponding to the first format; identifying a second converter corresponding to the first format; generating a first document model using the first converter configured to operate on the unfilled form; generating a second document model using the second converter configured to operate on the unfilled form; as well as A single document model is formed by merging the first document model with the second document model.
8. A computing device, include: processor; as well as a memory storing instructions that, when executed by the processor, configure the apparatus to perform actions comprising: Access to unfilled forms; identifying at least one converter based on a format of the unpopulated form; identifying, using the at least one converter, a plurality of fields in the unpopulated form; generating a document model based on the plurality of fields, wherein the document model includes the organized fields detected from the unfilled form; Identifying the structure and schema of the document model; organizing the plurality of fields based on the structure of the document model and the schema; Based on the organized fields, forming a layout of the document model; and forming an action card based on the layout of the document model, wherein the action card includes a visual representation of the card, the visual representation of the card including relevant information for display on a user's client device via an application; receiving, from a first client device via a first chat-based application operating on the first client device, a request to transfer the action card to a second client device; and transmitting the action card to the second client device by providing the action card via a second chat-based application operating on the second client device; receiving, via the second chat-based application, from the second client device, a data entry for a corresponding field in the action card; and The data entries are stored in a database.
9. The computing device of claim 8, wherein the instructions further configure the device to: converting the unfilled form from a first format to the document model based on the identified plurality of fields; identifying a second format corresponding to the action card; converting the document from the first format to the second format based on the plurality of fields; as well as An interactive workflow is generated for the action card based on the multiple fields.
10. The computing device of claim 8, wherein the instructions further configure the device to: receiving, via the first chat-based application operating on the first client device, the unfilled form; providing the action card to the first client device; receiving revision information from the first client device, the revision information indicating a modification of the action card; as well as Based on the revision information, the action card is modified.
11. The computing device of claim 8, wherein the action card is configured to operate using a chat-based application, the chat-based application configured to generate a mapping for each field of the action card.
12. The computing device of claim 8, wherein the instructions further configure the device to: converting the unfilled form from a first format to the document model based on the identified plurality of fields; Identify a second format, the second format being based on at least one of an HTML format, a JSON format, and an XML format; as well as Based on the second format, the document model is converted into a new document.
13. The computing device of claim 8, wherein the unfilled form is in a first format, the first format comprising at least one of an image, a pdf document, a rich text document, or a text document; wherein the instructions further configure the device to: identifying the first format; identifying a first converter corresponding to the first format; identifying a second converter corresponding to the first format; generating a first document model using the first converter configured to operate on the unfilled form; generating a second document model using the second converter configured to operate on the unfilled form; as well as A single document model is formed by merging the first document model with the second document model.
14. A non-transitory computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to: Access to unfilled forms; identifying at least one converter based on a format of the unpopulated form; identifying, using the at least one converter, a plurality of fields in the unpopulated form; generating a document model based on the plurality of fields, wherein the document model includes the organized fields detected from the unfilled form; Identifying the structure and schema of the document model; organizing the plurality of fields based on the structure of the document model and the schema; Based on the organized fields, forming a layout of the document model; as well as forming an action card based on the layout of the document model, wherein the action card includes a visual representation of the card, the visual representation of the card including relevant information for display on a user's client device via an application; receiving, from a first client device via a first chat-based application operating on the first client device, a request to transfer the action card to a second client device; as well as transmitting the action card to the second client device by providing the action card via a second chat-based application operating on the second client device; receiving, via the second chat-based application, from the second client device, a data entry for a corresponding field in the action card; and The data entries are stored in a database.
Citation Information
Patent Citations
Unified publishing platform
US20170017618A1