Patent application number | Description | Published |
20120192051 | FORMATTING DATA BY EXAMPLE - Data formatting rules to convert data from one form to another form are automatically determined based on a user's edits. A machine learning heuristic is applied to a user's edits to determine a data formatting rule that may be applied to data. For example, a user may make edits that add/remove characters from data, concatenate data, extract data, rename data, and the like. The machine learning heuristic may be automatically triggered in response to an event (e.g. after a predetermined number of edits are made to a same type of data) or manually triggered (e.g. selecting a user interface option). The data formatting rule may be applied to other data and the results of the formatting reviewable by the user. Based on further edits/reviews, the data formatting rule may be updated. The data formatting rules may be stored for later use. | 07-26-2012 |
20130326475 | EXPEDITED TECHNIQUES FOR GENERATING STRING MANIPULATION PROGRAMS - A program creation system is described which generates sets of subprograms for respective input-output examples. The program creation system then groups the sets into partitions by performing an intersection operation. According to one aspect, the program creation system generates subprograms so as to exclude tokens that are not represented by the input strings of the input-output examples. According to another aspect, the program creation system first generates the subprograms without attempting to generate loop-type expressions. If this operation produces unsatisfactory results, the program creation system repeats its processing, this time including loop-type expressions. According to another aspect, the program creation system performs the grouping operation using an expedited graph-intersection operation. According to another aspect, the program creation system ranks programs (which are created based on the results of the grouping operation) based on the presence of preferred features found in the programs. | 12-05-2013 |
20130346982 | GENERATING A PROGRAM - There is provided a method and system for generating a program. The method includes detecting a number of steps for performing a task on a computing device and detecting an example relating to each of the steps, wherein the example includes input data and corresponding output data relating to the step. The method also includes, for each example, determining a rule that transforms the input data to the corresponding output data based on cues including textual features within the input data and the corresponding output data. The method further includes generating a program for performing the task based on the rules. | 12-26-2013 |
20140013299 | GENERALIZATION AND/OR SPECIALIZATION OF CODE FRAGMENTS - Generalization and/or specialization of code fragments is described, for example, as part of a tool for software developers. In an embodiment, a developer inserts natural language expressing a programming task into code he or she is developing in an integrated development environment; a program synthesizer obtains relevant (possibly non-compiling) code fragments for the task, merges those together to form a snippet, specializes the snippet for the context of the code and inserts the specialized snippet into the code. For example, a pair of code fragments are obtained from a search engine and are merged by discarding statements which are not common to each of the pair. In examples, pairs of code fragments are selected using search engine ranks, user input, or frequency. In embodiments, placeholders replace variable names in the merged fragments. An example takes a syntax tree of the code being developed and uses that to specialize snippets. | 01-09-2014 |
20140059078 | SEMANTIC QUERY LANGUAGE - Various technologies described herein pertain to executing a mixed query to search a database retained in a data repository. The mixed query includes a regular expression, which is a pattern of elements, and a semantic constraint. The elements in the regular expression include a first wildcard, where the semantic constraint restricts a meaning of the first wildcard. Moreover, the elements in the regular expression include explicit lexical constraint(s) and/or disparate wildcard(s). For instance, semantic constraint(s) can restrict meaning(s) of the disparate wildcard(s). The mixed query is executed to retrieve results that match the pattern of the elements in the regular expression and satisfy the semantic constraint(s). | 02-27-2014 |
20140214399 | TRANSLATING NATURAL LANGUAGE DESCRIPTIONS TO PROGRAMS IN A DOMAIN-SPECIFIC LANGUAGE FOR SPREADSHEETS - A system and method to translate natural language descriptions to programs in a domain-specific language for spreadsheets. The method includes generating a model of a spreadsheet. The model includes a column description for each column, and one or more types associated with each column The method also includes normalizing the description by removing stop words, and replacing parts that match column names or data values by parameterized place-holders. The method involves applying rule-based translation along with keyword or type-based program synthesis in an inter-leaved, bottom-up manner and dynamic programming style, where phrases are mapped to sub-programs in increasing order of their length. The rules describe how to map a specific partial natural language phrase into a partial sub-program. Also, the method includes generating a number of potential programs and ranking the programs to sequence them according to their intended likelihood. | 07-31-2014 |
20140236991 | Parsing and Rendering Structured Images - Systems and methods for generating a tuple of structured data files are described herein. In one example, a method includes detecting an expression that describes a structure of a structured image using a constructor. The method can also include using an inference-rule based search strategy to identify a hierarchical arrangement of bounding boxes in the structured image that match the expression. Furthermore, the method can include generating a first tuple of structured data files based on the identified hierarchical arrangement of bounding boxes in the structured image. | 08-21-2014 |
20150019216 | PERFORMING AN OPERATION RELATIVE TO TABULAR DATA BASED UPON VOICE INPUT - Described herein are various technologies pertaining to performing an operation relative to tabular data based upon voice input. An ASR system includes a language model that is customized based upon content of the tabular data. The ASR system receives a voice signal that is representative of speech of a user. The ASR system creates a transcription of the voice signal based upon the ASR being customized with the content of the tabular data. The operation relative to the tabular data is performed based upon the transcription of the voice signal. | 01-15-2015 |