IP Library › Granted Patent US 12,518,090
Granted Patent B2
US 12,518,090 · App. 17/682,177 · Granted Jan 6, 2026

Logical role determination of clauses in conditional constructions of natural language

Inventors: Octavian Popescu (Katonah, NY); Irene Lizeth Manotas Gutiérrez (White Plains, NY); Vadim Sheinin (Yorktown Heights, NY); Ngoc Phuoc An Vo (Bronx, NY); Algimantas Černiauskas (Vilnius, LT)
Assignee: International Business Machines Corporation
G06F40/211G06F40/279G06F40/30
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 12,518,090
App. No.
17/682,177
Filed
Feb 28, 2022
Granted
Jan 6, 2026
Kind
B2
Art Unit
2658
USPC
704/9
Abstract

A natural language processor and applicable method receives an input sentence of natural language from a natural language corpus. The input sentence comprises sentence clauses that include a conditional clause. The processor performs natural language processing (NLP), using an NLP model, on the input sentence. The processing comprises using a set of rules determining the sentence clauses and which of the sentence clause is the conditional clause, determining one or more logical connections between the sentence clauses, and determining a role of the sentence clauses based upon the one or more identified logical connections. The sentence clauses are tagged to produce a labeled sentence that is output to an entity that is one or more of a storage device, a network interface, a storage device, and an input of a further language processor or application.

Claims (115)

1 . A computer implemented method, using a natural language processor, comprising:

receiving an input sentence of natural language from a natural language corpus, the sentence comprising sentence clauses that include a conditional clause;

creating tokens from a sequence of input characters of the input sentence using a lexical analyzer, wherein the tokens represent a word or multi-word concept;

building a data structure from the tokens of the input sentence by a syntactic parser thereby providing a structural representation of the input sentence;

converting a natural language utterance in the input sentence to a machine-understandable representation of its meaning by a semantic parser;

aligning outputs of the syntactic parser and the semantic parser into a cohesive sentence information to be used by a rule executor in order to identify a beginning and ending of the sentence clauses, wherein the sentence information is attached to the input sentence;

applying rules to the sentence information received by the rule executor;

applying one or a set of abstract rules from a rules database to corresponding triggers from the sentence information, wherein each of the triggers corresponds to a word or phrase that operates as a signal that suggests a type of sentence clause, wherein each of the triggers is associated with one or more rules;

performing natural language processing (NLP), using an NLP model, on the input sentence with the attached sentence information, wherein the processing comprises, using a set of syntactic and semantic rules received by the rule executor:

determining the sentence clauses and which of the sentence clause is the conditional clause;

determining one or more logical connections between the sentence clauses; and

determining a role of the sentence clauses based upon the one or more identified logical connections;

wherein the natural language processing leverages a machine learning technique to perform machine-learning text classification and machine-learning text comparison, wherein the machine-learning text classification comprises machine-learning operations to convert characters, text, words, and phrases to numerical values, wherein the numerical values are inputted into a neural network to determine features and characteristics of words with respect to a document or in relation to other words, wherein the machine-learning text comparison uses the numerical values of the converted characters, text, words, and phrases for performing a comparison, wherein the comparison is a comparison of a numerical value of a first word or other text to a numerical value of a second word or other text, wherein numerical operations of the machine-learning text classification and the machine-learning text comparison are a function of mathematical operations performed through the neural network;

tagging the sentence clauses to produce a labeled sentence; and

outputting the labeled sentence to an entity selected from the group consisting of a storage device, a network interface, a storage device, and an input of a further language processor or application, wherein the labeled sentence is in a form of a JavaScript Object Notation labeled text, wherein the labeled sentence is broken down into labeled elements of condition, resultant, and label-resultant.

2 . The method of claim 1 , wherein the role is selected from the group consisting of: a context, a logical test clause (LTC), a consequent, and an independent.

3 . The method of claim 2 , further comprising classifying the consequent as either an action or a consequence.

4 . The method of claim 1 , wherein the NLP further uses a lexical parser, and the rules comprise syntactic rules and semantic rules.

5 . The method of claim 4 , wherein the syntactic and semantic parsers are used for:

identifying lemmas, dependencies, constituents, and features; and

