Natural Language to Code Synthesis via Token Parsing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Natural Language Programming (NLPr) faces challenges in converting ambiguous and nuanced natural language text into machine-executable code, particularly in domains like video games, due to the complexity of understanding and interpreting human language.

Innovation Solution

A system that employs token identification, synonym resolution, fuzzy grammar matching, and code generation to translate natural language text into executable code, using a dictionary and contextual analysis to determine word meanings and generate intermediate programming formats, which are then compiled into machine-executable code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If natural language text is converted to machine-executable code using traditional programming languages, then programming precision and control are improved, but ease of operation and accessibility deteriorate due to the complexity of learning conventional programming languages

Engineering Contradiction:
Improveease of programmingVSAvoidcode accuracy
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The patent introduces an intermediary natural language processing system that mediates between human intent and machine-executable code. The system uses natural language as an intermediate representation layer, translating ambiguous human language into precise code through multiple processing stages including parsing, semantic analysis, and code generation, thereby maintaining both ease of operation and code accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The conversion process is segmented into distinct stages: natural language input, token identification, synonym resolution, fuzzy grammar matching, intermediate format generation, and code compilation. Each stage handles specific aspects of the translation, allowing the system to manage complexity while maintaining accessibility for users

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If natural language programming is implemented without domain-specific customization, then versatility and adaptability are improved, but measurement precision and interpretation accuracy deteriorate due to the ambiguity of general natural language

Engineering Contradiction:
Improvelanguage interpretation accuracyVSAvoiddomain applicability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by customizing the natural language processing system for specific domains. Domain-specific dictionaries, grammar rules, and semantic models are created to enhance interpretation accuracy within particular contexts (e.g., video games, healthcare), while the overall system remains adaptable to other domains through configuration rather than redesign

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If comprehensive natural language processing is performed to resolve ambiguity and nuances, then code generation accuracy is improved, but device complexity and processing requirements worsen

Engineering Contradiction:
Improvecode generation accuracyVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-processing natural language input through token identification, synonym resolution, and fuzzy grammar matching before code generation. Domain-specific dictionaries and language models are prepared in advance, allowing the system to handle complexity upfront and simplify the subsequent code generation process

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10843080B2Automated program synthesis from natural language for domain specific computing applications
Publication Date: 2020.11.24 VIRGINIA TECH INTELLECTUAL PROPERTIES INC
  • US10843080B2 patent drawing
  • US10843080B2 patent drawing
  • US10843080B2 patent drawing

AI summary

Disclosed are various embodiments for automated program synthesis from a natural language for domain specific computing applications. In one embodiment, a natural language processor may be configured to parse words from a sentence of text formed in a natural language, such as English, following a grammatical structure for the natural language. The words may be compared to a dictionary to identify a token. The text formed in the natural language may be converted to an intermediate format of programming code in a programming language, such as C, where the intermediate format includes the token. The token may invoke a function or a routine of a library written in the programming language. The intermediate format may be compiled into executable program code to generate an application, such as a video game, for execution.