IP Library Granted Patent US 10,311,046
Granted Patent B2
US 10,311,046 · App. 15/262,383 · Granted Jun 4, 2019

System and method for pruning a set of symbol-based sequences by relaxing an independence assumption of the sequences

Inventors: Matias Hunicken (Córdoba, AR); Matthias Gallé (Eybens, FR)
Assignee: Conduent Business Services, LLC
G06F16/2379G06F17/18G06F17/271
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,311,046
App. No.
15/262,383
Granted
Jun 4, 2019
Kind
B2
Abstract

A pruning method includes representing a set of sequences in a data structure. Each sequence s includes a first symbol w and a context c of at least one symbol. Some of the sequences are associated with a conditional probability p(w|c), based on observations of cw in training data. For others, p(w|c) is computed as a function of the probability p(w|ĉ) of the respective symbol w in a back-off context ĉ, p(w|ĉ) being based on observations of sequence ĉw in the training data. A scoring function ƒ(cw) value is computed for each sequence in the set, based on p(w|c) for the sequence and a probability distribution p(s) of each symbol in the sequence if it is removed from the set of sequences. Iteratively, one of the represented sequences is selected to be removed, based on the computed scoring function values, and the scoring function values of remaining sequences are updated.

Claims (49)

1. A sequence pruning method, comprising:

representing a set of sequences in a data structure, each sequence in the set of sequences including a first symbol and a context of at least one symbol, a subset of the sequences in the set of sequences each being associated with a respective conditional probability that is based on observations of the respective sequence in training data;

computing a value of a scoring function for each sequence in the set of represented sequences, the scoring function taking into account the conditional probability for the sequence and a probability distribution of each symbol in the sequence if the respective sequence is removed from the set of sequences, the conditional probability for each sequence in the set of sequences that is not in the subset of sequences being computed as a function of the probability of the respective symbol in a back-off context;

iteratively pruning the set of sequences, comprising:

selecting one of the represented sequences to be removed, the selection being based on the computed scoring function values; and

updating the scoring function values of at least one of the remaining ones of the sequences;

outputting a set of remaining sequences; and

wherein at least one of the representing, computing, pruning, and updating is performed with a processor.

2. The method of claim 1 , comprising continuing the iterative pruning until at least one of:

a predetermined number of sequences remains, and

a performance of the remaining sequences on a task reaches a threshold.

3. The method of claim 1 , further including normalizing the conditional probability for sequences that are not in the subset of sequences with a back-off factor.

4. The method of claim 1 , wherein the data structure is a tree and each sequence is represented by a respective node of the tree.

5. The method of claim 1 , wherein at least one restriction is applied which is selected from:

a restriction which prevents a given sequence from being removed unless all other sequences have been pruned which start with the given sequence where the given sequence is followed by at least one additional symbol; and

a restriction which prevents a given sequence from being removed unless all other sequences have been pruned which end in the given sequence where the given sequence is preceded by at least one additional symbol.

6. The method of claim 1 , wherein the selecting of one of the represented sequences to be removed includes generating a priority queue which stores a set of prunable sequences in order of scoring function value and selecting a represented sequence with a highest scoring function value.

7. The method of claim 1 , wherein the symbols are selected from words, characters, and symbols representing units of a biological sequence.

8. The method of claim 7 , wherein the sequences are extracted from a corpus of sentences.

9. The method of claim 1 , wherein the context of each symbol comprises a set of at least one preceding symbol relative to the first symbol.

10. The method of claim 1 , wherein the scoring function comprises computing a function of a conditional probability of each symbol in the sequence in a respective context.

11. The method of claim 1 , wherein the output information comprises at least one of:

a language model comprising at least some of the remaining sequences;

a statistic for the sequence of being in a given language;

a statistic of at least one symbol missing from the input sequence.

12. The method of claim 1 , wherein the computing of the value of the scoring function for each the set of represented sequences comprises reserving a part of a probability for a symbol in a first context having a stored statistic for computing a probability for the symbol in a context not having a stored statistic.

13. The method of claim 12 , wherein the reserving includes applying a smoothing technique which provides non-zero probabilities for symbols in contexts not having a stored statistic.

14. The method of claim 13 , wherein the smoothing technique is selected from Katz smoothing, and Kneser-Ney smoothing.

15. The method of claim 1 , wherein the updating the scoring function values of the at least one of the remaining sequences comprises only updating the scoring function values of represented sequences ca when a sequence cw is pruned, for all symbols a, where w is a symbol and c is a context.

