# US 10,482,169 B2 · Recommending form fragments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,482,169 B2
- Document ID: US10482169B2
- Status: Granted
- Kind: B2
- Application number: 14/697,395
- Filed: 2015-04-27
- Published: 2016-10-27
- Granted: 2019-11-19
- Earliest claimed: 2015-04-27
- Assignees: Adobe Inc.
- Applicants: Adobe Inc.
- Inventors: Harpreet Singh; Arvind Heda
- Web page: https://patentgrep.com/patent/US10482169B2

## CPC

- G06F 40/174: Form filling; Merging
- G06F 40/131: Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present invention provides recommendation of top scoring form fragments to a form designer. A plurality of form fragments may be stored in a form repository, each form fragment including user-defined form fragment attributes, and analytics data for the form fragments may be collected over a period of time to calculate a performance score for each of the form fragments. When an author searches for a form fragment, at least one matching form fragment from the form repository may be obtained based on the search query or criteria inputted by the author using natural language processing (NLP). The matching form fragments may be ordered based on the performance score, where higher performing form fragments are listed first. The ordered form fragments may be displayed on a device associated with the author so that the form fragments may be used by the author when authoring forms.

## Claims

### Claim 1

One or more computer storage media storing computer readable instructions that, when executed by a computing device having a processor, cause the computing device to perform a method for recommending form fragments, the method comprising:
storing a plurality of form fragments from a plurality of preexisting forms in a form repository, each form fragment comprising a logical collection of elements and including predefined form fragment attributes;
collecting analytics data for the plurality of form fragments over a period of time, the analytics data comprising performance metrics based on usage of the plurality of form fragments in the plurality of preexisting forms;
in response to a search query, initiating a search of the form repository for relevant form fragments from the plurality of preexisting forms;
receiving search results comprising a set of relevant form fragments;
calculating a standard deviation of values for a portion of the analytics data associated with the set of relevant form fragments;
assigning a weight to the standard deviation of values for the portion of the analytics data;
calculating an overall score for each form fragment in the set of relevant form fragments, wherein the overall score is based on the weight and the standard deviation of values for the portion of the analytics data;
ordering the set of relevant form fragments by the overall score for each form fragment in the set of relevant form fragments; and
providing for presentation the ordered set of relevant form fragments.

### Claim 2 (depends on 1)

The one or more computer storage media of claim 1, wherein the form fragment attributes comprise at least one of validation rules, formatting rules, description, metadata, help content, and accessibility content; and the form fragment attributes are user-defined or implicitly defined form fragment attributes.

### Claim 3 (depends on 1)

The one or more computer storage media of claim 1, wherein the performance metrics comprise at least one of a number of times help is accessed for the form fragment in a first preexisting form, a number of validation errors received for the form fragment in a second preexisting form, or a time spent on the form fragment in a third preexisting form.

### Claim 4 (depends on 1)

The one or more computer storage media of claim 1, wherein initiating the search of the form repository for relevant form fragments comprises searching metadata of the plurality of form fragments for search terms in the search query.

### Claim 5 (depends on 1)

The one or more computer storage media of claim 1, wherein initiating the search of the form repository for relevant form fragments comprises performing a contextual search on the form repository, wherein the contextual search uses form fragment relationships to perform the contextual search on at least one of name, description, metadata, or help.

### Claim 6 (depends on 1)

The one or more computer storage media of claim 1, wherein initiating the search of the form repository for relevant form fragments comprises performing natural language processing on the search query on at least one of the form fragment attributes.

### Claim 7 (depends on 1)

The one or more computer storage media of claim 1, wherein the portion of the analytics data comprises a number of validation errors associated with the set of relevant form fragments.

### Claim 8 (depends on 1)

The one or more computer storage media of claim 1, wherein the method further comprises:
determining a contextual score for each form fragment in the set of relevant form fragments based on existing form fragments of a current form, wherein form fragments originating from a preexisting form that included at least one of the existing form fragments of the current form have a higher weight than form fragments originating from a preexisting form that did not include at least one of the existing form fragments of the current form; and
using the contextual score to determine the overall score for each form fragment in the set of relevant form fragments.

