Anna Korhonen

Anna Korhonen

Anna-Leena Korhonen is a Finnish computer scientist who works in England as professor of natural language processing at the University of Cambridge, where she is co-director of the Language Technology Lab and the Institute for Technology and Humanity, fellow of the Alan Turing Institute, director of the Centre for Human Inspired Artificial Intelligence, fellow of the European Laboratory for Learning and Intelligent Systems, and a senior research fellow of Churchill College, Cambridge. Her research interests include natural language processing, the applications of natural language processing in health, and the social consequences of AI-based language tools. == Education and career == Korhonen studied linguistics as an undergraduate at the University of Helsinki. After a master's degree in linguistics at the University of Reading, she completed a Ph.D. in computer science at the University of Cambridge. Her 2002 doctoral dissertation, Subcategorization acquisition, was supervised by Ted Briscoe. After postdoctoral research at the University of Pennsylvania and at the National Institute of Informatics in Japan, she returned to Cambridge in 2005 as a senior research associate and Royal Society University Research Fellow. She became a reader in computational linguistics in 2014, professor of natural language processing in 2017, director of the Centre for Human Inspired Artificial Intelligence in 2022, and co-director of the Institute for Technology and Humanity in 2024. == Recognition == Korhonen was named as a Fellow of the Association for Computational Linguistics in 2023, "for significant contributions to lexical acquisition, multilingual and low resource NLP, socially beneficial language applications, and services to the ACL community". She was elected to the Academia Europaea in 2025.

Question answering

Question answering (QA) is a computer science discipline within the fields of information retrieval and natural language processing (NLP) that is concerned with building systems that automatically answer questions that are posed by humans in a natural language. A question-answering implementation, usually a computer program, may construct its answers by querying a structured database of knowledge or information, usually a knowledge base. More commonly, question-answering systems can pull answers from an unstructured collection of natural language documents. Some examples of natural language document collections used for question answering systems include reference texts, compiled newswire reports, Wikipedia pages and other World Wide Web pages. == History == Two early question answering systems were BASEBALL and LUNAR. BASEBALL answered questions about Major League Baseball over a period of one year. LUNAR answered questions about the geological analysis of rocks returned by the Apollo Moon missions. Both question answering systems were very effective in their chosen domains. LUNAR was demonstrated at a lunar science convention in 1971 and it was able to answer 90% of the questions in its domain that were posed by people untrained on the system. Further restricted-domain question answering systems were developed in the following years. The common feature of all these systems is that they had a core database or knowledge system that was hand-written by experts of the chosen domain. The language abilities of BASEBALL and LUNAR used techniques similar to ELIZA and DOCTOR, the first chatterbot programs. SHRDLU was a successful question-answering program developed by Terry Winograd in the late 1960s and early 1970s. It simulated the operation of a robot in a toy world (the "blocks world"), and it offered the possibility of asking the robot questions about the state of the world. The strength of this system was the choice of a very specific domain and a very simple world with rules of physics that were easy to encode in a computer program. In the 1970s, knowledge bases were developed that targeted narrower domains of knowledge. The question answering systems developed to interface with these expert systems produced more repeatable and valid responses to questions within an area of knowledge. These expert systems closely resembled modern question answering systems except in their internal architecture. Expert systems rely heavily on expert-constructed and organized knowledge bases, whereas many modern question answering systems rely on statistical processing of a large, unstructured, natural language text corpus. The 1970s and 1980s saw the development of comprehensive theories in computational linguistics, which led to the development of ambitious projects in text comprehension and question answering. One example was the Unix Consultant (UC), developed by Robert Wilensky at U.C. Berkeley in the late 1980s. The system answered questions pertaining to the Unix operating system. It had a comprehensive, hand-crafted knowledge base of its domain, and it aimed at phrasing the answer to accommodate various types of users. Another project was LILOG, a text-understanding system that operated on the domain of tourism information in a German city. The systems developed in the UC and LILOG projects never went past the stage of simple demonstrations, but they helped the development of theories on computational linguistics and reasoning. Specialized natural-language question answering systems have been developed, such as EAGLi for health and life scientists. Question answering systems have been extended in recent years to encompass additional domains of knowledge For example, systems have been developed to automatically answer temporal and geospatial questions, questions of definition and terminology, biographical questions, multilingual questions, and questions about the content of audio, images, and video. Current question answering research topics include: interactivity—clarification of questions or answers answer reuse or caching semantic parsing answer presentation knowledge representation and semantic entailment social media analysis with question answering systems sentiment analysis utilization of thematic roles Image captioning for visual question answering Embodied question answering In 2011, Watson, a question answering computer system developed by IBM, competed in two exhibition matches of Jeopardy! against Brad Rutter and Ken Jennings, winning by a significant margin. Facebook Research made their DrQA system available under an open source license. This system uses Wikipedia as knowledge source. The open source framework Haystack by deepset combines open-domain question answering with generative question answering and supports the domain adaptation of the underlying language models for industry use cases. Large Language Models (LLMs)[36] like GPT-4[37], Gemini[38] are examples of successful QA systems that are enabling more sophisticated understanding and generation of text. When coupled with Multimodal[39] QA Systems, which can process and understand information from various modalities like text, images, and audio, LLMs significantly improve the capabilities of QA systems. == Types == Question-answering research attempts to develop ways of answering a wide range of question types, including fact, list, definition, how, why, hypothetical, semantically constrained, and cross-lingual questions. Answering questions related to an article in order to evaluate reading comprehension is one of the simpler form of question answering, since a given article is relatively short compared to the domains of other types of question-answering problems. An example of such a question is "What did Albert Einstein win the Nobel Prize for?" after an article about this subject is given to the system. Closed-book question answering is when a system has memorized some facts during training and can answer questions without explicitly being given a context. This is similar to humans taking closed-book exams. Closed-domain question answering deals with questions under a specific domain (for example, medicine or automotive maintenance) and can exploit domain-specific knowledge frequently formalized in ontologies. Alternatively, "closed-domain" might refer to a situation where only a limited type of questions are accepted, such as questions asking for descriptive rather than procedural information. Question answering systems in the context of machine reading applications have also been constructed in the medical domain, for instance related to Alzheimer's disease. Open-domain question answering deals with questions about nearly anything and can only rely on general ontologies and world knowledge. Systems designed for open-domain question answering usually have much more data available from which to extract the answer. An example of an open-domain question is "What did Albert Einstein win the Nobel Prize for?" while no article about this subject is given to the system. Another way to categorize question-answering systems is by the technical approach used. There are a number of different types of QA systems, including: rule-based systems, statistical systems, and hybrid systems. Rule-based systems use a set of rules to determine the correct answer to a question. Statistical systems use statistical methods to find the most likely answer to a question. Hybrid systems use a combination of rule-based and statistical methods. == Architecture == As of 2001, question-answering systems typically included a question classifier module that determined the type of question and the type of answer. Different types of question-answering systems employ different architectures. For example, modern open-domain question answering systems may use a retriever-reader architecture. The retriever is aimed at retrieving relevant documents related to a given question, while the reader is used to infer the answer from the retrieved documents. Systems such as GPT-3, T5, and BART use an end-to-end architecture in which a transformer-based architecture stores large-scale textual data in the underlying parameters. Such models can answer questions without accessing any external knowledge sources. == Methods == Question answering is dependent on a good search corpus; without documents containing the answer, there is little any question answering system can do. Larger collections generally mean better question answering performance, unless the question domain is orthogonal to the collection. Data redundancy in massive collections, such as the web, means that nuggets of information are likely to be phrased in many different ways in differing contexts and documents, leading to two benefits: If the right information appears in many forms, the question answering system needs to perform fewer complex NLP techniques to understand the text. Correct answers can be filtered from false positives because the syst