producing sentence metadata.

6 . The method of claim 5 , wherein the NLP uses an aligner for:

receiving the sentence and the sentence metadata comprising syntactic and semantic information; and

producing the sentence information attached to at least one of words or phrases of the sentence by applying usable alignment aspects to the sentence.

7 . The method of claim 6 , wherein the useable alignment aspects are selected from the group consisting of: a) inchoative verbs; b) transparent verbs; c) modal verbal constructions; d) auxiliary detection; e) ambiguity; f) imperative construction; g) coordination; h) verbal phrase; i) idiomatic usage; and j) parts-of-speech (POS), PoS constituents, and PoS corrections.

8 . The method of claim 7 , wherein the usable alignment aspects comprise: a) inchoative verbs; b) transparent verbs; c) modal verbal constructions; d) auxiliary detection; e) ambiguity; f) imperative construction; g) coordination; h) verbal phrase; i) idiomatic usage; and j) parts-of-speech (POS), PoS constituents, or PoS corrections.

9 . The method of claim 8 , wherein:

the inchoative verbs include “create” and “show”;

the transparent verbs include “determine” and “believe”;

the modal verbal construction includes “needs to be”;

the auxiliary detection includes “get” and “be”+ [not, no]+ [noun, adj, prep];

the ambiguity includes “orders”, “request”, “check”, and “update”;

the imperative construction includes “have to” and “need to”; and

the coordination includes “and”, “or”, “and/or”, “but”, and “otherwise”.

10 . The method of claim 6 , wherein the NLP uses the rule executor for:

receiving the sentence information;

determining a set of triggers within the sentence information; and

for all triggers, performing all-trigger activities.

11 . The method of claim 10 , wherein a rule applier performs the all-trigger activities comprising:

determining a beginning of a conditional clause;

determining an end of the conditional clause;

checking to determine whether the trigger really starts a conditional rule;

checking a compatibility of previously extracted triggers;

extracting the conditional clause;

extracting phrases related to the conditional;

choosing an action or consequence; and

choosing an unconditional action when one exists.

12 . The method of claim 11 , wherein the rule applier further performs:

determining an action versus entailment;

determining a continuation of the conditional clause; and

resolving a conflict associated with the conditional clause.

13 . The method of claim 11 , wherein:

the determining of the beginning of a conditional clause comprises use of the words “if”, “when”, and “unless”;

the determining of the end of the conditional clause comprises use of the word “then”;

the determining the action versus entailment comprises using at least one of imperatives and the modals “should” and “can”;

the resolving of the conflicts associated with the conditional clause use rules for determining which is context and which is not.

14 . The method of claim 11 , wherein the rule applier identifies logically linked conditional clauses that are logically linked to a logical test clause (LTC) by:

determining whether an argument from a particular clause is linked syntactically or semantically to the conditional clause;

extracting all such conditional clauses as candidates;

identifying an imperative versus an entailment character of the clause; and

determining for each candidate whether it is a context clause or a consequent clause.

15 . The method of claim 1 , further comprising using a pre-processor for:

determining whether a sequence of lexical items introduces a logical test;

determining whether there is a predicate following the beginning of a logical test;

determining a scope of the predicate; and

determining the end of the conditional clause.

16 . A natural language processing apparatus, comprising:

a memory; and

a processor that is configured to:

receive an input sentence of natural language from a natural language corpus, the sentence comprising sentence clauses that include a conditional clause;

create tokens from a sequence of input characters of the input sentence using a lexical analyzer, wherein the tokens represent a word or multi-word concept;

build a data structure from the tokens of the input sentence by a syntactic parser thereby providing a structural representation of the input sentence;

convert a natural language utterance in the input sentence to a machine-understandable representation of its meaning by a semantic parser;

align outputs of the syntactic parser and the semantic parser into a cohesive sentence information to be used by a rule executor in order to identify a beginning and ending of the sentence clauses, wherein the sentence information is attached to the input sentence;

apply rules to the sentence information received by the rule executor;

apply one or a set of abstract rules from a rules database to corresponding triggers from the sentence information, wherein each of the triggers corresponds to a word or phrase that operates as a signal that suggests a type of sentence clause, wherein each of the triggers is associated with one or more rules;

