Structured fine print
A method, apparatus, and computer program product are disclosed to improve utilization of fine print for a document. An example method includes receiving information identifying a location and a domain associated with the document, and identifying, based on the received location and domain, a set of fine print clause data structures relevant to the location and the domain. The method further includes transmitting an indication of the set of identified fine print clause data structures to the developer device, and receiving an indication of a selection of a subset of the set of fine print data structures. Finally, the method includes causing generation of a visual representation of the document that displays fine print clauses corresponding to the subset, wherein the location of the fine print clauses in the visual representation is based on a categorization of the fine print clause data structures corresponding to the fine print clauses.
Latest GROUPON, INC. Patents:
- Merchant incremental electronic impact value prediction and ranking using multiple machine learning models
- Method, apparatus, and computer program product for determining closing metrics
- Facilitating consumer payments and redemptions of deal offers preliminary class
- Peer-to-peer payment processing
- Consumer presence based deal offers
This application is a continuation of and claims priority to U.S. application Ser. No. 16/047,392, filed Jul. 27, 2018, which claims the benefit of U.S. Provisional Patent Application No. 62/538,072, filed Jul. 28, 2017, the entire contents of which are incorporated herein by reference.
TECHNOLOGICAL FIELDExample embodiments of the present invention relate generally to document generation and, more particularly, to a method and apparatus for improving the generation and utilization of fine print for documents.
BACKGROUNDApplicant has discovered problems with current methods for generating and utilizing fine print in documents. Through applied effort, ingenuity, and innovation, Applicant has solved many of these identified problems by developing a solution that is embodied by the present invention, which is described in detail below.
BRIEF SUMMARYAccordingly, a method, apparatus, and computer program product are provided for improving the generation of fine print for documents.
In a first example embodiment, an apparatus is provided for improved utilization of fine print for a document. The apparatus includes a processor and a memory, and the memory stores computer program code that, when executed by the processor, causes the apparatus to receive, from a developer device, information identifying a location and a domain associated with the document, and identify, based on the received location and domain, a set of fine print clause data structures relevant to the location and the domain, wherein each particular fine print clause data structure in the set includes a field defining a categorization of that particular print clause data structure. The computer program code, when executed by the processor, further causes the apparatus to transmit an indication of the set of identified fine print clause data structures to the developer device, receive, from the developer device and in response to transmission of the set of identified fine print clause data structures, an indication of a selection of a subset of the set of fine print data structures, and cause generation of a visual representation of the document that displays fine print clauses corresponding to the subset of the set of fine print data structures, wherein the location of the fine print clauses in the visual representation is based on the categorization of the fine print clause data structures corresponding to the fine print clauses.
In some embodiments of the apparatus, identifying the set of fine print clause data structures relevant to the location and the domain comprises searching the memory for one or more mapping data structures associated with the received location and domain, receiving search results comprising the one or more mapping data structures, and retrieving fine print clause data structures identified within the one or more mapping data structures, wherein the relevant fine print clause data structures comprise the retrieved fine print clause data structures.
In some embodiments, the computer program code, when executed by the processor, further causes the apparatus to retrieve, from the one or more mapping data structures and for each fine print clause data structure in the set of fine print clause data structures, presentation information indicating whether a fine print clause associated with the fine print clause data structure should be shown to a user for selection, should be pre-selected for inclusion in the promotion, or is required for the promotion, wherein transmitting the indication of the set of identified fine print clause data structures to the developer device includes transmitting the presentation information.
In some embodiments, at least one fine print clause data structure from the set of fine print clause data structures includes a configurable text data structure, wherein the indication of selection of the subset of the set of configured fine print data structures further indicates a selection of text for the configurable text data structure.
In some embodiments, the computer program code, when executed by the processor, further causes the apparatus to determine whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document. In some such embodiments, each fine print clause data structure includes a rating indicating its impact upon performance of the document, and determining whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document is based on the rating of each fine print clause data structure in the subset of the set of fine print data structures. Additionally or alternatively, the computer program code, when executed by the processor, may cause the apparatus to transmit an indication of whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document. As yet another additional or alternative feature, the computer program code, when executed by the processor, may cause the apparatus to, in an instance in which the subset of the set of configured fine print data structures does not comprise an optimal set of fine print data structures for the document, generate a recommended modification to the subset of the set of fine print data structures, and transmit an indication of the recommended modification.
In another example embodiment, a method is provided for improved utilization of fine print for a document. The method includes receiving, from a developer device, information identifying a location and a domain associated with the document, identifying, by a processor and based on the received location and domain, a set of fine print clause data structures relevant to the location and the domain, wherein each particular fine print clause data structure in the set includes a field defining a categorization of that particular print clause data structure, transmitting an indication of the set of identified fine print clause data structures to the developer device, receiving, from the developer device and in response to transmission of the set of identified fine print clause data structures, an indication of a selection of a subset of the set of fine print data structures, and causing generation of a visual representation of the document that displays fine print clauses corresponding to the subset of the set of fine print data structures, wherein the location of the fine print clauses in the visual representation is based on the categorization of the fine print clause data structures corresponding to the fine print clauses.
In some embodiments, identifying the set of fine print clause data structures relevant to the location and the domain comprises searching the memory for one or more mapping data structures associated with the received location and domain, receiving search results comprising the one or more mapping data structures, and retrieving fine print clause data structures identified within the one or more mapping data structures, wherein the relevant fine print clause data structures comprise the retrieved fine print clause data structures.
In some embodiments, the method further includes retrieving, from the one or more mapping data structures and for each fine print clause data structure in the set of fine print clause data structures, presentation information indicating whether a fine print clause associated with the fine print clause data structure should be shown to a user for selection, should be pre-selected for inclusion in the promotion, or is required for the promotion, wherein transmitting the indication of the set of identified fine print clause data structures to the developer device includes transmitting the presentation information.
In some embodiments, at least one fine print clause data structure from the set of fine print clause data structures includes a configurable text data structure, and the indication of selection of the subset of the set of configured fine print data structures further indicates a selection of text for the configurable text data structure.
In some embodiments, the method includes determining, by the processor, whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document. In some such embodiments, each fine print clause data structure includes a rating indicating its impact upon performance of the document, and determining whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document is based on the rating of each fine print clause data structure in the subset of the set of fine print data structures. Additionally or alternatively, the method may further include transmitting an indication of whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document. As yet another additional or alternative feature, the method may include, in an instance in which the subset of the set of configured fine print data structures does not comprise an optimal set of fine print data structures for the document, generating, by the processor, a recommended modification to the subset of the set of fine print data structures, and transmitting an indication of the recommended modification.
In another example embodiment, a computer program product is provided for improved utilization of fine print for a document. The computer program product comprises a computer-readable storage medium storing computer program code that, when executed by an apparatus, causes the apparatus to receive, from a developer device, information identifying a location and a domain associated with the document, identify, based on the received location and domain, a set of fine print clause data structures relevant to the location and the domain, wherein each particular fine print clause data structure in the set includes a field defining a categorization of that particular print clause data structure, transmit an indication of the set of identified fine print clause data structures to the developer device, receive, from the developer device and in response to transmission of the set of identified fine print clause data structures, an indication of a selection of a subset of the set of fine print data structures, and cause generation of a visual representation of the document that displays fine print clauses corresponding to the subset of the set of fine print data structures, wherein the location of the fine print clauses in the visual representation is based on the categorization of the fine print clause data structures corresponding to the fine print clauses.
In some embodiments, identifying the set of fine print clause data structures relevant to the location and the domain comprises searching the memory for one or more mapping data structures associated with the received location and domain, receiving search results comprising the one or more mapping data structures, and retrieving fine print clause data structures identified within the one or more mapping data structures, wherein the relevant fine print clause data structures comprise the retrieved fine print clause data structures.
In some embodiments, the computer program code, when executed by the apparatus, further causes the apparatus to retrieve, from the one or more mapping data structures and for each fine print clause data structure in the set of fine print clause data structures, presentation information indicating whether a fine print clause associated with the fine print clause data structure should be shown to a user for selection, should be pre-selected for inclusion in the promotion, or is required for the promotion, wherein transmitting the indication of the set of identified fine print clause data structures to the developer device includes transmitting the presentation information.
In some embodiments, at least one fine print clause data structure from the set of fine print clause data structures includes a configurable text data structure, and the indication of selection of the subset of the set of configured fine print data structures further indicates a selection of text for the configurable text data structure.
In some embodiments, the computer program code, when executed by the apparatus, further causes the apparatus to determine whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document. In some such embodiments, each fine print clause data structure includes a rating indicating its impact upon performance of the document, and determining whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document is based on the rating of each fine print clause data structure in the subset of the set of fine print data structures. Additionally or alternatively, the computer program code, when executed by the apparatus, may further cause the apparatus to transmit an indication of whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document. As yet another additional or alternative feature, the computer program code, when executed by the apparatus, further causes the apparatus to in an instance in which the subset of the set of configured fine print data structures does not comprise an optimal set of fine print data structures for the document, generate a recommended modification to the subset of the set of fine print data structures, and transmit an indication of the recommended modification.
In another example embodiment, an apparatus is provided for dynamically updating fine print clause data structures to incorporate rating information. The apparatus includes communications circuitry configured to receive a fine print clause data structure having a globally unique identifier (GUID), clause rating circuitry configured to query a historical database using the GUID of the fine print clause data structure to retrieve previously generated documents that include the fine print clause data structure, and rate a performance impact of the fine print clause data structure using the previously generated documents, and a memory configured to store the rating in the fine print clause data structure.
In some embodiments, rating the performance impact of the fine print clause data structures comprises evaluating success of the previously generated documents that include the fine print clause data structure, calculating a significance of the fine print clause data structure to the success of the previously generated documents, and generating the rating based on the calculated significance.
In another example embodiment, a method is provided for dynamically updating fine print clause data structures to incorporate rating information. The method includes receiving a fine print clause data structure having a globally unique identifier (GUID), querying a historical database, by clause rating circuitry of a server device and using the GUID of the fine print clause data structure, to retrieve previously generated documents that include the fine print clause data structure, rating, by the clause rating circuitry, a performance impact of the fine print clause data structure using the previously generated documents, and storing the rating in the fine print clause data structure.
In some embodiments, rating the performance impact of the fine print clause data structures comprises evaluating success of the previously generated documents that include the fine print clause data structure, calculating a significance of the fine print clause data structure to the success of the previously generated documents, and generating the rating based on the calculated significance.
In another example embodiment, a computer program product is provided for dynamically updating fine print clause data structures to incorporate rating information. The computer program product comprise a computer-readable storage medium storing computer program code that, when executed by an apparatus, causes the apparatus to receive a fine print clause data structure having a globally unique identifier (GUID), query a historical database, using the GUID of the fine print clause data structure, to retrieve previously generated documents that include the fine print clause data structure, rate a performance impact of the fine print clause data structure using the previously generated documents, and store the rating in the fine print clause data structure.
In some embodiments, rating the performance impact of the fine print clause data structures comprises evaluating success of the previously generated documents that include the fine print clause data structure, calculating a significance of the fine print clause data structure to the success of the previously generated documents, and generating the rating based on the calculated significance.
The above summary is provided merely for purposes of summarizing some example embodiments to provide a basic understanding of some aspects of the invention. Accordingly, it will be appreciated that the above-described embodiments are merely examples and should not be construed to narrow the scope or spirit of the invention in any way. It will be appreciated that the scope of the invention encompasses many potential embodiments in addition to those here summarized, some of which will be further described below.
Having thus described certain example embodiments of the present disclosure in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale.
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, these inventions may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
As used herein, the terms “data,” “content,” “information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received, and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention. Further, where a computing device is described herein to receive data from another computing device, it will be appreciated that the data may be received directly from the another computing device or may be received indirectly via one or more intermediary computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, hosts, and/or the like, sometimes referred to herein as a “network.” Similarly, where a computing device is described herein to send data to another computing device, it will be appreciated that the data may be sent directly to the another computing device or may be sent indirectly via one or more intermediary computing devices, such as, for example, one or more servers, relays, routers, network access points, base stations, hosts, and/or the like.
As used herein, the term “fine print developer” refers to any party that generates and/or modifies documents with which fine print is associated. For instance, a fine print developer may be a business owner, tradesperson, vender, operator, entrepreneur, agent, dealer, organization or the like that is in the business of a providing a good, service or experience to a consumer. One example fine print developer may be a running company that generates documents promoting sales and/or events related to running.
As used herein, the term “fine print” refers to parameters (legal or contractual), restrictions, or other considerations that outline any term, timing, constraints, or limitations, that regard the rights of an end-user to use a document. In this regard, fine print may thus include limitations on liability, conditions for eligibility, blackout dates, “blacklistings” (groups not approved to use or gain benefit from the document), “whitelistings” (groups expressly approved to user and/or otherwise gain some benefit from the document), or any other notification that a fine print developer may desire to place on a document. For example, using the aforementioned running company as an example fine print developer and a promotion offered by the running company as a document with which fine print is associated, examples of the fine print may be: a limit of one purchase per person, a restriction on the physical store locations at which redemption is allowed, a set of end-users who may utilize the document, a set of end-users who may not utilize the document, a set of blackout dates during which the document may not be used, or the like.
OverviewA method, apparatus, and computer program product are provided in accordance with an example embodiment of the present invention in order to improve the generation and utilization of fine print for documents.
When interacting with large numbers of end-users across the world, organizations must become increasingly sensitive to the variety of types, detail, and content of fine print included in documents exchanged with such individuals. For instance, when a global platform offers promotions to end-users on behalf of a wide variety of merchants, it becomes increasingly important to ensure flexibility regarding the types of fine print that may be included in any given promotion. Historically, individuals have manually developed and prepared the fine print for such documents. However, there are several drawbacks of this manual method for generating fine print in documents.
For instance, human error can always cause problems. Even the most attentive individual will occasionally make inadvertent typographical or grammatical errors, which can render the fine print ambiguous or unclear. Moreover, such errors present a monetary risk, such as when the fine print accidentally authorizes windfall returns to one party or another.
In the case of fine print used for promotions, when a sales representative manually develops fine print for a promotion based on an interaction with a merchant, there exists a chance that some part of the merchant's intent during the interaction will get lost, and will therefore not be captured by the fine print that the sales representative eventually develops. Moreover, even if the merchant's intent is captured, by developing fine print manually, the fine print that eventually is drafted may often be worded differently from the language desired by the merchant, and small changes in language may have large effects on the rights of the parties governed by the promotion and the likelihood of engagement by end-users. As a result, consumers who purchase such promotions may be driven to seek refunds for purchased promotions, rather than redeeming the promotions for products and services at merchant locations. Not only do refund requests tarnish the brand of both the merchant and global platform while reducing profits, but refund requests can reduce the value of the promotion to merchants, thereby driving some amount of future business away from the global platform.
These same problems generalize to other environments as well. When documents are generated having ambiguous or unclear fine print, or fine print that does not track well with the needs or desires of one or another party associated with the document, there is a direct threat to the credibility and market position of the individual or organization generating the document and its associated fine print.
Accordingly, to surmount these problems, example embodiments of the present invention are shown for generating fine print that is more robust, efficiently created, better captures fine print developer intent, and improves the clarity of fine print for end-users. In some example embodiments, a global attribute taxonomy is utilized to improve the structuring and classification of fine print clause data structures. The fine print clause data structures encapsulate the universe of potential fine print clauses that may be used in a typical document, and selection of fine print clause data structures by a fine print developer is guided by the hierarchy set enforced through use of the global attribute taxonomy. In this regard, the fine print clause data structures may be categorized into location, contractual right, or marketing categories, and can therefore be sorted and displayed to end-users based on these categorizations. The fine print clause data structures may also, of course, be associated with particular domains (e.g., for a promotion, this may be particular products or services) within which they are expected to be used, which facilitates initial development of a set of fine print clauses for a given document.
Accordingly, an end-user or fine print developer, when interacting with the server system, may create fine print for a document using an intuitive user interface to select and configure relevant fine print clauses, and this fine print may be organized for visual display in an intuitive and user-friendly fashion. By standardizing the fine print clauses that may be selected and improving the friendliness of the way fine print is displayed on documents, the server system service is able to improve the consistency of the fine print deployed, improve the experience of fine print developers due to the speed with which the fine print can be created, and improve the experience of end-users interacting with the produced documents. In other words, example embodiments accordingly set forth meaningful improvements improving the ease of use and quality of result provided by the organization facilitating generation of fine print.
Moreover, by utilizing the logical architecture described herein, additional add-on improvements are also possible. For instance, the server system can recommend specific fine print clauses or sets of fine print clauses based on an analysis of the structured documentation associated with a historical database of documents that have previously used various fine print clauses. Accordingly, example embodiments described herein facilitate an improved self-service model for fine print generation that can add value in a more rigorous fashion than an individual who would otherwise assist a fine print developer in generating appropriate fine print for a document. Example embodiments of the present invention thus enhance the fine print developer experience by reducing the degree of reliance upon sales representatives that otherwise may exist. In addition, due to the configurability of the fine print clause data structures described below, example embodiments of the present invention provide a way to maintain the flexibility and modifiability of traditional methods for manually generating promotion fine print while automating and expediting the fine print generation process.
System ArchitectureThe method, apparatus, and computer program product of the present invention may be embodied by any of a variety of devices. For example, the method, apparatus, and computer program product of an example embodiment may be embodied by a networked device, such as a server or other network entity, configured to communicate with one or more devices, such as one or more client devices. Additionally or alternatively, the computing device may include fixed computing devices, such as a personal computer or a computer workstation. Still further, an example embodiment may be embodied by any of a variety of mobile terminals, such as a portable digital assistant (PDA), mobile telephone, smartphone, laptop computer, tablet computer, or any combination of the aforementioned devices.
In this regard,
The server device 104 may be embodied by a computing system, such as apparatus 200 shown in
The processor 202 may be embodied in a number of different ways and may, for example include one or more processing devices configured to perform independently. Additionally or alternatively, the processor may include one or more processors configured in tandem via a bus to enable independent execution of instructions, pipelining, and/or multithreading.
In an example embodiment, the processor 202 may be configured to execute instructions stored in the memory 204 or otherwise accessible to the processor. Alternatively or additionally, the processor may be configured to execute hard-coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Alternatively, as another example, when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed.
In some embodiments, the apparatus 200 may include input/output circuitry 206 that may, in turn, be in communication with processor 202 to provide output to the user and, in some embodiments, to receive an indication of a user input. The input/output circuitry 206 may comprise a user interface and may include a display and may comprise a web user interface, a mobile application, a client device, a kiosk, or the like. In some embodiments, the input/output circuitry 206 may also include a keyboard, a mouse, a joystick, a touch screen, touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms. The processor and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor (e.g., memory 204, and/or the like).
Meanwhile, the communications circuitry 208 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus 200. In this regard, the communication interface may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface may additionally or alternatively support wired communication. As such, for example, the communication interface may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB), or other mechanisms.
The clause rating circuitry 210 may be used to calculate ratings for fine print clause data structures, as well be described in greater detail below. The ratings may comprise an estimate of the impact of the fine print clause data structure on the performance of a promotion in which the fine print is included. The ratings may be based on an analysis of previously offered promotions stored in historical database 110. Moreover, upon expiration of a promotion, the clause rating circuitry 210 may update ratings for the fine print clause data structures used in the promotion, taking into account the additional data gathered from the expired promotion. As a result, the clause rating circuitry 210 is able to dynamically update the fine print clause data structures and mapping data structures in a way that ensures that the most accurate and relevant fine print is suggested to sales representatives, merchants, or other promotion creator in view of the latest performance metrics.
The clause editing circuitry 212 may be used to create and revise fine print clause data structures, as well as mapping data structures, used in embodiments of the present invention. The clause editing circuitry 212 may generate new fine print clause data structures by evaluating previously offered promotions and identifying fine print clauses that may be relevant to future promotions. The clause editing circuitry 212 may also revise existing fine print clause data structures in view of revised clause ratings determined by the clause rating circuitry 210. Finally, the clause editing circuitry 212 may create and revise mapping data structures, which document relationships between products, services, and locations at which promotions may be redeemed.
In one embodiment, a fine print developer may use the apparatus 200 to generate promotion fine print in accordance with example embodiments of the invention. However, in other embodiments, a fine print developer may interact with the server system 102, from a developer device 116. End users may interact with the documents containing the generated fine print via user devices 114A-114N.
Referring now to
In
The processor 302 may be embodied in a number of different ways and may, for example include one or more processing devices configured to perform independently. Additionally or alternatively, the processor may include one or more processors configured in tandem via a bus to enable independent execution of instructions, pipelining, and/or multithreading.
In an example embodiment, the processor 302 may be configured to execute instructions stored in the memory 304 or otherwise accessible to the processor. Alternatively or additionally, the processor may be configured to execute hard-coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Alternatively, as another example, when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed.
The user interface 306 that may, in turn, be in communication with processor 302 to provide output to the user and, in some embodiments, to receive an indication of a user input. As such, the user interface may include a display and may comprise a web user interface, a mobile application, a client device, a kiosk, or the like. In some embodiments, the user interface 306 may also include a keyboard, a mouse, a joystick, a touch screen, touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms. The processor and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor (e.g., memory 304, and/or the like).
Meanwhile, the communications circuitry 308 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or circuitry in communication with the apparatus 300. In this regard, the communication interface may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface may include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface may additionally or alternatively support wired communication. As such, for example, the communication interface may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB), or other mechanisms.
Data StructuresTo enable fine print developers (e.g., sales representatives, merchants, or other entities interacting with the server system) to select and configure fine print, some example embodiments involve the use of fine print clause data structures stored in global attribute taxonomy 108. The fine print may be intended for any sort of documents, examples of which include purchase agreements, employment agreements, barter systems, general contractual arrangements, or any other implementation in which fine print may have a meaningful implication on the various rights and duties of the parties. Each fine print clause data structure includes a field holding its associated fine print clause, as well as additional fields for other information relating to the clauses, as show in
In addition, each fine print clause data structure further includes a categorization field 408 defining the type of fine print clause that is represented by the fine print clause data structure. For instance, the categorization field 408 may indicate that the fine print clause comprises either a “place” clause, a “contract” clause, or a “marketing” clause. Place clauses are those attributes describing characteristics of a physical location that are unchanged from document to document. Some examples might be indications of whether a given location provides Wi-Fi, whether it accepts credit cards, the identity of a service provider at that location, standing hours of operation, whether there is indoor and/or outdoor seating at the location, whether the location accepts reservations, or the like. Contract clauses are those attributes that can vary even within a particular location and that instead are specific to the particular contractual terms of the document. Some examples might regard legal age restrictions (e.g., that one must be 21 years old to enter a bar), item attributes offered (a “Special Swedish Massage”), or the like. Finally, marketing clauses are those attributes describing features of a document that are not place-specific or contractual in nature. For example, these might be clauses such as “Good for Kids”, “Romantic”, a description of seasonality (e.g., “great winter activity”), Holiday-related clauses, or the like. By including a categorization field in the fine print clause data structure, it is possible to produce a granular analysis of specific types of fine print. Moreover, by including this categorization field, example embodiments thereafter are configured to automatically depict different fine print clauses in distinct category-specific portions of the document, thus unlocking the ability to produce a more logical and user-friendly display of the various fine print clauses to an end-user.
As shown in
Optionally, the fine print clause data structure may also include a numerical rating field that indicates an estimated impact of the fine print clause on the document, as calculated by the clause rating circuitry 210. In some embodiments, the prominence (e.g., the size, location, font, color, or the like) of the fine print clause in the user interfaces 7A-7L presented to the user may vary and/or change based on the value in the rating field.
Turning now to
The mapping data structure further includes a clauses field 416, which lists all of the fine print clause data structures 402A to 402N that are allowable for the combination of the domain and location(s) in the mapping data structure. For each fine print clause data structure 402 in the clauses field, the mapping additionally includes fields “Show,” “Selected,” and “Required” that, if non-empty, comprise rules that override the default values stored in the respective default fields of the fine print clause data structure. Accordingly, the server system 102 may use the mapping data structure to quickly identify potential fine print clause data structures for potential use in a document based on the domain and the possible locations where the document may be relevant.
Turning now to
If the interface type of a configurable text data structure is a text box, the configurable text data structure may further include a field defining default text that is pre-selected for the modifiable portion of the configurable text data structure (e.g., this default text comprises the text that will appear upon initial display of the associated fine print clause to a fine print developer) and in some embodiments may further include a regular expression (regex) validation field, which controls the manner by which the configurable text may be modified. For example, in an example in which the fine print clause recites “Limit <property name=‘purchase_limit_per_person’>1</> per person,” the default text is “1” and the regex validation field restricts input to any whole number greater than one. Accordingly, the default text can be replaced with any whole number greater than one without violating the regex validation field.
The configurable text type may alternatively instruct use of a dropdown menu. In this case, the configurable text data structure includes a series of values 420A to 420N, as well as a default value that is initially pre-selected for display. Each value 420 includes fields storing dropdown text that will be shown within the dropdown menu, and fine print text that will populate the fine print clause if the corresponding dropdown text is selected from the dropdown menu.
Using configurable text data structures within fine print clause data structure, the server system is able to transmit to a user a series of configurable fine print clauses, while still enforcing rules upon the nature of the configurations allowed. Moreover, by utilizing both fine print clause data structures and configurable text data structures having individual GUIDs, granular manipulation of the data structures and querying functionality are possible even after generation of fine print (functions not possible when in embodiments in which fine print is generated as a text block).
Operations for Fine Print GenerationTurning now to
In operation 502, the apparatus 200 includes means, such as input/output circuitry 206, communications circuitry 208, or the like, for receiving information identifying one or more locations and domains associated with a document. If the document comprises a promotion, this information may identify locations at which a customer may redeem a promotion and either a product or a service associated with the promotion. This information is likely received from a user device 114 or a fine print developer device 116 and via a network 112, as illustrated in
In operation 504, the apparatus 200 includes means, such as processor 202 or the like, for identifying, based on the received information, relevant fine print clause data structures. Using an example document comprising a promotion for a food and drink meal at a five star restaurant location, a relevant fine print clause data structure may include a clause regarding suitable attire, which may not be relevant for a promotion regarding a baseball game. Similarly, a fine print clause data structure may be relevant for a promotion for skydiving, while not relevant for a promotion for a discount on ice cream. In other examples, a promotion related to a nightclub may have an age restriction, where a travel promotion may include blackout dates. This identification operation is described in greater detail below in connection with
In one embodiment, at least one fine print clause data structure includes configurable text, such as by referencing a configurable text data structure described above with respect to
Turning now to
In operation 602, the apparatus 200 includes means, such as processor 202, memory 204, clause database 108, or the like, for searching for mapping data structures associated with the location and domain received above in operation 502. In this regard, mapping data structures may be stored in clause database 108, and therefore may be dynamically accessed by server system 102 without additional user involvement.
In operation 604, the apparatus 200 includes means, such as memory 204, input/output circuitry 206, or clause database 108, for receiving search results comprising one or more mapping data structures.
Subsequently, in operation 606, the apparatus 200 includes means, such as input/output circuitry 206, communications circuitry 208, or the like, for retrieving fine print clause data structures identified in the one or more mapping data structures. In this regard, as described above in connection with
In operation 608, the apparatus 200 includes means, such as processor 202, or the like, for identifying the retrieved fine print clause data structures.
Returning to
In operation 508, the apparatus 200 includes means, such as input/output circuitry 206, communications circuitry 208, or the like, for receiving configured versions of a subset of the fine print clause data structures transmitted in operation 506. In this regard, the creation of a configured version of a fine print clause data structure is discussed below in connection with
Finally, in operation 510, the apparatus 200 may optionally include means, such as processor 202, or the like, for generating fine print for the document using the configured versions of the fine print clause data structures. In some embodiments, the fine print can be extracted from the configured versions of the fine print clause data structures and collated into a fine print string included for inclusion within the document. An example of this string-based presentation model is illustrated in
The operations illustrated in
Starting first at operation 612, the fine print developer may, via developer device 116, select the location(s) and domain making up the document. In the example where the document comprises a promotion, this operation may include selection of the product or service being promoted as well as a location (or multiple locations) where the product or service may be redeemed.
At operation 614, the sever device 104 may interact with the global attribute taxonomy 106 to generate a series of fine print clause data structures relevant to the identified location(s) and domain, and may further identify a series of values that are applicable for any of the configurable text associated with one or more of the generated fine print clause data structures.
At operation 616, the server device 104 may then interact with the developer device 116 to present to the fine print developer a series of user interfaces facilitating configuration of the fine print via selection of particular fine print clause data structures to use as well as selection of values to utilize that are configurable within any selected fine print clause data structures.
Subsequently, at operation 618, the server device may query the global attribute taxonomy 106 to resolve specific parameters corresponding to each selected fine print clause data structures and, at operation 620, may provide to an application programming interface (API) call only the “friendly text” that comprises a string storing the fine print clause for display (e.g., with any variable fields embedded therein as text), along with the GUID corresponding to the fine print clause data structure and/or the GUID corresponding to the underlying configurable text data structure. In doing so, this resolution dramatically simplifies the taxonomy by removing the need to generate a 1:1 GUID to text string match to enable downstream clients (e.g., end-user devices) to render fine print clauses corresponding to fine print clause data structures.
Finally, as shown at operation 622, the user device 114 may then expose the fine print text to an end-user via a user interface, while retaining the GUID corresponding to the structured data representative of the fine print clause text itself. In this regard, having access to the GUID of the structured data facilitates the utilization of a variety of fine print presentation options by the user device 114. For instance, a simple display may simply illustrate the fine print clause text in a basic string form, as shown in
Another feature included in some embodiments contemplated herein is the ability to automatically generate and display permissive fine print clauses designed to offset the negative impact of certain selected fine print clauses, or to automatically display a blank fine print region (in which the set of fine print clauses comprises a null state) in place of any fine print clauses having a particularly negative impact. In this regard, permissive fine print may be displayed in response to selection of restrictive fine print, but if no restrictive fine print has been selected, then the null field may be displayed (although in some embodiments, permissive fine print may be displayed nevertheless). As a result, embodiments can offer a separate display outcome (a blank fine print region) when permissive fine print is not needed. For instance, as shown in
As a corollary to the use of blank fine print regions in place of permissive fine print clauses when no such permissive clauses are necessary, blank fine print regions can be used in some embodiments to prevent extreme adverse reactions to restrictive fine print clauses. For instance, in some embodiments, when the impact of a restrictive fine print clause is sufficiently negative (e.g., more negative than some predefined or relative threshold), the restrictive fine print clause may automatically be modified to include a null value for that fine print clause to prevent its presentation to a user within the document.
Accordingly, using the locations and domain associated with a document, the server system 102 is able to identify relevant fine print clauses, transmit them for presentation to a user, and generate a specifically tailored set of fine print for the document based on the user selections. Because this specifically tailored set of fine print can be generated as structured data, the server system is further able to generate a presentation of the fine print that can maximize the effectiveness (e.g., user friendliness, clarity, or the like) of the fine print of the document.
User InterfacesIn addition, as described herein, embodiments of the present invention are able to receive relevant fine print clauses and configure a fine print clause data structure for use with a given document. Turning now to
As shown in
Alternatively or additionally, in some examples, a user interface may include one or more drop down boxes or other types of list boxes that contain fine print clauses that relate to certain messages that would be included in the fine print of the promotion. For example, in an Italian restaurant promotion, a first box may contain a listing of quantity clauses (e.g., limit one per person; limit one per person, may buy one as a gift, etc.) and a second box containing a list of dining option clauses (e.g., dine in, take out or dine in/take out). Other display methods may be used in other example embodiments.
For instance,
Turning now to
In operation 802, apparatus 300 includes means, such as user interface 302, communications circuitry 308, or the like, for receiving identifying information that identifies one or more locations and a domain associated with a document. In example embodiments where the document comprises a promotion, this may comprise receiving a set of locations at which a customer may redeem the promotion and either a product or a service associated with the promotion. In this regard, the identifying information may be provided by the fine print developer.
In operation 804, apparatus 300 includes means, such as user interface 302, communications circuitry 308, or the like, for transmitting the identifying information to a server device 102, which identifies fine print clause data structures relevant to the identifying information.
Subsequently, in operation 806, apparatus 300 includes means, such as user interface 302, communications circuitry 308, or the like, for receiving, based on the identifying information, information including a set of relevant fine print clause data structures. In some embodiments, this information also may include information, originally retrieved from a mapping data structure, indicating whether a fine print clause associated with the fine print clause data structure is required for the promotion, selected for inclusion in the promotion, or should be shown to a user for selection.
In operation 808, the apparatus 300 may include means, such as user interface 306, or the like, for displaying one or more fine print clauses received in operation 806. In one embodiment, the one or more fine print clauses may be displayed based on either the default rules contained in the corresponding fine print clause data structures, or in rules received from a mapping data structure. Either way, based on the chosen default rules, displaying the one or more fine print clauses may first include determining from the received information, for each fine print clause data structure, whether an associated fine print clause is required for the promotion, selected for inclusion in the promotion, or should be shown for selection by a user. As a result, displaying fine print clauses is based on this determination, because the one or more fine print clauses that are displayed comprise only those fine print clauses that are required for the promotion, selected for inclusion in the promotion, or that should be shown to a user for selection (i.e., irrelevant fine print clauses will not even be visible on the user interface presented to the fine print developer).
In some embodiments, the nature of the display of the one or more fine print clauses may be based on a rating of each of the fine print clauses. The rating may, as described previously, be stored as a field within each fine print clause data structure, and therefore may easily be retrieved. Based on the rating, the apparatus 300 may include means, such as the user interface 306, or the like, for adjusting the prominence of the various fine print clauses. In one such embodiment, adjusting the prominence may include listing some fine print clauses higher on the page than others. In another such embodiment, font, color, and/or text sizes may be manipulated to increase or decrease the prominence of fine print clauses based on their corresponding ratings. In yet another embodiment, if a fine print clause has a particularly high or low rating, the fine print clause may be reclassified as a required clause (which is shown and cannot be deselected) or a non-recommended clause (which is not shown to the fine print developer at all).
Additionally or alternatively, the rating may be indicative of the success (in monetary terms, by user traffic, by advertising penetrations, or by any other desired metric) that the fine print clause imparts on a document when associated with a particular mapping of a domain with one or more locations. As a result, in some embodiments, displaying the one or more fine print clauses may include displaying a numerical or graphical indication of the rating of each fine print clause in association with the displayed fine print clause. Moreover, in some such embodiments, the apparatus 300 may update the rating display based on the effect that inserted configurable text may have on the rating of a fine print clause. For instance, in the previously recited example in which the fine print clause recites “Limit <property name=‘purchase_limit_per_person’>1</> per person,” the default text is “1” and the calculated rating may indicate that inclusion of the fine print clause can be estimated to increase profit by 5% (the first unit sells at a discount, but prompts repeat purchases that otherwise would not have occurred). However, if the configurable text is configured such that the clause recites “Limit 5 per person,” the rating of the fine print clause may be updated based on data in the historical database 110 to reflect that the impact of the fine print clause is estimated to decrease profit by 15% (although total sales may rise, data in the historical database 110 may suggest that this higher limit per person would eliminate the potential for full-price repeat visits while also causing some potential full price purchasers to instead purchase at the discount price). In some example embodiments, some fine print clauses may be suggested by the system based on the fine print maximizing a margin value when compared to other fine print combinations.
In a further extension of this embodiment, the display may further identify a reason for the change in the rating based on the change in the configurable text. For example, in an example where the promotion is $5 for $15 worth of pizza, one fine print clause may recite “Eligible for <property name=‘patron_type’> take out</> customers only.” The historical database 110 may suggest that people do not dine in the identified locations, and accordingly, if the configurable fine print were modified such that the fine print stated “Eligible for dine in customers only,” the rating of the fine print clause may drop in substantially real-time.
In some embodiments, in response to presenting a display by the user interface, additional information may be received, such as, for example, an additional location (received after selection by the fine print developer of button 714, described previously). Accordingly, based upon the input received by the user interface, the apparatus 300 may optionally return to operation 802.
Thereafter, in operation 810 the apparatus 300 may include means, such as user interface 302, communications interface 306, or the like, for generating a configured fine print clause data structure for the promotion based on the displayed fine print clauses and user input, which is described in greater detail in connection with
Turning now to
In operation 902, apparatus 300 includes means, such as user interface 302, communications circuitry 308, or the like, for receiving input indicating selection of one or more of the displayed fine print clauses. This operation may include a reactive automated component, in which selection of a fine print clause predicted to have a sufficiently negative impact prompts the apparatus 300 to automatically also select one or more corresponding permissive fine print clauses that offset the negative impact of the selected fine print clause. The correspondences between restrictive fine print clause and corresponding permissive fine print clauses may be predefined and accessed using a lookup table or other similar mechanism, or may be generated by the apparatus 300 in a separate process based on historical analysis of the causal relationship between individual fine print clause data structures and document success (in which the strength of the negative causal relationship of a selected fine print clause having a negative impact can be balanced by automatic selection of a set of permissive fine print clauses having a roughly equivalent positive impact).
In operation 904, apparatus 300 may optionally include means, such as user interface 302, communications circuitry 308, or the like, for receiving input configuring any configurable portions of the selected fine print clauses. As described previously, the configurable portions may be configured via text box input (in which case only certain text entries will be accepted) or a dropdown menu which necessarily has only a limited number of selections. This operation is considered optional because some fine print clauses might not be modifiable.
In operation 906, apparatus 300 may optionally include means, such as user interface 302, communications circuitry 308, or the like, for receiving free-text entry of additional fine print clauses. As described previously with respect to
Finally, in operation 908, apparatus 300 includes means, such as processor 302, or the like, for creating a set of configured fine print clause data structures corresponding to the selected fine print clauses and any free-text fine print clauses entered. Notably, although the fine print clause field 404 may be modified in a given instance of a fine print clause data structure, the configured fine print clause data structure retains the same GUID as the template version of the fine print clause data structure. In doing so, example embodiments greatly reduce the number of GUIDs necessary to be stored by the server system 102, thus improving the technical efficiency of the operations recited herein.
Returning now to
Embodiments of the present invention described above illustrate some example ways in which a server system can be leveraged to improve the generation of fine print for documents. However, understanding the impact that fine print may have on a document may further streamline process by which a fine print developer will curate the fine print for a document. Accordingly,
In operation 1002, apparatus 200 includes means, such as processor 202 or the like, for identifying a fine print clause data structure. In this regard, the operations described in
In operation 1004, the apparatus 200 may include means, such as clause rating circuitry 210 or the like, for rating a performance impact of the fine print clause data structure. In this regard, an example series of steps for rating the performance impact is discussed in greater detail with respect to
First, in operation 1102, apparatus 200 includes means, such as processor 202, or the like, for identifying which previously generated documents include the fine print clause data structure. This process may comprise querying the historical database 110 using the GUID 402 of the fine print clause data structure or, in some embodiments, the GUID 416 of specific configurable text stored in a fine print clause field 404 of a given fine print clause data structure. The set of previously generated documents retrieved in response to the query comprises those historically generated documents that are associated with the same fine print clause data structure or one having similar component elements.
In operation 1104, the apparatus 200 may include means, such as processor 202, clause rating circuitry 210, or the like, for evaluating success of the previously offered promotions that include the fine print clause data structure. The success of a previously generated document may be gathered in different ways for different types of documents. For instance, if the document comprises a promotion, this success evaluation may be based on performance information that includes, as previously noted, the number of impressions of the promotion delivered, the number of conversions (e.g., purchases of the promotion), and the number of redemptions associated with the promotion, as well as the relevant timeframes for each of these events. Moreover, the performance indication may further include the promotions' return on investment, rate of sales, total revenue, upsell amount, additional spending prompted by the promotion, and/or any other factor that may indicate relative success or failure of a promotion, as can be calculated by the server system 102. The success of other types of documents may be evaluated in different ways. For instance, the server system 102 may distribute surveys to end-users interacting with the documents and may then evaluate the survey results as a heuristic for success. The particular questions included in a given survey may be domain specific, but with respect to fine print, may request user input to evaluate the clarity of fine print terms. Additionally or alternatively, the success of documents can be determined based on amount of use of the previously generated documents, with more frequent utilization being a heuristic indicator of success.
After having evaluated the success of the previously generated documents, in operation 1106 the apparatus 200 includes means, such as such as processor 202, clause rating circuitry 210, or the like, for calculating the significance of particular components of the fine print associated with those documents, and more specifically, the success of the particular fine print clause data structure being rated. In this regard, as the sample size of historical documents grow, the apparatus 200 will be increasingly able to control for variables other than individual fine print clauses, and may thus be able to determine the causal relationship between individual fine print clause data structures and document success. In this regard, the apparatus 200 may apply a multivariable linear regression model, including the fine print clauses and other fine print parameters to determine the impact of a given fine print clause on document success.
In operation 1108, the apparatus 200 may include means, such as processor 202, memory 204, clause editing circuitry 212, clause database 108, or the like, for generating a rating of the fine print clause data structure based on the calculated significance. In some embodiments, this rating may be a numerical rating, while in others, the rating may itself be a data structure comprising numerical information correlating to the particular domain of a document (e.g., a fine print clause may be more impactful for a document of one type than another, and the rating data structure may capture this distinction).
Returning now to
Accordingly, by evaluating the impact of fine print clauses on document performance, the fine print clause data structures and mapping data structures may be revised to incorporate rating information that can facilitate improved fine print selection by a fine print developer.
Some examples that utilize this rating information are described above in connection with
For instance,
As another example,
As described above, embodiments of the present invention automate the process of generating fine print for documents based on standardizing data structures for particular fine print clauses. In some embodiments, the standardized fine print clauses are created using the institutional knowledge of fine print developers or other domain experts. However, in some embodiments, the standardized fine print clauses can be derived from documents that have been previously generated and which are stored in the historical database 110. In this way, initial fine print clause generation can be automated, which may further reduce error and increase the breadth of clauses available for use with the above-described embodiments.
In operation 1302, apparatus 200 includes means, such as processor 202, or the like, for identifying free-text fine print clauses from a set of previously generated documents. These documents may be received, for example, from historical database 110 or may be provided via input/output circuitry 206 or communications circuitry 208. In this regard, a user may have the flexibility to enter free-text clauses above and beyond those clauses currently catalogued in clause database 108 or associated with previously generated documents stored in historical database 110.
In operation 1304, the apparatus 200 may include means, such as processor 202, clause editing circuitry 212, or the like, for extracting free-text fine print clauses from the set of previously generated documents (and/or manually entered fine print clauses). In this regard, the previously generated documents may be parsed into constituent elements, which are then analysed by the apparatus 200 to identify individual grammatical phrases which comprise fine print clauses. In some examples, the identified grammatical phrases may be assigned to a type of a clause (e.g., a quantity clause, an expiration clause or the like) and each clause may be assigned to a particular domain.
Subsequently, in operation 1306, the apparatus 200 may include means, such as such as processor 202, clause editing circuitry 212, or the like, identifying common free-text clauses not available in any known fine print clause data structures. To do this, the free-text entries may be analyzed by the apparatus 200 for patterns of text that arise, frequent words, etc. Based on this identification, common clauses that are not currently available in a fine print clause data structure can be identified.
In operation 1308, the apparatus 200 may include means, such as processor 202, clause editing circuitry 212, or the like, for creating fine print clause data structures for each common free-text fine print clause. In this regard, the most common phrasing may be used as the phrasing of the fine print clause included in each fine print clause data structure. Moreover, in some example embodiments, the fine print clause data structures may be built based on the fine print clause data structures being causally related to increased revenue when compared to other fine print clause data structures. Additionally or alternatively, the apparatus 200 may continue to monitor whether creation of new fine print clause data structures reduces the occurrence of common pattern in free-text entries.
Optionally, in operation 1310 the apparatus 200 may include means, such as processor 202, clause editing circuitry 212, or the like, for associating each new fine print clause data structure with the locations and the domain of the document(s) that include the free-text fine print clause data structure. In this regard, when adding the clause, the apparatus 200 may determine the mappings based on the free text instances (e.g., if the free-text fine print clauses are found in documents pooled largely in one geography, or only in big cities, then the newly created fine print clause data structure will be connected to those locations). As noted previously, this association may comprise creating a mapping data structure that can be queried to identify the newly created fine print clause data structures.
Finally, in operation 1312, the apparatus 200 may optionally also include means, such as processor 202, memory 204, clause editing circuitry 212, or the like, for updating fields of the fine print clause data structures to indicate default instructions. As discussed previously and shown in
As described above and as will be appreciated based on this disclosure, embodiments of the present invention may be configured as methods, mobile devices, backend network devices, and the like. Accordingly, embodiments may comprise various means including entirely of hardware or a combination of software and hardware. Furthermore, embodiments may take the form of a computer program product on at least one computer-readable storage medium having computer-readable program instructions (e.g., computer software) embodied in the storage medium. Any suitable computer-readable storage medium may be utilized, including non-transitory hard disks, CD-ROMs, flash memory, optical storage devices, magnetic storage devices, or the like.
Embodiments of the present invention have been described above with reference to block diagrams and flowchart illustrations of methods, apparatuses, systems and computer program products. It will be understood that each block of the circuit diagrams and process flowcharts, and combinations of blocks in the circuit diagrams and process flowcharts, respectively, can be implemented by various means including computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program product includes the instructions which execute on the computer or other programmable data processing apparatus create a means for implementing the functions specified in the flowchart block or blocks.
These computer program instructions may also be stored in a computer-readable storage device that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage device produce an article of manufacture including computer-readable instructions for implementing the function discussed herein. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus, thereby producing a computer-implemented process such that the instructions executed on the computer or other programmable apparatus cause performance of the steps and thereby implement the functions discussed herein.
Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the circuit diagrams and process flowcharts, and combinations of blocks in the circuit diagrams and process flowcharts, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these embodiments of the invention pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the embodiments of the invention are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. An apparatus for improved utilization of fine print for a document, the apparatus comprising a processor and a memory, the memory storing computer program code that, when executed by the processor, causes the apparatus to:
- receive, from a developer device, information identifying a location and a domain associated with the document;
- identify, based on the received location and domain, a set of fine print clause data structures relevant to the location and the domain, wherein each particular fine print clause data structure in the set of fine print clause data structures comprises a first GUID and a configurable text data structure, wherein the configurable text data structure comprises a second GUID, wherein the first GUID and the second GUID are configured to be queried;
- determine, for each particular fine print clause data structure in the set of fine print clause data structures, if each is associated with a negative impact;
- determine, for one or more of the fine print clause data structures associated with the negative impact, a recommendation of an offsetting fine print clause data structure;
- transmit an indication of the set of identified fine print clause data structures and an indication of the offsetting fine print clause data structure to the developer device;
- receive, from the developer device and in response to transmission of the indication of the set of identified fine print clause data structures and the indication of the offsetting fine print clause data structure, an indication of a selection of a subset of the set of fine print data structures; and
- cause generation of a visual representation of the document on a user interface that displays fine print clauses corresponding to the subset of the set of fine print data structures, wherein causing generation of the visual representation of the documents on the user interface comprises transmitting a string storing the fine print clauses corresponding to the subset of the set of fine print data structures for display.
2. The apparatus of claim 1, wherein identifying the set of fine print clause data structures relevant to the location and the domain comprises:
- searching the memory for one or more mapping data structures associated with the received location and domain;
- receiving search results comprising the one or more mapping data structures; and
- retrieving fine print clause data structures identified within the one or more mapping data structures; and
- wherein the fine print clause data structures relevant to the location and the domain comprise the retrieved fine print clause data structures.
3. The apparatus of claim 2, wherein the computer program code, when executed by the processor, further causes the apparatus to:
- retrieve, from the one or more mapping data structures and for each fine print clause data structure in the set of fine print clause data structures, presentation information indicating whether a fine print clause associated with the fine print clause data structure should be shown to a user for selection, should be pre-selected for inclusion, or is required; and
- wherein transmitting the indication of the set of identified fine print clause data structures and the indication of the offsetting fine print clause data structure to the developer device includes transmitting the presentation information.
4. The apparatus of claim 1, wherein the offsetting fine print clause data structure is associated with a positive impact to offset the negative impact of the fine print clause data structure associated with the negative impact; and
- wherein transmitting the indication of the set of identified fine print clause data structures to the developer device includes transmitting an indication associating the offsetting fine print clause data structure associated with the positive impact with the corresponding fine print clause data structure associated with the negative impact.
5. The apparatus of claim 1, wherein the computer program code, when executed by the processor, further causes the apparatus to:
- determine whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document.
6. The apparatus of claim 5, wherein each fine print clause data structure includes a rating indicating its impact upon performance of the document, and wherein determining whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document is based on the rating of each fine print clause data structure in the subset of the set of fine print data structures.
7. The apparatus of claim 5, wherein the computer program code, when executed by the processor, further causes the apparatus to:
- transmit an indication of whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document.
8. The apparatus of claim 5, wherein the computer program code, when executed by the processor, further causes the apparatus to:
- in an instance in which the subset of the set of configured fine print data structures does not comprise an optimal set of fine print data structures for the document, generate a recommended modification to the subset of the set of fine print data structures; and
- transmit an indication of the recommended modification.
9. A method for improved utilization of fine print for a document, the method comprising:
- receiving, from a developer device, information identifying a location and a domain associated with the document;
- identifying, by a processor and based on the received location and domain, a set of fine print clause data structures relevant to the location and the domain, wherein each particular fine print clause data structure in the set of fine print clause data structures comprises a first GUID and a configurable text data structure, wherein the configurable text data structure comprises a second GUID, wherein the first GUID and the second GUID are configured to be queried;
- determining, for each particular fine print clause data structure in the set of fine print clause data structures, if each is associated with a negative impact;
- determining, for one or more of the fine print clause data structures associated with the negative impact, a recommendation of an offsetting fine print clause data structure;
- transmitting an indication of the set of identified fine print clause data structures and an indication of the offsetting fine print clause data structure to the developer device;
- receiving, from the developer device and in response to transmission of the indication of the set of identified fine print clause data structures and the indication of the offsetting fine print clause data structure, an indication of a selection of a subset of the set of fine print data structures; and
- causing generation of a visual representation of the document on a user interface that displays fine print clauses corresponding to the subset of the set of fine print data structures, wherein causing generation of the visual representation of the documents on the user interface comprises transmitting a string storing the fine print clauses corresponding to the subset of the set of fine print data structures for display.
10. The method of claim 9, wherein identifying the set of fine print clause data structures relevant to the location and the domain comprises:
- searching a memory for one or more mapping data structures associated with the received location and domain;
- receiving search results comprising the one or more mapping data structures; and
- retrieving fine print clause data structures identified within the one or more mapping data structures; and
- wherein the fine print clause data structures relevant to the location and the domain comprise the retrieved fine print clause data structures.
11. The method of claim 10, further comprising:
- retrieving, from the one or more mapping data structures and for each fine print clause data structure in the set of fine print clause data structures, presentation information indicating whether a fine print clause associated with the fine print clause data structure should be shown to a user for selection, should be pre-selected for inclusion, or is required; and
- wherein transmitting the indication of the set of identified fine print clause data structures and the indication of the offsetting fine print clause data structure to the developer device includes transmitting the presentation information.
12. The method of claim 9, wherein the offsetting fine print clause data structure is associated with a positive impact to offset the negative impact of the fine print clause data structure associated with the negative impact; and
- wherein transmitting the indication of the set of identified fine print clause data structures to the developer device includes transmitting an indication associating the offsetting fine print clause data structure associated with the positive impact with the corresponding fine print clause data structure associated with the negative impact.
13. The method of claim 9, further comprising:
- determining, by the processor, whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document.
14. The method of claim 13, wherein each fine print clause data structure includes a rating indicating its impact upon performance of the document, and wherein determining whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document is based on the rating of each fine print clause data structure in the subset of the set of fine print data structures.
15. The method of claim 13, further comprising:
- transmitting an indication of whether the subset of the set of configured fine print data structures comprises an optimal set of fine print data structures for the document.
16. The method of claim 13, further comprising:
- in an instance in which the subset of the set of configured fine print data structures does not comprise an optimal set of fine print data structures for the document, generating, by the processor, a recommended modification to the subset of the set of fine print data structures; and transmitting an indication of the recommended modification.
17. A computer program product for improved utilization of fine print for a document, the computer program product comprising a computer-readable storage medium storing computer program code that, when executed by an apparatus, causes the apparatus to:
- receive, from a developer device, information identifying a location and a domain associated with the document;
- identify, based on the received location and domain, a set of fine print clause data structures relevant to the location and the domain, wherein each particular fine print clause data structure in the set of fine print clause data structures comprises a first GUID and a configurable text data structure, wherein the configurable text data structure comprises a second GUID, wherein the first GUID and the second GUID are configured to be queried;
- determine, for each particular fine print clause data structure in the set of fine print clause data structures, if each is associated with a negative impact;
- determine, for one or more of the fine print clause data structures associated with the negative impact, a recommendation of an offsetting fine print clause data structure;
- transmit an indication of the set of identified fine print clause data structures and an indication of the offsetting fine print clause data structure to the developer device;
- receive, from the developer device and in response to transmission of the indication of the set of identified fine print clause data structures and the indication of the offsetting fine print clause data structure, an indication of a selection of a subset of the set of fine print data structures; and
- cause generation of a visual representation of the document on a user interface that displays fine print clauses corresponding to the subset of the set of fine print data structures, wherein causing generation of the visual representation of the documents on the user interface comprises transmitting a string storing the fine print clauses corresponding to the subset of the set of fine print data structures for display.
18. The computer program product of claim 17, wherein identifying the set of fine print clause data structures relevant to the location and the domain comprises:
- searching a memory for one or more mapping data structures associated with the received location and domain;
- receiving search results comprising the one or more mapping data structures; and
- retrieving fine print clause data structures identified within the one or more mapping data structures; and
- wherein the fine print clause data structures relevant to the location and the domain comprise the retrieved fine print clause data structures.
19. The computer program product of claim 18, wherein the computer program code, when executed by the apparatus, further causes the apparatus to:
- retrieve, from the one or more mapping data structures and for each fine print clause data structure in the set of fine print clause data structures, presentation information indicating whether a fine print clause associated with the fine print clause data structure should be shown to a user for selection, should be pre-selected for inclusion, or is required; and
- wherein transmitting the indication of the set of identified fine print clause data structures and the indication of the offsetting fine print clause data structure to the developer device includes transmitting the presentation information.
20. The computer program product of claim 17, wherein the offsetting fine print clause data structure is associated with a positive impact to offset the negative impact of the fine print clause data structure associated with the negative impact; and
- wherein transmitting the indication of the set of identified fine print clause data structures to the developer device includes transmitting an indication associating the offsetting fine print clause data structure associated with the positive impact with the corresponding fine print clause data structure associated with the negative impact.
9870629 | January 16, 2018 | Cardno et al. |
20140122200 | May 1, 2014 | Granville |
Type: Grant
Filed: Nov 16, 2020
Date of Patent: May 17, 2022
Assignee: GROUPON, INC. (Chicago, IL)
Inventors: David Beeman (San Francisco, CA), Neil Crist (Snoqualmine, WA), Jon Hackbarth (San Francisco, CA), Jacob Johnston (Chicago, IL), Timothy P. Galeckas (Aurora, IL), Amit Koren (San Carlos, CA), Francisco Jose Larrain (Palo Alto, CA), Tanya Koshy (Sunnyvale, CA), Karan Kaushik (San Francisco, CA), Ricardo Andres Zilleruelo Ramos (Mountain View, CA), Matias Esteban Arenas (Santiago), Kavita Kochar (Chicago, IL), Stephen Wooten (Chicago, IL)
Primary Examiner: Azam A Ansari
Application Number: 17/098,987