Microsoft announced today Semantic Kernel, a new project that aims to understand natural language at a deeper level. Semantic Kernel is a collection of models and tools that can analyze natural language texts and generate rich semantic representations that capture their meaning and structure, writes John Maeda, VP of design and artificial intelligence at Microsoft.

It aims to take advantage of emerging capabilities of next generation models, including OpenAI’s GPT-4, and also supports models through Azure OpenAI Service.

What is Semantic Kernel?

Semantic Kernel, which is available on GitHub, is based on two key ideas: semantic parsing and knowledge graph embedding. Semantic parsing is a technique that converts natural language texts into structured representations that capture their meaning using formal languages such as logic or graph-based languages. Knowledge graph embedding is a technique that learns vector representations for entities and relations in large-scale knowledge graphs such as Wikipedia or Freebase. By combining these two techniques, Semantic Kernel can produce semantic representations that are both expressive and scalable.

Potential Applications in NLP Tasks

Semantic Kernel has many potential applications for natural language processing tasks such as question answering, text summarization, dialogue systems, sentiment analysis, machine translation, document retrieval, etc.:

Question answering: Semantic Kernel can answer complex questions by reasoning over multiple sources of information using its semantic representations.
Text summarization: Semantic Kernel can generate concise summaries by extracting key facts and concepts from long texts using its semantic parsing capabilities.
Dialogue systems: Semantic Kernel can enable more natural and engaging conversations by understanding user intents and preferences using its knowledge graph embedding capabilities.

How Semantic Kernel works

Semantic Kernel consists of three main components:

SK-Parse: A semantic parser that converts natural language texts into graph-based representations called SK-graphs.
SK-Embed: A knowledge graph embedder that learns vector representations for entities and relations in SK-graphs using deep neural networks.
SK-API: A set of APIs that allow users to access various functionalities of Semantic Kernel such as querying SK-graphs using natural language or generating natural language texts from SK-graphs.

To learn more about how each component works in detail, you can read Microsoft’s blog post here.