Patents by Inventor William D. Ramsey

William D. Ramsey has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7831585
    Abstract: A task-based advertisement system and method are provided. The system employs high-order concepts (e.g., booking a flight, checking stock quotes etc.) embodied in “task(s)” which can then be bid upon by advertisers. The task(s) employed by the system are based upon a semantic solution to a natural-language query. The system includes a search engine that is capable of serving content in response to user query(ies). The system further includes a task server that can include hardware and/or software to retrieve task(s) in response to user query(ies). The task(s) retrieved by the task server can be presented to advertiser(s) who can bid on the task(s).
    Type: Grant
    Filed: December 5, 2005
    Date of Patent: November 9, 2010
    Assignee: Microsoft Corporation
    Inventors: William D. Ramsey, Sanjeev Katariya
  • Patent number: 7822699
    Abstract: Provided is an adaptive semantic reasoning engine that receives a natural language query, which may contain one or more contexts. The query can be broken down into tokens or a set of tokens. A task search can be performed on the token or token set(s) to classify a particular query and/or context and retrieve one or more tasks. The token or token set(s) can be mapped into slots to retrieve one or more task result. A slot filling goodness may be determined that can include scoring each task search result and/or ranking the results in a different order than the order in which the tasks were retrieved. The token or token set(s), retrieved tasks, slot filling goodness, natural language query, context, search result score and/or result ranking can be feedback to the reasoning engine for further processing and/or machine learning.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: October 26, 2010
    Assignee: Microsoft Corporation
    Inventors: Sanjeev Katariya, Qi Steven Yao, Jun Liu, William D. Ramsey, Jianfeng Gao
  • Patent number: 7814092
    Abstract: A computer-implemented method of performing named entity recognition in a client-server environment includes providing a first named entity recognition module operable with a client machine in the client-server environment and a second named entity recognition module operable with a server in the client-server environment. The method also includes performing named entity recognition on the client machine to identify one or more domain dependent named entities in a set of tokens and data assessable to the client machine and performing named entity recognition on the server to identify one or more domain independent named entities in the set of tokens and data assessable to the server. A task is completed using at least information related to the identified named entities from the client machine and the server.
    Type: Grant
    Filed: October 13, 2005
    Date of Patent: October 12, 2010
    Assignee: Microsoft Corporation
    Inventors: William D. Ramsey, Sanjeev Katariya
  • Publication number: 20100241624
    Abstract: Systems and methods for presenting search results ordered, at least in part, based upon indicated user preferences are provided. User preferences for one potential search result over another that are free of position bias are obtained utilizing random relative order interchange of juxtaposed, ranked search results. Upon receipt of a search query, a determination is made to present at least a portion of search results satisfying the received query ordered based on user preferences, whether or not the order coincides with that determined using a ranking algorithm. In this way, presented search results are ordered, at least in part, according to user preferences, thus improving the relevance of the output relative to standard ranking algorithms alone.
    Type: Application
    Filed: March 20, 2009
    Publication date: September 23, 2010
    Applicant: Microsoft Corporation
    Inventor: William D. Ramsey
  • Patent number: 7783588
    Abstract: A context modeling architecture that includes a context representation portion, which adapted to represent context as features, is provided. The features are specifiable at runtime of an application including the context representation portion.
    Type: Grant
    Filed: October 19, 2005
    Date of Patent: August 24, 2010
    Assignee: Microsoft Corporation
    Inventors: William D. Ramsey, Jianfeng Gao, Sanjeev Katariya
  • Publication number: 20100175049
    Abstract: Embodiments of the present invention relate to systems, methods and computer storage media for providing Structured Computations Optimized for Parallel Execution (SCOPE) that facilitate analysis of a large-scale dataset utilizing row data of those data sets. SCOPE includes, among other features, an extract command for extracting data bytes from a data stream and structuring the data bytes as data rows having strictly defined columns. SCOPE also includes a process command and a reduce command that identify data rows as inputs. The reduce command also identifies a reduce key that facilitates the reduction based on the reduce key. SCOPE additionally includes a combine command that identifies two data row sets that are to be combined based on an identified joint condition. Additionally, SCOPE includes a select command that leverages SQL and C# languages to create an expressive script that is capable of analyzing large-scale data sets in a parallel computing environment.
    Type: Application
    Filed: January 7, 2009
    Publication date: July 8, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: WILLIAM D. RAMSEY, RONNIE IRA CHAIKEN, DARREN A. SHAKIB, ROBERT JOHN JENKINS, JR., SIMON J. WEAVER, JINGREN ZHOU, DANIEL DEDU-CONSTANTIN, ACHINT SRIVASTAVA
  • Patent number: 7640162
    Abstract: A system for synchronizing a natural language input element and a graphical user interface has a synchronization engine. The synchronization engine is adapted to monitor user interactions with the natural language input element and the graphical user interface and to synchronize the natural language input element and the graphical user interface responsive to the user interactions.
    Type: Grant
    Filed: December 14, 2004
    Date of Patent: December 29, 2009
    Assignee: Microsoft Corporation
    Inventors: William D. Ramsey, Christopher C. McConnell, David Dawson, Jonas Barklund, Steven W. Ickman, Thomas M. Laird-McConnell
  • Patent number: 7624099
    Abstract: Word-breaking of a query from a client machine in a client-server environment includes determining whether to use a first word breaking module operable with a client machine in the client-server environment and/or a second word breaking module operable with a server in the client-server environment.
    Type: Grant
    Filed: October 13, 2005
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Sanjeev Katariya, William D. Ramsey
  • Patent number: 7620634
    Abstract: Methods of ranking documents on a network using an incrementally-updatable system are disclosed. Computer readable storage media having stored computer-executable instructions for performing a method of ranking documents on a network using an incrementally-updatable system are also disclosed. Further, computing devices containing at least one application module comprising application code for performing methods of ranking documents on a network using an incrementally-updatable system are disclosed.
    Type: Grant
    Filed: July 31, 2006
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventor: William D. Ramsey
  • Patent number: 7617093
    Abstract: A method and apparatus are provided for automatically forming a grammar. Example text strings are received and N-grams are formed based on the text strings. A rule in the grammar is then generated automatically based in part on the n-grams.
    Type: Grant
    Filed: June 2, 2005
    Date of Patent: November 10, 2009
    Assignee: Microsoft Corporation
    Inventor: William D. Ramsey
  • Patent number: 7606700
    Abstract: The subject disclosure pertains to systems and methods for performing natural language processing in which natural language input is mapped to a task. The system includes a task interface for defining a task, the associated data and the manner in which the task data is interpreted. Furthermore, the system provides a framework that manages the tasks to facilitate natural language processing. The task interface and framework can be used to provide natural language processing capabilities to third party applications. Additionally, the task framework can learn or be trained based upon feedback received from the third party applications.
    Type: Grant
    Filed: November 9, 2005
    Date of Patent: October 20, 2009
    Assignee: Microsoft Corporation
    Inventors: William D. Ramsey, Jonas Barklund, Sanjeev Katariya
  • Patent number: 7593846
    Abstract: A method and apparatus for identifying a semantic structure from text includes processing the input text to identify self-describing fragments of the input text based on a hierarchical schema defining a domain with at least one top-level node and child nodes. Each identified self-describing fragment includes hierarchical context of a portion of the input text. A semantic structure is provided based on the identified self-describing fragments.
    Type: Grant
    Filed: September 2, 2004
    Date of Patent: September 22, 2009
    Assignee: Microsoft Corporation
    Inventors: William D. Ramsey, Par Jonas Barklund
  • Patent number: 7593845
    Abstract: A method and apparatus for identifying a semantic structure from an input text forms at least two candidate semantic structures. A semantic score is determined for each candidate semantic structure based on the likelihood of the semantic structure. A syntactic score is also determined for each semantic structure based on the position of a word in the text and the position in the semantic structure of a semantic entity formed from the word. The syntactic score and the semantic score are combined to select a semantic structure for at least a portion of the text. In many embodiments, the semantic structure is built incrementally by building and scoring candidate structures for a portion of the text, pruning low scoring candidates, and adding additional semantic elements to the retained candidates.
    Type: Grant
    Filed: October 6, 2003
    Date of Patent: September 22, 2009
    Assignee: Microsoflt Corporation
    Inventor: William D. Ramsey
  • Patent number: 7584093
    Abstract: A computer implemented method of suggesting replacement words for words of a string. In the method, an input string of input words is received. The input words are then matched to subject words of a candidate table. Next, candidate replacement words and scores from the candidate table corresponding to the matched subject words are extracted. Each score is indicative of a probability that the input word should be replaced with the corresponding candidate replacement word. Finally, replacement of the input words with their corresponding candidate replacement words is selectively suggested based on the scores for the replacement words. Another aspect of the present invention is directed to a spell checking system that is configured to implement the method.
    Type: Grant
    Filed: April 25, 2005
    Date of Patent: September 1, 2009
    Assignee: Microsoft Corporation
    Inventors: Douglas W. Potter, Edward C. Hart, Jr., Hisakazu Igarashi, Patricia M. Schmid, William D. Ramsey
  • Publication number: 20090119641
    Abstract: The insertion and processing of programming language code (e.g., C#) in SQL statements, and the dynamic compiling of the code to detect errors prior to statement execution. The SQL statement with arbitrary programming language code can then be executed concurrently as a query on a computer cluster. External libraries can be imported and the associated functionality leveraged from within a SQL statement. The programming language compiler performs checking at build time, rather than retuning an error during the statement execution against the cluster, a potentially costly proposition in both computing time and human resources.
    Type: Application
    Filed: November 7, 2007
    Publication date: May 7, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: William D. Ramsey, Ronnie I. Chaiken
  • Publication number: 20090119640
    Abstract: A graphical application development tool for developing parallel computation applications. The tool facilitates insertion of computational elements by a drag-and-drop operation onto a canvas area for creating a computational graph. The graphical application tool reduces the barriers to the development of parallel computation applications by entry-level developers, for example, by allowing these users to write applications by using a graphical tool, thereby avoiding complexities of having to write well-formed code and learning a new language. The tool includes built-in functionality that allows the developer to write arbitrary code (e.g., C#) to perform various functions on massive amounts of data.
    Type: Application
    Filed: November 7, 2007
    Publication date: May 7, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: William D. Ramsey, Ronnie I. Chaiken
  • Publication number: 20080313161
    Abstract: Structured queries, such as those written using the Structured Query Language (SQL) can be an efficient mechanism for expressing the information sought to be obtained from a collection of data. Mechanisms can enable the use of structured queries to express data processing that can be performed in parallel in order to obtain the attendant efficiencies of such processing. The structured queries, whether standing alone or integrated into another programming context, can be translated into an intermediate form that can be compatible with, or equivalent to, the programming context into which they were integrated or some other high-level programming language. The intermediate, translated form can use core commands that abstract mechanisms that can be executed in parallel. The core commands include commands for applying a function in parallel and distributing and joining data in parallel, and also include aggregations of core commands directed to commonly performed functions.
    Type: Application
    Filed: June 12, 2007
    Publication date: December 18, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: William D. Ramsey, Ronnie I. Chaiken
  • Publication number: 20080313610
    Abstract: Scripting core commands and aggregations of such commands are provided to script authors to enable them to generate scripts that can be parallel-processed without requiring the author to be aware of parallel-processing techniques. The scripting core commands and aggregations abstract mechanisms that can be executed in parallel, enabling the script author to focus on higher-level concepts. The scripting core commands provided include commands for applying a function in parallel and distributing and joining data in parallel. For added flexibility, one or more scripting core commands can utilize functions written in a different programming language and referenced appropriately in code blocks.
    Type: Application
    Filed: June 13, 2007
    Publication date: December 18, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: William D. Ramsey, Ronnie I. Chaiken
  • Publication number: 20080313625
    Abstract: Core commands and aggregations of such commands are provided to programmers to enable them to generate programs that can be parallel-processed without requiring the programmer to be aware of parallel-processing techniques. The core commands and aggregations abstract mechanisms that can be executed in parallel, enabling the programmer to focus on higher-level concepts. The core commands provided include commands for applying a function in parallel and distributing and joining data in parallel. The output of each core command can implement an interface that can enable underlying mechanisms to stitch together multiple core commands in a cohesive manner to perform more complex actions.
    Type: Application
    Filed: June 13, 2007
    Publication date: December 18, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: William D. Ramsey, Ronnie I. Chaiken
  • Publication number: 20080294602
    Abstract: Systems, methods, computer-readable media, and graphical user interfaces for presenting search results having collapsed domains are provided. A search result obtaining module obtains search results based upon a received query. Upon obtaining the search results, search results having the same domain are associated with one another. Thereafter, search result clusters of associated search results are formed. In some embodiments, the search result clusters may be formatted to include desired search result cluster attributes. The search result clusters are presented such that two or more associated search results form a single cluster of search results rather than being presented individually. In some embodiments, an option to view more search results with the same domain may be provided.
    Type: Application
    Filed: May 25, 2007
    Publication date: November 27, 2008
    Applicant: MICROSOFT COPORATION
    Inventors: PRATIBHA PERMANDLA, GAURAV SAREEN, GIRISH KUMAR, JUNHUA WANG, ROHIT V. WAD, WILLIAM D. RAMSEY