Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |
Microsoft Research
Microsoft Research (MSR) is dedicated to basic and applied research in computer science. We develop new technologies for improving the way computers interact with people. We have outstanding researchers in a wide variety of disciplines, both from leading academic institutions and industrial research labs. We are committed to supporting and participating in the worldwide research community, and we collaborate with many universities worldwide.
We founded Microsoft Research in 1991 because we felt that the growth of the PC software industry and Microsoft in particular created a unique opportunity to do basic and applied research in computer science which could make a positive difference in people's lives and set new directions for the field. We started small, with a handful of scientists working primarily in natural language technology and programming environments. MSR has since grown to include over a dozen research groups and nearly 200 researchers in areas as diverse as speech recognition, decision theory and 3D graphics and animation. Our impact on Microsoft's products has already been felt. If you use Microsoft Windows 95 and Microsoft Office 97 you have likely taken advantage of features which have been enhanced by technology developed within Microsoft Research.
Our researchers actively serve on conference program committees, editorial boards and advisory panels. They publish at conferences, in journals, and write for magazines that serve the research community. We believe that such professional service is an important component of our work.
Research Areas
Advanced Interactivity and Intelligence
Decision Theory and Adaptive Systems
The Decision Theory & Adaptive Systems Group (DTAS) is investigating the use of probability and utility theory to enhance computer applications and platforms. Explicit consideration of user preferences and key uncertainties associated with particular tasks and contexts is a central element of DTAS projects. The group has a special focus on extending the flexibility and responsiveness of operating systems and user interfaces. Areas of attention include automated reasoning and inference under uncertainty, learning models from data, data mining and knowledge discovery in databases, information retrieval, automated diagnosis and decision support, and automated learning for custom-tailoring software to user work patterns and preferences.
Projects
- Information access and management. We are pursuing principles and applications of technologies that allow users to access, filter, and manage information. As part of our early work in this area, DTAS developed the algorithms and assessment methods used in the Answer Wizard, a free-text help facility unveiled in Office '95 products.
- Intelligent user interfaces. DTAS is working on methods, languages, and architectures for integrating multiple sources of information to enhance user interfaces. DTAS' Lumiere Project has focused on the construction and integration of Bayesian models of a user's needs for assistance. Lumiere research led to the Office Assistant, a Bayesian help system in Office '97. Ongoing work on intelligent user interfaces includes integrating consideration of acoustic and visual events into analyses of user goals.
- Diagnostics and troubleshooting. We have developed and applied diagnostic reasoning methods to a range of problems, extending from software debugging to troubleshooting software and hardware systems. In our collaboration with Microsoft Technical Support, we have developed decision-theoretic troubleshooters that are available via the worldwide web. Visit Microsoft Technical Support Troubleshooters to access several decision-theoretic troubleshooters that have been deployed in an operational setting. Another diagnostics project, named Aladdin, has explored the application of decision-theoretic case-based reasoning to troubleshooting and customer support, the result of a collaboration between DTAS and Microsoft Technical Support.
- Learning models from data. Several research and development efforts focus on the development of methods for building predictive models from data. Some of this work builds on foundations of Bayesian statistics.
- Data mining and knowledge discovery in databases. Drawing upon related work in learning, we are investigating methods, tools, and applications of data mining and discovery in databases (KDD) for discovering useful relationships in large datasets.
- Optimization of computational processes. We are exploring the use of flexible computational methods and decision theory to identify bottlenecks, and to optimize the functionality of operating systems and applications.
Natural Language Processing
Natural Language Processing should make it possible for people to use computers in much the same way that they would use a human assistant to get their work done. This is not easy for the machine. It's ironic that natural language, the symbol system that is easiest for humans to learn and use, is hardest for a computer to master. Long after machines have proven capable of inverting large matrices with speed and grace, they still fail to master the basics of our spoken and written languages.
The goal of the NLP group is to design and build a computer system that will analyze, understand, and generate natural languages. Our system takes input text, and moves through various stages of linguistic processing, from lexical/morphological analysis through syntax, semantics, and eventually pragmatics and discourse. Our approach makes heavy use of the information available in online dictionaries and other written works, from which we are able to extract a rich knowledge base, which can then be used to bootstrap into increasingly more advanced stages of machine understanding. The programming system, and the underlying linguistic principles, apply to all natural languages. We are empirically oriented, and do not follow any of the currently received linguistic theories in detail. However, we are happy to use good linguistic ideas wherever they can be found.
Speech Technology
The Microsoft Speech Technology Group engages in research and development of spoken language technologies. We are interested in not only creating the state of the art spoken language components but also how these disparate components come together to form a unified, consistent integration in the multimodal computing environment. Below is a list of projects we are pursuing to help us reach our vision of a fully speech enabled multimodal conversational computer.
Projects
- (Whisper) Speech Recognition
- (Whistler) Speech Synthesis (Text-to-Speech)
- (LEAP) Spoken Language Understanding
- (Dr. Who) Multimodal Conversational User Interface
Systems and Architecture
Database
The charter of the Microsoft Research Database Group is to increase the usefulness of database systems to both business users and individuals by creating, extending, and applying database technology. To that end, we consult with the database product groups at Microsoft and have initiated two exploratory research projects. We are located in Redmond, Washington, which is in the greater Seattle area.
Graphics
Our research addresses a wide range of topics in 3D graphics and animation. These range from low level graphics technology concerning how to quickly and accurately draw primitives such as triangles to the screen, to high level graphics issues such as how to create and control human-like figures in a virtual 3D setting. We believe that interactive 3D graphics and animation will be an important component of future user interfaces directed towards business, consumer and entertainment applications. Our projects include advanced rendering approaches, image based rendering, multi-resolution representations and modeling techniques, geometry compression, and human figure animation. We are also working to define declarative methods of specifying complex, interactive temporal behavior, as well as defining an overall systems architecture to support high performance interactive graphics.
Scalable Servers
Billions of clients will need millions of servers. Most servers will be tiny, but some will be huge. Ideally, the whole spectrum can be built from modular components. We are exploring techniques to build large servers as arrays of commodity processors, disks, and interconnects - Scalable Networks and Platforms (SNAP) . The resulting computer cluster should be as easy to program, manage, and use as a single system. In addition, by using spare modules and redundant storage, the cluster should mask component failures and so provide highly-available services. We are working with the NTclusters group to help define the requirements for clusters. We are working with the SQLserver database team to add fault-tolerance, scaleability, and parallelism to SQLserver. And, we are working with the Distributed Transaction Coordinator to help add ACID transactions to NT and Microsoft's Component Object Model (COM) infrastructure. In each case, we are building prototypes to demonstrate our ideas.
We believe you can build supercomputers as a cluster of commodity hardware and software modules. A cluster is a collection of independent computers that is as easy to use as a single computer. Managers see it as a single system, programmers see it as a single system, and users see it as a single system. The software spreads data and computation among the nodes of the cluster. When a node fails, other nodes provide the services and data formerly provided by the missing node. When a node is added or repaired, the cluster software migrates some data and computation to that node.