perform natural language processing (NLP), using an NLP model, on the input sentence with the attached sentence information, wherein the processing comprises, using a set of syntactic and semantic rules received by the rule executor:

determine the sentence clauses and which of the sentence clause is the conditional clause;

determine one or more logical connections between the sentence clauses; and

determine a role of the sentence clauses based upon the one or more identified logical connections;

wherein the natural language processing leverages a machine learning technique to perform machine-learning text classification and machine-learning text comparison, wherein the machine-learning text classification comprises machine-learning operations to convert characters, text, words, and phrases to numerical values, wherein the numerical values are inputted into a neural network to determine features and characteristics of words with respect to a document or in relation to other words, wherein the machine-learning text comparison uses the numerical values of the converted characters, text, words, and phrases for performing a comparison, wherein the comparison is a comparison of a numerical value of a first word or other text to a numerical value of a second word or other text, wherein numerical operations of the machine-learning text classification and the machine-learning text comparison are a function of mathematical operations performed through the neural network;

tag the sentence clauses to produce a labeled sentence; and

output the labeled sentence to an entity selected from the group consisting of a storage device, a network interface, a storage device, and an input of a further language processor or application, wherein the labeled sentence is in a form of a JavaScript Object Notation labeled text, wherein the labeled sentence is broken down into labeled elements of condition, resultant, and label-resultant.

17 . The apparatus of claim 16 , wherein the NLP further uses a lexical parser, and the rules comprise syntactic rules and semantic rules.

18 . The apparatus of claim 16 , wherein the NLP uses an aligner for:

receiving the sentence and the sentence metadata; and

producing the sentence information attached to at least one of words or phrases of the sentence by applying usable alignment aspects to the sentence.

19 . The apparatus of claim 18 , wherein the NLP uses the rule executor for:

receiving the sentence information;

determining a set of triggers within the sentence information; and

for all triggers, performing all-trigger activities, wherein the all-trigger activities cause the processor to:

determine a beginning of a conditional clause;

determine an end of the conditional clause;

check to determine whether the trigger really starts a conditional rule;

check a compatibility of previously extracted triggers;

extract the conditional clause;

extract phrases related to the conditional;

choose an action or consequence; and

choose an unconditional action when one exists.

20 . A computer program product for a natural language processing apparatus, the computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising program instructions to:

receive an input sentence of natural language from a natural language corpus, the sentence comprising sentence clauses that include a conditional clause;

create tokens from a sequence of input characters of the input sentence using a lexical analyzer, wherein the tokens represent a word or multi-word concept;

build a data structure from the tokens of the input sentence by a syntactic parser thereby providing a structural representation of the input sentence;

convert a natural language utterance in the input sentence to a machine-understandable representation of its meaning by a semantic parser;

align outputs of the syntactic parser and the semantic parser into a cohesive sentence information to be used by a rule executor in order to identify a beginning and ending of the sentence clauses, wherein the sentence information is attached to the input sentence;

apply rules to the sentence information received by the rule executor;

apply one or a set of abstract rules from a rules database to corresponding triggers from the sentence information, wherein each of the triggers corresponds to a word or phrase that operates as a signal that suggests a type of sentence clause, wherein each of the triggers is associated with one or more rules;

perform natural language processing (NLP), using an NLP model, on the input sentence with the attached sentence information, wherein the processing comprises, using a set of syntactic and semantic rules received by the rule executor:

determine the sentence clauses and which of the sentence clause is the conditional clause;

determine one or more logical connections between the sentence clauses; and

determine a role of the sentence clauses based upon the one or more identified logical connections;

wherein the natural language processing leverages a machine learning technique to perform machine-learning text classification and machine-learning text comparison, wherein the machine-learning text classification comprises machine-learning operations to convert characters, text, words, and phrases to numerical values, wherein the numerical values are inputted into a neural network to determine features and characteristics of words with respect to a document or in relation to other words, wherein the machine-learning text comparison uses the numerical values of the converted characters, text, words, and phrases for performing a comparison, wherein the comparison is a comparison of a numerical value of a first word or other text to a numerical value of a second word or other text, wherein numerical operations of the machine-learning text classification and the machine-learning text comparison are a function of mathematical operations performed through the neural network;

