# US 10,311,218 B2 · Identifying machine-generated strings

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

- Number: US 10,311,218 B2
- Document ID: US10311218B2
- Status: Granted
- Kind: B2
- Application number: 14/882,829
- Filed: 2015-10-14
- Published: 2017-04-20
- Granted: 2019-06-04
- Earliest claimed: 2015-10-14
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Ehud Aharoni; Tamer Salman; Onn M. Shehory
- Web page: https://patentgrep.com/patent/US10311218B2

## CPC

- G06F 21/31: User authentication
- G06F 2221/2133: Verifying human interaction, e.g., Captcha
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer receives human generated reference strings and determines the character, n-gram, type switch, and subtype switch distributions of the reference strings. Each of the aforementioned distributions include corresponding statistical data, such as an average frequency, maximum frequency, minimum frequency, and standard deviation. The computer then receives one or more test strings from which the computer similarly computes the aforementioned statistical data for each of the aforementioned distributions. The computer then compares the distributions of the test string(s) with the distributions of the reference strings. Based on the deviation of the test string distributions from the reference string distributions, the computer determines whether the test strings are human or machine generated.

## Claims

### Claim 1

A computer-implemented method for string analyzing, the method comprising:
determining a reference string character distribution of one or more reference strings that includes a reference character minimum, a reference character maximum, a reference character average, and a reference character standard deviation;
determining a test string character distribution of one or more test strings that includes a test character minimum, a test character maximum, a test character average, and a test character standard deviation; and
identifying the one or more test strings as human generated based on determining that the test character average is within a threshold number of the reference character standard deviations of the reference character average.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining a reference string n-gram distribution of the one or more reference strings that includes a reference n-gram minimum, a reference n-gram maximum, a reference n-gram average, and a reference n-gram standard deviation;
determining a test string n-gram distribution of the one or more test strings that includes a test n-gram minimum, a test n-gram maximum, a test n-gram average, and a test n-gram standard deviation; and
wherein identifying the one or more test strings as human generated is further based on determining that the test n-gram average is within the threshold number of the reference n-gram standard deviations of the reference n-gram average.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining a reference string type switch distribution of the one or more reference strings that includes a reference type switch minimum, a reference type switch maximum, a reference type switch average, and a reference type switch standard deviation;
determining a test string type switch distribution of the one or more test strings that includes a test type switch minimum, a test type switch maximum, a test type switch average, and a test type switch standard deviation; and
wherein identifying the one or more test strings as human generated is further based on determining that the test type switch average is within the threshold number of the reference type switch standard deviations of the reference type switch average.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining a reference string subtype switch distribution of the one or more reference strings that includes a reference subtype switch minimum, a reference subtype switch maximum, a reference subtype switch average, and a reference subtype switch standard deviation;
determining a test string subtype switch distribution of the one or more test strings that includes a test subtype switch minimum, a test subtype switch maximum, a test subtype switch average, and a test subtype switch standard deviation; and
wherein identifying the one or more test strings as human generated is further based on determining that the test subtype switch average is within the threshold number of the reference subtype switch standard deviations of the reference subtype switch average.

### Claim 5 (depends on 1)

The method of claim 1, wherein identifying the one or more test strings as human generated is further based on determining that the test character average is between the reference character minimum and the reference character maximum.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
based on not identifying the one or more test strings as human generated, providing an option to search, inspect, ignore, delete, or quarantine the one or more test strings.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more reference strings and the one or more test strings may be classified by one or more domains, and wherein identifying the one or more test strings as human generated is further based on the classified one or more domains.

### Claim 8

A computer program product for string analyzing, the computer program product comprising:
one or more computer-readable non-transitory storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising:
program instructions to determine a reference string character distribution of one or more reference strings that includes a reference character minimum, a reference character maximum, a reference character average, and a reference character standard deviation
program instructions to determine a test string character distribution of one or more test strings that includes a test character minimum, a test character maximum, a test character average, and a test character standard deviation
program instructions to identify the one or more test strings as human generated based on determining that the test character average is within a threshold number of the reference character standard deviations of the reference character average.

### Claim 9 (depends on 8)

The computer program product of claim 8, further comprising:
program instructions to determine a reference string n-gram distribution of the one or more reference strings that includes a reference n-gram minimum, a reference n-gram maximum, a reference n-gram average, and a reference n-gram standard deviation;
program instructions to determine a test string n-gram distribution of the one or more test strings that includes a test n-gram minimum, a test n-gram maximum, a test n-gram average, and a test n-gram standard deviation; and
wherein the program instructions to identify the one or more test strings as human generated is further based on determining that the test n-gram average is within the threshold number of the reference n-gram standard deviations of the reference n-gram average.

