Computational Linguistics Click for more details

    Computational Linguistics (also called Natural Language Processing - NLP) is a field at the crossroad between Computer Science and Linguistics. The ultimate goal in our field is to understand the nature of human languages through computational models. Modern NLP relies heavily on machine learning and statistical models to explain processes observed in natural languages.
    Applications include machine translation, natural language inference (extracting information from text), text generation, automatic summarization, question-answering. Recent developments in neural networks have had significant impact in the field and have become key enabling techniques in NLP. Our research lab specializes in processing of the Hebrew language. We also work actively in automatic summarization, syntactic parsing and semantic text analysis. We recently started investigating applications of vision-language grounding, looking at ways to describe images in natural language, and answering questions about the content of images.

    Computational and Computer vision Click for more details

    The goal of computer vision is visual inference; i.e., extracting information, or drawing conclusions, from visual data such as pictures or videos. More loosely speaking, it is about teaching computers to see. The field combines elements from computer science, mathematics, statistics, engineering, physics, cognitive sciences and more. Real-world applications are omnipresent as is evident by the high demand for computer-vision researchers in both Academia and the industry. Examples include automatic face recognition and an autonomous car using visual sensors to avoid collisions.

    Constraints and Optimization Click for more details

    Data Mining Click for more details

    Distributed Constraints Click for more details

    Distributed Constraints Satisfaction Problems (CSPs), are composed of a set of variables which are distributed among agents. The variables are connected by constraints which define the constraints network among the agents. As a result, the search algorithm for solving these problems is a distributed algorithm, run by agents that communicate by sending and receiving messages. In general, messages contain information about assignments of values to variables and refutations of assignments, by agents that have no compatible assignment to their own variables. A natural extension to distributed constraints satisfaction problems are distributed constraints Optimization problems (DCOPs). DCOPs have valued constraints, so that any compound assignment of constrained agents is associated with a finite cost (or gain). The goal of a search algorithm for DCOPs is to find the optimal solution. Most commonly the Utilitarian objective function which is the sum of all costs of all agents.
    Typical example problems are a timetable for courses in a university, where several departments cooperate for a single curriculum, or for employees in a large working place such as a hospital or an ER where several wards cooperate in satisfying important constraints of medical staff. More interesting recent examples incorporate non-cooperative agents who search for a good solution for a multi-agent game.

    Evolutionary Computation Click for more details

    In Evolutionary Computation (EC), core concepts from evolutionary biology—inheritance, random variation, and selection—are harnessed in algorithms that are applied to complex computational problems. The field of EC, whose origins can be traced back to the 1950s and 60s, has come into its own over the past decade. EC techniques have been shown to solve numerous difficult problems from widely diverse domains, in particular producing human-competitive machine intelligence.

    Machine Learning Click for more details

    Machine Learning is the science of automatic computerized learning from examples. The field of machine learning aims to discover methods and algorithms that allow converting data to knowledge. Data can be of any form: it can be images, sounds, health records, stock market prices, traffic routes, user behavior, and so on. Machine learning algorithms use this data to infer rules that allow making predictions, identifying patterns, and organizing information. For instance, a Machine Learning algorithm can be used to infer from data about user behavior what is the best ad to present to the next user, or to predict the weather tomorrow based on today's weather along with historical weather data. Machine Learning is used today by all the major hi-tech companies and many start-ups. It is also used for scientific purposes in a wide range of applications, from identifying sub-atomic particles in a physical experiment to automatic diagnosis of diseases based on MRI images.

    Planning and Reasoning Click for more details

    Planning is a core field of artificial intelligence (AI), wherein a system uses its knowledge about a domain to reason about the state of the world as a result of its actions, and choose actions so as to achieve certain goals. As many domains in the real world are inherently uncertain, this often requires the capability for reasoning and decision-making under uncertainty. Hence this field of AI involves techniques for modeling domains and potential actions, including graphical uncertainty models, search, automated generation of heuristic functions, and numerous other core AI techniques; and has wide-ranging applications from intelligent software (including "web") agents, all the way to physical robots.

    Robotics Click for more details

    In robotics we are interested in making physical agents, robots, that can perform tasks in the real world. Our group is particularly interested in autonomous robots, robots that can make decisions and do not run pre-programmed scripts, but rather select their actions based on their current situation and goal. We seek methods for making it easier to program such robots and algorithms that support autonomous behavior.