tag the sentence clauses to produce a labeled sentence; and

output the labeled sentence to an entity selected from the group consisting of a storage device, a network interface, a storage device, and an input of a further language processor or application, wherein the labeled sentence is in a form of a JavaScript Object Notation labeled text, wherein the labeled sentence is broken down into labeled elements of condition, resultant, and label-resultant.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2022
From: POPESCU, OCTAVIAN; MANOTAS GUTIÉRREZ, IRENE LIZETH; SHEININ, VADIM; VO, NGOC PHUOC AN; CERNIAUSKAS, ALGIMANTAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 059116/0615 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2022
From: POPESCU, OCTAVIAN; MANOTAS GUTIÉRREZ, IRENE LIZETH; SHEININ, VADIM; VO, NGOC PHUOC AN; ČERNIAUSKAS, ALGIMANTAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 059117/0734 →
Continuity (1)
Related Publication 20230274087A1 · Aug 31, 2023
References Cited (26)
US 6295529B1 · Corston-Oliver · 2001 [cited by examiner]
US 8781815B1 · Gidney · 2014 [cited by examiner]
US 9779083B2 · Daraselia · 2017 [cited by examiner]
US 10467344B1 · Jade · 2019 [cited by examiner]
US 11036867B2 · Bhatia · 2021 [cited by applicant]
US 11100144B2 · Galitsky · 2021 [cited by applicant]
US 20060224959A1 · Mcguire · 2006 [cited by applicant]
US 20120253793A1 · Ghannam · 2012 [cited by examiner]
US 20140250047A1 · Bounouane · 2014 [cited by applicant]
US 20160042058A1 · Nguyen · 2016 [cited by examiner]
US 20180137110A1 · Burchard · 2018 [cited by examiner]
US 20180365593A1 · Galitsky · 2018 [cited by applicant]
US 20200272741A1 · Bhatia · 2020 [cited by applicant]
US 20200327151A1 · Coquard · 2020 [cited by examiner]
US 20200342052A1 · Flann · 2020 [cited by examiner]
US 20200349183A1 · Jayaraman · 2020 [cited by examiner]
US 20230135318A1 · Hamlin · 2023 [cited by examiner]
Affolter et al., “A Comparative Survey of Recent Natural Language Interfaces for Databases”, arXiv:1906.08990v1 [cs.DB] Jun. 21, 2019, 29 pages. [cited by applicant]
“Automatic Transformation of Unstructured and Semi-Structured Document Tables to Structured Relational Database Format”, ip.com, Published Mar. 11, 2016, IPCOM000245463D, 8 pps. [cited by applicant]
“Default Finally Clause for Loop Constructs in Programming Languages”, Jan. 25, 2005, ip.com, IPCOM000035580D, 3 pps. [cited by applicant]
“Involuntary Revolution of Formless/Semi-Structured Document and Applying Different Analytics”, ip.com, Published Nov. 2, 2018, IPCOM000256074D, 6 pps. [cited by applicant]
Arora et al., “Tree Conditional Random Fields for Japanese Semantic Role Labeling”, Language Technologies Institute, 7 pps., <http://www.cs.cmu.edu/˜wcohen/10-707/sample-projects/11-748_project_shilpa_frank_hideki_mengq… [cited by applicant]
Breja et al., “Causality for Question Answering”, COLINS-v2604, pp. 884-893, CEUR-WS.org, 2020. [cited by applicant]
Danlos, “Sentences with Two Subordinate Clauses: Syntactic and Semantic Analyses, Underspecified Semantic Representation,” Proceedings of the 7th International Workshop on Tree Adjoining Grammar and Related Formalisms, … [cited by applicant]
Mell et al., “The NIST Definition of Cloud Computing”, National Institute of Standards and Technology, U.S. Department of Commerce, NIST Special Publication 800-145, Sep. 2011, 7 pages. [cited by applicant]
Nikitina et al., “A corpus study of clause combination,” Proceedings of the 10th International Conference on Computational Semantics (IWCS 2013)—Long Papers, Mar. 8, 2013, Association for Computational Linguistics,. Pot… [cited by applicant]