profile image

Farima Fatahi Bayat

Graduate Research Assistant

About Me

I am a Ph.D. candidate in the Computer Science and Engineering Department at the University of Michigan. I work as a Research Assistant with Prof. H. V. Jagadish . I have recently developed an Open Information Extraction system that extracts fine-grained triples from raw text. Currently, I am working on fact verification for tables.

Research Interests: Information Extraction, Natural Language Generation, Knowledge Graphs, and Graph-based Machine Learning

Research Experience

project name


Database Research Group | June 2020 – Present

In this work we extract compact nested triples from single sentences using an end-to-end approach that first extracts triple flat triples and then relate them in a nested setting. One application of this system is creating concept maps.

Paper Code

project name

Analyzing the Relation between Product Features and Consumer Preferences

GEMS LAB | November 2019 – December 2020

A multi-modal recommendation system that exploits novel text and graph embedding techniques to infer consumer interests and preferences and make product recommendations.

project name

>Hardware-aware Learning for the Efficient Implementation of Convolutional Neural Networks

NoC LAB | September 2017 – August 2018

Extending the Ristretto tool to optimize neural network weights for hardware implementation of an object recognition system.

Paper Code

Notable Academic Projects

Efficient and Expressive Counterfactual Explanations for Graph Neural Networks

Finding counterfactual graph edits that explain Graph Neural Network predictions by leveraging reinforcement learning to approximate the discrete optimization of where to add or delete nodes within an initial graph.

Technologies used:
  • PyTorch
  • PyTorch-geometric

a COVID-19 X-Ray Image Classification Using Transfer Learning and Contrastive Learning

Development of a decision fusion model that jointly exploits transfer learning (three pre-trained CNN models) and contrastive learning (Siamese Neural network) techniques to detect the existence of COVID-19 virus in patients' lungs from chest X-ray images.

Technologies used:
  • PyTorch
  • Jupyter Notebook
  • Google Colab


Conversation Entailment

Development of a BERT-based encoder-decoder model that predicts whether a hypothesis sentence entails a conversational premise. Conversational premise is a script of multiple turn-taking dialogues between two agents.

Technologies used:
  • PyTorch/ Hugging Face
  • Jupyter Notebook
  • Google Colab


Part-of-Speech (POS) Taggers

Implementation of two Part-of-Speech tagging systems: one is based on the first-order Hidden Markov Model which uses Viterbi algorithm to assign POS tags to words, and another that is based on the popular encoder-decoder models which uses BiLSTM as it's encoder and a softmax layer as it's decoder.

Neural Layer Implementation

Implementation of the forward and backward pass of the following neural network layers from scratch: (temporal/regular) fully-connected layer, ReLU, convolutional layer, softmax loss layer, and max-pooling layer. The implemented layers has then been combined to build image classification and image captioning models.

CKY parser

Implementing a Cocke–Younger–Kasami parsing algorithm to generate phrases based on context-free grammars.

Atalk (Course-defined Programming Language) Compiler

a compiler for Asynchronous Talk (ATalk), an actor-oriented programming language in which actors are concurrent entities with one execution thread and one mailbox.

Technologies used:
  • ANother Tool for Language Recognition (ANTLR)
  • Java
  • SPIM MIPS Processor Simulator

Parallelized Fully-connected Neural Network

Utilizing the multi-threading and synchronization structures of C++ to implement a parallelized fully-connected Neural Network.

Design and Implementation of 16-bit MIPS Processor with 2-way L1 Cache

a 5-stage pipeline custom MIPS core with static branch prediction, 5 cycle memory access, 2-way L1 cache with 1-bit LRU, and full forwarding.

Technologies used:
  • Verilog Hardware Description Language
  • Quartus II
  • SignalTap II Logic Analyzer
  • Altera DE2-115 Development and Education Board Altera Cyclone IV FPGA logic

Design and Implementation of a Neural Network Accelerator

Technologies used:
  • Verilog Hardware Description Language
  • ISE Design Suite
  • Xilinx FPGA

Work Experience

Data Engineeer Intern - Digikala Summer 2019

Customer Purchase Probability: a framework that estimates the probability of purchase by the user in the current session by monitoring customer’s recent behavior.

Technologies used:
  • Python
  • SQL
  • Apache Kudu
  • Redis

Teaching Assistantship

Operating Systems, Fall 2017 - Fall 2018, University of Tehran, Iran

Instructor: Mehdi Kargahi

Computer-Aided Digital System Design, Fall 2017 - Fall 2018, University of Tehran, Iran

Instructor: Mehdi Modarressi

Computer Architecture/ Computer Architecture Lab, Fall 2017 - Fall 2018, University of Tehran, Iran

Instructor: Saeid Safari

Computer Networks, Winter 2018 - Fall 2018, University of Tehran, Iran

Instructor: Ahmad Khonsari


2018: Second-Best B.Sc. Thesis Award, University of Tehran

2018: Received scholarship from Faculty of Engineering as an exceptional talent student

2018: Ranked 5th in Class of 2014, Hardware Group, University of Tehran