Top 10 AI Writing Assistants Compared (2026)

Trying to pick the best AI writing assistant? An AI writing assistant is software that uses machine learning to help you get more done — it scales effortlessly from a single task to thousands. The best picks balance beginner-friendly simplicity with the depth power users need, and they ship updates often. Whether you are a beginner or a pro, the right AI writing assistant slots into your workflow and pays for itself fast. Read on for hands-on impressions, pricing tiers, and the standout features that matter.

AI Video Generators Reviews: What Actually Works in 2026

Comparing the best AI video generator? An AI video generator is software that uses machine learning to help you get more done — it lowers the barrier so anyone can produce professional output. Privacy matters too: check whether your data trains the model and whether a no-log or enterprise tier is available. Whether you are a beginner or a pro, the right AI video generator slots into your workflow and pays for itself fast. We tested the leading options and ranked them by quality, value, and ease of use.

AI Logo Makers Reviews: What Actually Works in 2026

Shopping for the best AI logo maker? An AI logo maker is software that uses machine learning to help you get more done — it keeps getting smarter as the underlying models improve. Pricing, accuracy, and the size of the model behind the tool are the three factors that most affect daily usefulness. Whether you are a beginner or a pro, the right AI logo maker slots into your workflow and pays for itself fast. We tested the leading options and ranked them by quality, value, and ease of use.

List of assembly software and tools

This is a list of assembly software and tools, including software used for assembly language programming, machine code generation, disassembly, debugging, binary analysis, reverse engineering, and instruction-set simulation. == Assemblers and machine-code generators == == Disassemblers and binary-analysis tools == == Debuggers with assembly-level features == == Educational IDEs, simulators and emulators == == Portable and intermediate assembly-like languages == == Assembly language families == Assembly language is not a single programming language, but a family of low-level languages associated with particular instruction set architectures and processor families. Examples include:

Semiautomaton

In mathematics and theoretical computer science, a semiautomaton is a deterministic finite automaton having inputs but no output. It consists of a set Q of states, a set Σ called the input alphabet, and a function T: Q × Σ → Q called the transition function. Associated with any semiautomaton is a monoid called the characteristic monoid, input monoid, transition monoid or transition system of the semiautomaton, which acts on the set of states Q. This may be viewed either as an action of the free monoid of strings in the input alphabet Σ, or as the induced transformation semigroup of Q. In older books like Clifford and Preston (1967) semigroup actions are called "operands". In category theory, semiautomata essentially are functors. == Transformation semigroups and monoid acts == A transformation semigroup or transformation monoid is a pair ( M , Q ) {\displaystyle (M,Q)} consisting of a set Q (often called the "set of states") and a semigroup or monoid M of functions, or "transformations", mapping Q to itself. They are functions in the sense that every element m of M is a map m : Q → Q {\displaystyle m\colon Q\to Q} . If s and t are two functions of the transformation semigroup, their semigroup product is defined as their function composition ( s t ) ( q ) = ( s ∘ t ) ( q ) = s ( t ( q ) ) {\displaystyle (st)(q)=(s\circ t)(q)=s(t(q))} . Some authors regard "semigroup" and "monoid" as synonyms. Here a semigroup need not have an identity element; a monoid is a semigroup with an identity element (also called "unit"). Since the notion of functions acting on a set always includes the notion of an identity function, which when applied to the set does nothing, a transformation semigroup can be made into a monoid by adding the identity function. === M-acts === Let M be a monoid and Q be a non-empty set. If there exists a multiplicative operation μ : Q × M → Q {\displaystyle \mu \colon Q\times M\to Q} ( q , m ) ↦ q m = μ ( q , m ) {\displaystyle (q,m)\mapsto qm=\mu (q,m)} which satisfies the properties q 1 = q {\displaystyle q1=q} for 1 the unit of the monoid, and q ( s t ) = ( q s ) t {\displaystyle q(st)=(qs)t} for all q ∈ Q {\displaystyle q\in Q} and s , t ∈ M {\displaystyle s,t\in M} , then the triple ( Q , M , μ ) {\displaystyle (Q,M,\mu )} is called a right M-act or simply a right act. In long-hand, μ {\displaystyle \mu } is the right multiplication of elements of Q by elements of M. The right act is often written as Q M {\displaystyle Q_{M}} . A left act is defined similarly, with μ : M × Q → Q {\displaystyle \mu \colon M\times Q\to Q} ( m , q ) ↦ m q = μ ( m , q ) {\displaystyle (m,q)\mapsto mq=\mu (m,q)} and is often denoted as M Q {\displaystyle \,_{M}Q} . An M-act is closely related to a transformation monoid. However the elements of M need not be functions per se, they are just elements of some monoid. Therefore, one must demand that the action of μ {\displaystyle \mu } be consistent with multiplication in the monoid (i.e. μ ( q , s t ) = μ ( μ ( q , s ) , t ) {\displaystyle \mu (q,st)=\mu (\mu (q,s),t)} ), as, in general, this might not hold for some arbitrary μ {\displaystyle \mu } , in the way that it does for function composition. Once one makes this demand, it is completely safe to drop all parenthesis, as the monoid product and the action of the monoid on the set are completely associative. In particular, this allows elements of the monoid to be represented as strings of letters, in the computer-science sense of the word "string". This abstraction then allows one to talk about string operations in general, and eventually leads to the concept of formal languages as being composed of strings of letters. Another difference between an M-act and a transformation monoid is that for an M-act Q, two distinct elements of the monoid may determine the same transformation of Q. If we demand that this does not happen, then an M-act is essentially the same as a transformation monoid. === M-homomorphism === For two M-acts Q M {\displaystyle Q_{M}} and B M {\displaystyle B_{M}} sharing the same monoid M {\displaystyle M} , an M-homomorphism f : Q M → B M {\displaystyle f\colon Q_{M}\to B_{M}} is a map f : Q → B {\displaystyle f\colon Q\to B} such that f ( q m ) = f ( q ) m {\displaystyle f(qm)=f(q)m} for all q ∈ Q M {\displaystyle q\in Q_{M}} and m ∈ M {\displaystyle m\in M} . The set of all M-homomorphisms is commonly written as H o m ( Q M , B M ) {\displaystyle \mathrm {Hom} (Q_{M},B_{M})} or H o m M ( Q , B ) {\displaystyle \mathrm {Hom} _{M}(Q,B)} . The M-acts and M-homomorphisms together form a category called M-Act. == Semiautomata == A semiautomaton is a triple ( Q , Σ , T ) {\displaystyle (Q,\Sigma ,T)} where Σ {\displaystyle \Sigma } is a non-empty set, called the input alphabet, Q is a non-empty set, called the set of states, and T is the transition function T : Q × Σ → Q . {\displaystyle T\colon Q\times \Sigma \to Q.} When the set of states Q is a finite set—it need not be—, a semiautomaton may be thought of as a deterministic finite automaton ( Q , Σ , T , q 0 , A ) {\displaystyle (Q,\Sigma ,T,q_{0},A)} , but without the initial state q 0 {\displaystyle q_{0}} or set of accept states A. Alternately, it is a finite-state machine that has no output, and only an input. Any semiautomaton induces an act of a monoid in the following way. Let Σ ∗ {\displaystyle \Sigma ^{}} be the free monoid generated by the alphabet Σ {\displaystyle \Sigma } (so that the superscript is understood to be the Kleene star); it is the set of all finite-length strings composed of the letters in Σ {\displaystyle \Sigma } . For every word w in Σ ∗ {\displaystyle \Sigma ^{}} , let T w : Q → Q {\displaystyle T_{w}\colon Q\to Q} be the function, defined recursively, as follows, for all q in Q: If w = ε {\displaystyle w=\varepsilon } , then T ε ( q ) = q {\displaystyle T_{\varepsilon }(q)=q} , so that the empty word ε {\displaystyle \varepsilon } does not change the state. If w = σ {\displaystyle w=\sigma } is a letter in Σ {\displaystyle \Sigma } , then T σ ( q ) = T ( q , σ ) {\displaystyle T_{\sigma }(q)=T(q,\sigma )} . If w = σ v {\displaystyle w=\sigma v} for σ ∈ Σ {\displaystyle \sigma \in \Sigma } and v ∈ Σ ∗ {\displaystyle v\in \Sigma ^{}} , then T w ( q ) = T v ( T σ ( q ) ) {\displaystyle T_{w}(q)=T_{v}(T_{\sigma }(q))} . Let M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} be the set M ( Q , Σ , T ) = { T w | w ∈ Σ ∗ } . {\displaystyle M(Q,\Sigma ,T)=\{T_{w}\vert w\in \Sigma ^{}\}.} The set M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} is closed under function composition; that is, for all v , w ∈ Σ ∗ {\displaystyle v,w\in \Sigma ^{}} , one has T w ∘ T v = T v w {\displaystyle T_{w}\circ T_{v}=T_{vw}} . It also contains T ε {\displaystyle T_{\varepsilon }} , which is the identity function on Q. Since function composition is associative, the set M ( Q , Σ , T ) {\displaystyle M(Q,\Sigma ,T)} is a monoid: it is called the input monoid, characteristic monoid, characteristic semigroup or transition monoid of the semiautomaton ( Q , Σ , T ) {\displaystyle (Q,\Sigma ,T)} . == Properties == If the set of states Q is finite, then the transition functions are commonly represented as state transition tables. The structure of all possible transitions driven by strings in the free monoid has a graphical depiction as a de Bruijn graph. The set of states Q need not be finite, or even countable. As an example, semiautomata underpin the concept of quantum finite automata. There, the set of states Q are given by the complex projective space C P n {\displaystyle \mathbb {C} P^{n}} , and individual states are referred to as n-state qubits. State transitions are given by unitary n×n matrices. The input alphabet Σ {\displaystyle \Sigma } remains finite, and other typical concerns of automata theory remain in play. Thus, the quantum semiautomaton may be simply defined as the triple ( C P n , Σ , { U σ 1 , U σ 2 , … , U σ p } ) {\displaystyle (\mathbb {C} P^{n},\Sigma ,\{U_{\sigma _{1}},U_{\sigma _{2}},\dotsc ,U_{\sigma _{p}}\})} when the alphabet Σ {\displaystyle \Sigma } has p letters, so that there is one unitary matrix U σ {\displaystyle U_{\sigma }} for each letter σ ∈ Σ {\displaystyle \sigma \in \Sigma } . Stated in this way, the quantum semiautomaton has many geometrical generalizations. Thus, for example, one may take a Riemannian symmetric space in place of C P n {\displaystyle \mathbb {C} P^{n}} , and selections from its group of isometries as transition functions. The syntactic monoid of a regular language is isomorphic to the transition monoid of the minimal automaton accepting the language. == Literature == A. H. Clifford and G. B. Preston, The Algebraic Theory of Semigroups. American Mathematical Society, volume 2 (1967), ISBN 978-0-8218-0272-4. F. Gecseg and I. Peak, Algebraic Theory of Automata (1972), Akademiai Kiado, Budapest. W. M. L. Holcombe, Algebraic Automata Theory (1982), Cambridge University Press J. M. Howie, Automata and Languages, (1991), Cla