Here is my detailed CV. You can also find the compact PDF version with all of the important stuff here.
  • Education
  • Experiences
  • Scientific Contrib.
  • Research Interest
  • Skills
  • Projects
  • Presentations

Education


Iran University of Science & Technology (2015 - [Expected] Feb 2020)
  • Ranked 3rd among all Iranian Universities
    (Based on The QS World University Rankings 2020)
  • B.Sc. Computer Engineering, focus on AI
  • GPA (up to now via 130 credits): 3.88 • GPA (last two years via 62 credits): 4.0
Allameh-Helli 3 (2008 - 2015)
  • National Organization for Development of Exceptional Talent (NODET)
  • Middle-School, High-School
  • Diploma in Mathematics and Physics with 4.0 GPA

Honors & Awards


  • Ranked 2nd among 66 undergraduate students in the Department of Computer Engineering, Iran University of Science & Technology.
  • Awarded as a Top-ranked student for 8 semesters (since Fall 2015) as a result of obtaining a GPA over 17/20 (A+).
  • Top 99.2nd percentile in national university entrance exam among near 200,000 participants.
  • Member of National Organization for the Development of Exceptional Talents since 2008 (acceptance rate < 0.3%).
  • Won the first place in IUST ACM tournament in 2016 and 2017.

*All of the courses below are passed with A+ score:

Natural Language Processing           Computer Networks    
Computational Intelligence           Programming with Python    
Artificial Intelligence           Advanced Programming    
Signal Processing           Compiler Design    
Computer Vision           Theory of Languages and Automata    
Algorithm Design           Logic Circuits    
Data Structure           Discrete Mathematics    


Self Study


  • CS224d: Deep Learning for Natural Language Processing (Spring 2018)
    Stanford Course (Audited) - Instructor: Prof. Chris Manning & Prof. Richard Socher
  • NLP (Statistical methods) (Fall 2017)
    Coursera Course (Audited) - Instructor: Prof. Dan Jurafsky & Prof. Chris Manning
  • Machine Learning (Fall 2017)
    Coursera Course (Audited) - Instructor: Prof. Andrew Ng
  • Big Data Analysis with Scala and Spark (Spring 2017)
    Coursera in corporation with EPFL (Audited) - Instructor: Dr. Heather Miller
  • Data mining (Spring 2017)
    Graduate Course at Iran University of Science and Technology - Instructor: Dr. Hossein Rahmani

Reasearch


Undergraduate Research Assistant (June 2018 - Present)
Machine Learning Lab @ Sharif University of Technology - Supervisor: Dr. Mahdieh Soleymani
Retrieval Paraphrase Generation by Augmenting seq2seq models [view the submitted paper(PDF)] [code on GitHub]
  • Designed novel retrieval-based text-generation model based on the Transformer architecture.
  • Introduced new unsupervised data augmentation framework which can increase the accuracy on a fewshot-like text classification datasets.
  • Achieved new SOTA on two common paraphrasing datasets in three metrics (including BLEU and ROUGE).
  • Outperformed 2018 & 2019 papers (from ACL, NIPS, and NAACL) on both human and automatic evaluation.
  • Introduced new unsupervised data-augmentation framework for text, which increased the accuracy on FewShot-like text classification datasets.
  • Submitted a paper to ACL 2020 as the first author.
Focus:
  • Paraphrase Generation
  • Conditional Text generation
  • Retrieval-based Editor Model
  • Tensorflow
  • Transformer Architecture
  • Data Augmentation

Undergraduate Research Assistant (Sep 2017 - Mar 2018)
Advanced BigData Analysis Lab @ Iran University of Science and Technology - Supervisor: Dr. Hossein Rahmani
Anomaly Analysis on big unlabeled time series data
  • Created a big graph from an unstructured data with 3M nodes and 17M edges which was used by other lab members for better and more efficient feature engineering.
  • Created graph-based heuristic features which resulted in identifying two veriaied abnormal patterns.
  • Re-implemented a legacy sub-graph extraction script in Apache Spark and Reduced the execution time from 2 minutes to 20 seconds.
Focus:
  • Data-Mining
  • Anomaly Analysis
  • Dataset Collection
  • Apache Spark
  • Scala
  • Time-series Dataset

Teaching


TA for Deep Learning (Graduate Course)
Spring 2019 @ Iran University of Science and Technology - Instructor: Dr. Mohammad Taher Pilehvar
  • The course was introduced for the first time in the department.
  • All of its materials, including assignments, solutions, and the final project, were designed from scratch (in English).
  • It became a pupular course across the university, in which 50% of the population had audited the course from other departments.
  • Its website is ranked first in the search result for “deep learning in iran” query..
TA for Artificial Intelligence and Expert Systems
Fall 2018 @ Iran University of Science and Technology - Instructor: Dr. Mohammad Taher Pilehvar
  • Old course materials were completedly updated from the previous instructor.
  • Chosen as ”the best course of the semester” based on student evaluation.
  • Its website had numerable visitors, even after it had been ended.
TA for Fundamentals of Programming
Fall 2016 @ Iran University of Science and Technology - Instructor: Dr. Adel Torkaman Rahmani
  • Designed small python programming projects, and Held weekly practical problem-solving classes.

Software Engineering