### Claim 9 (depends on 1)

The one or more computer storage media of claim 1, wherein the form repository is a virtual repository storing references to the plurality of form fragments from the plurality of preexisting forms.

### Claim 10 (depends on 1)

The one or more computer storage media of claim 1, wherein providing for presentation the ordered set of relevant form fragments comprises providing for presentation for each form fragment in the set of relevant form fragments: a form fragment name for the respective form fragment, a performance score for the respective form fragment, and a preview of an existing form that includes the respective form fragment.

### Claim 11 (depends on 1)

The one or more computer storage media of claim 1, wherein the method further comprises tagging the plurality of form fragments with an identifier, and wherein initiating the search comprises searching for the tagged identifier.

### Claim 12

A method for recommending form fragments, the method comprising:
storing a plurality of preexisting forms in a form repository, each of the plurality of preexisting forms comprising one or more form fragments;
collecting analytics data for the one or more form fragments over a period of time, the analytics data comprising performance metrics based on usage of the one or more form fragments in the plurality of preexisting forms;
in response to a search query, initiating a search of the form repository for relevant form fragments from the plurality of preexisting forms;
receiving search results comprising a set of relevant form fragments;
calculating a standard deviation of values for a portion of the analytics data associated with the set of relevant form fragments;
assigning a weight to the standard deviation of values for the portion of the analytics data;
calculating an overall score for each form fragment in the set of relevant form fragments, wherein the overall score is based on the weight and the standard deviation of values for the portion of the analytics data;
ordering the set of relevant form fragments by the overall score for each form fragment in the set of relevant form fragments; and
providing for presentation the ordered set of relevant form fragments.

### Claim 13 (depends on 12)

The method of claim 12, wherein the search of the form repository is based on a contextual text match of the search query, wherein the contextual text match considers other form fragments used in a present form.

### Claim 14 (depends on 12)

The method of claim 12, wherein the portion of the analytics data comprises a number of validation errors associated with the set of relevant form fragments.

### Claim 15 (depends on 12)

The method of claim 12, wherein the method further comprises:
determining a contextual score for each form fragment in the set of relevant form fragments based on existing form fragments of a current form, wherein form fragments originating from a form that is the same as the current form are given a higher weight; and
using the contextual score to determine the overall score for each form fragment in the set of relevant form fragments.

### Claim 16 (depends on 12)

The method of claim 12, wherein each of the one or more form fragments comprises at least one of validation rules, formatting rules, help content, or accessibility content.

### Claim 17

A system comprising:
one or more processors; and
one or more computer storage media storing computer-useable instructions that, when executed by the one or more processors, implement a method comprising:
storing a plurality of form fragments from a plurality of preexisting forms in a form repository,
collecting analytics data for the plurality of form fragments, wherein the analytics data is associated with usage of the plurality of form fragments in the plurality of preexisting forms,
in response to a search query, initiating a search of the form repository for relevant form fragments from the plurality of preexisting forms,
receiving search results comprising a set of relevant form fragments,
calculating a standard deviation of values for a portion of the analytics data associated with the set of relevant form fragments,
assigning a weight to the standard deviation of values for the portion of the analytics data,
calculating an overall score for each form fragment in the set of relevant form fragments, wherein the overall score is based on the weight and the standard deviation of values for the portion of the analytics data,
ordering the set of relevant form fragments by the overall score for each form fragment in the set of relevant form fragments, and
providing for presentation the ordered set of relevant form fragments.

### Claim 18 (depends on 17)

The system of claim 17, wherein the analytics data comprises at least one of a number of times help is accessed for the form fragment in a first preexisting form, a number of validation errors received for the form fragment in a second preexisting form, or a time spent on the form fragment in a third preexisting form.

### Claim 19 (depends on 17)

The system of claim 17, wherein initiating the search of the form repository for relevant form fragments comprises searching metadata of the plurality of form fragments for search terms in the search query.

### Claim 20 (depends on 17)

The system of claim 17, wherein the portion of the analytics data comprises a number of validation errors associated with the set of relevant form fragments.