16. The method of claim 1 , wherein the scoring function computes a difference between log p(w|c)−log p′(w|c) for a sequence to be removed, where p(w|c) is a conditional probability for the sequence to be removed and p′(w|c) is a conditional probability of a sequence in a back-off context to the sequence to be removed.

17. A computer program product comprising a non-transitory recording medium storing instructions, which when executed on a computer, causes the computer to perform the method of claim 1 .

18. A system comprising memory storing instructions for performing the method of claim 1 and a processor in communication with the memory which executes the instructions.

19. A sequence pruning system, comprising:

a data structure representing a set of sequences, each sequence in the set of sequences including a first symbol and a context of at least one symbol, a subset of the sequences in the set of sequences each being associated with a respective conditional probability that is based on observations of the respective sequence in training data;

a scoring function computation component which computes a value of a scoring function for each sequence in the set of represented sequences, the scoring function taking into account the conditional probability for the sequence and a probability distribution of each symbol in the sequence if the respective sequence is removed from the set of sequences, the conditional probability for each sequence in the set of sequences that is not in the subset of sequences being computed as a function of the probability of the respective symbol in a back-off context;

a sequence selecting component which selects a next one of the represented sequences to be removed, the selection being based on the computed scoring function values; and

an update component which updates the scoring function values of remaining ones of the sequences prior to the sequence selecting component selecting another next one of the represented sequences to be removed;

an output component which outputs a set of remaining sequences; and

a processor which implements the components.

20. The system of claim 19 , further comprising a data structure generator which generates the data structure.

21. A sequence pruning method, comprising:

receiving a set of sequences, each received sequence in the set of sequences including at least one symbol and a context, wherein for at least some of the received sequences, the context comprises at least one respective preceding symbol, each of the received sequences in the set of sequences being associated with a respective conditional probability that is based on observations of the sequence in a corpus;

representing each of the received sequences as a respective node in a tree structure of nodes in which each of the nodes in the tree structure is directly linked to no more than one node in the tree structure that represents a direct ancestor and wherein at least some of the nodes in the tree structure represent back-off sequences in which the context of a linked node in the tree structure is reduced by at least one symbol;

computing a value of a scoring function for at least some of the sequences in the tree structure based on respective conditional probabilities, a conditional probability for sequences represented in the tree structure that are not in the set of received sequences being computed as a function of a respective symbol in its back-off context;

selecting one of the represented sequences to be removed, based on the computed scoring function values, the one of the represented sequences being selected from represented sequences for which there are no remaining sequences represented in the tree structure that consist of at least one symbol and the same sequence as the selected sequence, which precedes the at least one symbol;

updating a value of a scoring function for at least one remaining one of the sequences, whose scoring function value is changed by the removal of the selecting one of the represented sequences;

after the updating, repeating the selecting of one of the represented sequences from a remaining set of represented sequences;

outputting a set of the remaining sequences; and

wherein at least one of the representing, computing, selecting, and updating is performed with a processor.

Assignments (6)
SECURITY INTEREST Recorded Oct 19, 2021
From: CONDUENT BUSINESS SERVICES, LLC
To: U.S. BANK, NATIONAL ASSOCIATION
Reel/Frame 057969/0445 →
SECURITY INTEREST Recorded Oct 19, 2021
From: CONDUENT BUSINESS SERVICES, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 057970/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2021
From: JPMORGAN CHASE BANK, N.A.
To: CONDUENT BUSINESS SERVICES, LLC; CONDUENT STATE & LOCAL SOLUTIONS, INC.; CONDUENT TRANSPORT SOLUTIONS, INC.; ADVECTIS, INC.; CONDUENT COMMERCIAL SOLUTIONS, LLC; CONDUENT BUSINESS SOLUTIONS, LLC; CONDUENT CASUALTY CLAIMS SOLUTIONS, LLC; CONDUENT HEALTH ASSESSMENTS, LLC
Reel/Frame 057969/0180 →
SECURITY AGREEMENT Recorded Mar 19, 2020
From: CONDUENT BUSINESS SERVICES, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052189/0698 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2017
From: XEROX CORPORATION
To: CONDUENT BUSINESS SERVICES, LLC
Reel/Frame 041542/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2016
From: HUNICKEN, MATIAS; GALLE, MATTHIAS
To: XEROX CORPORATION
Reel/Frame 039710/0024 →
Continuity (1)
Related Publication 20180075084A1 · Mar 15, 2018
Cited By (1)
US 12,475,359