### Claim 10 (depends on 8)

The computer program product of claim 8, further comprising:
program instructions to determine a reference string type switch distribution of the one or more reference strings that includes a reference type switch minimum, a reference type switch maximum, a reference type switch average, and a reference type switch standard deviation;
program instructions to determine a test string type switch distribution of the one or more test strings that includes a test type switch minimum, a test type switch maximum, a test type switch average, and a test type switch standard deviation; and
wherein the program instructions to identify the one or more test strings as human generated is further based on determining that the test type switch average is within the threshold number of the reference type switch standard deviations of the reference type switch average.

### Claim 11 (depends on 8)

The computer program product of claim 8, further comprising:
program instructions to determine a reference string subtype switch distribution of the one or more reference strings that includes a reference subtype switch minimum, a reference subtype switch maximum, a reference subtype switch average, and a reference subtype switch standard deviation;
program instructions to determine a test string subtype switch distribution of the one or more test strings that includes a test subtype switch minimum, a test subtype switch maximum, a test subtype switch average, and a test subtype switch standard deviation; and
wherein the program instructions to identify the one or more test strings as human generated is further based on determining that the test subtype switch average is within the threshold number of the reference subtype switch standard deviations of the reference subtype switch average.

### Claim 12 (depends on 8)

The computer program product of claim 8, wherein identifying the one or more test strings as human generated is further based on determining that the test character average is between the reference character minimum and the reference character maximum.

### Claim 13 (depends on 8)

The computer program product of claim 8, further comprising:
based on not identifying the one or more test strings as human generated, program instructions to provide an option to search, inspect, ignore, delete, or quarantine the one or more test strings.

### Claim 14 (depends on 8)

The computer program product of claim 8, wherein the one or more reference strings and the one or more test strings may be classified by one or more domains, and wherein identifying the one or more test strings as human generated is further based on the classified one or more domains.

### Claim 15

A computer system for string analyzing, the computer system comprising:
one or more computer processors, one or more computer-readable storage media, and program instructions stored on one or more of the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising:
program instructions to determine a reference string character distribution of one or more reference strings that includes a reference character minimum, a reference character maximum, a reference character average, and a reference character standard deviation
program instructions to determine a test string character distribution of one or more test strings that includes a test character minimum, a test character maximum, a test character average, and a test character standard deviation
program instructions to identify the one or more test strings as human generated based on determining that the test character average is within a threshold number of the reference character standard deviations of the reference character average.

### Claim 16 (depends on 15)

The computer system of claim 15, further comprising:
program instructions to determine a reference string n-gram distribution of the one or more reference strings that includes a reference n-gram minimum, a reference n-gram maximum, a reference n-gram average, and a reference n-gram standard deviation;
program instructions to determine a test string n-gram distribution of the one or more test strings that includes a test n-gram minimum, a test n-gram maximum, a test n-gram average, and a test n-gram standard deviation; and
wherein the program instructions to identify the one or more test strings as human generated is further based on determining that the test n-gram average is within the threshold number of the reference n-gram standard deviations of the reference n-gram average.

### Claim 17 (depends on 15)

The computer system of claim 15, further comprising:
program instructions to determine a reference string type switch distribution of the one or more reference strings that includes a reference type switch minimum, a reference type switch maximum, a reference type switch average, and a reference type switch standard deviation;
program instructions to determine a test string type switch distribution of the one or more test strings that includes a test type switch minimum, a test type switch maximum, a test type switch average, and a test type switch standard deviation; and
wherein the program instructions to identify the one or more test strings as human generated is further based on determining that the test type switch average is within the threshold number of the reference type switch standard deviations of the reference type switch average.

### Claim 18 (depends on 15)

The computer system of claim 15, further comprising:
program instructions to determine a reference string subtype switch distribution of the one or more reference strings that includes a reference subtype switch minimum, a reference subtype switch maximum, a reference subtype switch average, and a reference subtype switch standard deviation;
program instructions to determine a test string subtype switch distribution of the one or more test strings that includes a test subtype switch minimum, a test subtype switch maximum, a test subtype switch average, and a test subtype switch standard deviation; and
wherein the program instructions to identify the one or more test strings as human generated is further based on determining that the test subtype switch average is within the threshold number of the reference subtype switch standard deviations of the reference subtype switch average.

### Claim 19 (depends on 15)

The computer system of claim 15, further comprising:
based on not identifying the one or more test strings as human generated, program instructions to provide an option to search, inspect, ignore, delete, or quarantine the one or more test strings.

### Claim 20 (depends on 15)

The computer system of claim 15, wherein the one or more reference strings and the one or more test strings may be classified by one or more domains, and wherein identifying the one or more test strings as human generated is further based on the classified one or more domains.