Open-Source Contributor at Tensorflow 2.0 (Sep 2019 - Present)
Google’s Deep learning framework
Reported and fixed bugs and wrote tests in the Sequence-to-Sequence sub-module (#375, #503, #511, #534, and #534), also Wrote a Jupyter notebook based tutorial showing How to use the new Seq2Seq components in TF 2.0 #335

Technical lead and Software Developer at Mizit (Nov 2016 - Aug 2017)
An Iranian bin-tech B2C startup targeting Hospitality industry
Designed their system architecture including server-client communications. Implemented a WebSocket API for the reservation service resulted in fast Server-to-Client communication using Node.js and Redis.


Software Developer at Televisak (Nov 2015 - June 2016)
An Iranian collaborative movie streaming service.
Implemented the video streaming component for the mobile client using common Andoird/Java libraries.

Related Academic Projects


  • Ball Collision Detection in Video files (Fall 2018)
    Implemented an algorithm to detect collision of a small ball with wall from video files using OpenCV.
  • Implementation of common Deep Learning models for NLP (Spring 2018) [github]
    Implemented models: word2vec Numpy & Tensorflow implemenation, Neural Transition-Based Dependency Parser in Tensorflow, Window based NER model in Tensorflow, RNN based NER model in Tensorflow.
  • Classification & Collection of Persian Tweet dataset (Spring 2018) [github] [report] [slides]
    Designed an unsupervised algorithm to col- lect Persian tweets to construct automatically labeled dataset, which resulted in near 2M data points. And imple- mented a 1D-CNN text classiaier network with 87.4% accuracy on the collected dataset.
  • Error correction using Neural Machine Translation (Spring 2018) [github] [report]
    Tested a Seq2Seq LSTM network to correct all types of human error in a written text.
  • Music Recommender System (Fall 2017) [github] [report]
    Implemented an Item-Based Collaborative filtering algorithm with the accuracy matching Kaggle’s top 10 scores. Used pure modern C++ and Intel Threading Block for extra performance and concurrency.
  • Credit repay failure analysis in the German Bank dataset (Spring 2017) [presentation]
    Extracted interesting patterns such as the fact that good credit history doesn’t necessarily lead to the successful return of future credits/loan.

Other Academic Projects


  • Plane Detection (Fall 2018)
    Plane detection in Satellite images using Haar Cascade Classifier. Implemented in OpenCV.
  • Sentiment analysis on Tweets from English people before Brexit (Spring 2018) [github] [report]
    Sentiment analysis of tweets about Brexit using unsupervised approaches.
  • Graph Compression (Fall 2016) [github]
    Loss less graph compression algorithm implemented in C++. Achieved to compress 9GB graph in just 1.2GB representation.
  • Process Scheduler in NachOS (Fall 2017) [github]
    Completing the implementation of NachOS schedulers (NachOS is an educational operating system.).
  • Search Engine (Spring 2016) [github]
    Implemented a search engine using the Inverted Index algorithm, and also A web-scrapper in Python, flask, Redis & Scrapy
  • Remote File Viewer (Spring 2016) [github (server)] [github (client)]
    Peer to Peer Remote file manager. Implemented in Python using socket.io library.
  • Social network website (Spring 2016) [github]
    Social network web application using Python flask framework.
  • Inverted pendulum (Fall 2015) [github]
    Designing and implementing a reinforcement learning (Q-Learning) controller for Inverted Pendulum.

Publications



* Download the PDF version [here]


Translations


Stanford CS229 course materials: Supervised Learning
Check out the translated version at the Stanford's Website

Blog Posts


Tutorial and proofs for the sinusoidal positional encoding of the Transformer's architecture.
Sharing my experience on How to be more productive in the lack of resources.
Suggesting an efficient pipeline for Deep Learning research.

Computer Skills


  • Programming Language
    • Proficient in: Python, Java, C++, Bash(Linux)
    • Familiar with: Scala, C++, Node.js(JavaScript), SQL

  • Frameworks & Libraries
    • Deep learning Frameworks: Tensorflow, Keras, PyTorch
    • NLP: spaCy, NLTK, Flair
    • Other Python Packages: Numpy, matplotlib, Faiss, Flask, Scrapy
    • Big Data Packages: Apache Spark
    • Graph Processing Tools: Apache Spark GraphX, Cytoscape
    • Other: Git, Docker

Language Skills


  • Persian: Native
  • English: Fluent (TOEFL: 101/120)
  • Arabic: Familiar

Research Interests


  • Conditional Text Generation
    • Dialog systems
    • Paraphrase Generation
    • Question Answering systems
  • Retrieval Text Generation (Both conditional and unconditional)
  • Pre-trained Language Models (Transfer Learning)
  • Training in the low-resource setting
  • Data Augmentation in NLP
  • Intersection of CV and NLP. e.g. VQA systems
  • Natural Language Processing
  • Deep Learning
  • Machine Learning

Presentations


Few-shot Learning
[Dec 2018]

A presentation on common methods in few-shot learning including Meta-learning and Data-Augmentation

ANT Wireless Protocol
[Feb 2018]

An introduction to the ANT wireless protocol

Followers Comparison in the Twitter data
[Jul 2018]

Analysis of my collected Twitter dataset

Meercast Feasibility Study
[Mar 2017]

The feasibility study of a hypothetical video streaming service. Design Phase [1] [2], [3]

Anomaly Analysis in German Bank Customer Dataset
[Jul 2017]

Result of my data-mining project

PHP
[May 2016]

An introductionary tutorial for PHP

GoSearch!
[Jul 2016]

A Presentation on my search engine project

SQL Tutorial
[Feb 2016]

An introductionary tutorial for SQL and DMBS