Skip to content
View faezehmzf's full-sized avatar

Block or report faezehmzf

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
faezehmzf/README.md

Faezeh Mozaffari

LinkedIn Email

Hi, I'm Faezeh

🎓 I hold an MSc in Information Technology Engineering from the University of Tehran, where I am also a Research Assistant at the Social Networks Lab. Our lab investigates computational approaches to understanding social networks, integrating Network Science, Machine Learning, and Natural Language Processing to study online behavior and information dynamics.

🔬 My research lies at the intersection of Network Science and Machine Learning, with a particular focus on Community Detection and Evolution, Influence Analysis, and Information Diffusion in large-scale social networks.

🚀 My broader research interests encompass Graph Machine Learning and Representation Learning, with an emphasis on modeling complex relational structures, capturing structural and temporal dependencies, and learning generalizable representations. Building on my experience with Graph Neural Networks, I am particularly interested in developing robust and scalable learning approaches for complex, structured, and evolving data across diverse domains.


Selected work

💬 RAG chatbot for Speech and Language Processing
Goal: a chatbot that answers questions about Jurafsky and Martin's Speech and Language Processing textbook from the book itself, and turns to web search or politely declines when the book does not cover the question.
Approach: a LangGraph workflow sends each question to hybrid FAISS + BM25 search over the 640-page book, to web search, or to a fallback.
Result: tested with Llama-3-70B, every test question reached the right source, and the answers stayed within the retrieved passages.
RAG LangGraph LLMs

🔎 Job–candidate ranking
Goal: rank the applicants for each job so that the best-fitting candidates come first.
Approach: data cleaning, 51 job–candidate features, cross-validation grouped by job, and LightGBM and XGBoost ranking models.
Result: NDCG@10 of 0.858 on the test set, compared with 0.424 for the same model without the engineered features.
data-mining learning-to-rank LightGBM

🏷️ Semantic role labelling: tagging vs. generation
Goal: semantic role labelling finds who did what to whom in a sentence. The project asks whether this works better by labelling each word, or by generating the answer to a question such as "who accepted the offer?"
Approach: two taggers (BiLSTM-CRF, RoBERTa) and two generators (an RNN encoder–decoder, FLAN-T5), all scored with the same metric.
Result: RoBERTa with a CRF layer is the strongest model (span F1 0.880). FLAN-T5 comes close (token F1 0.894 vs. 0.902), while the generator trained without pre-training falls far behind.
NLP PyTorch Transformers

⚡ Parameter-efficient fine-tuning
Goal: measure how much accuracy is lost when, instead of updating all 355M weights of RoBERTa-large, only a small set of added weights is trained.
Approach: full fine-tuning, LoRA and soft prompts on natural language inference (MultiNLI), with 1% of the training data on a single GPU.
Result: LoRA reaches 81.6% while training 1.3% of the weights, but needs three epochs to get there. After one epoch, full fine-tuning is well ahead (74.6% vs. 52.6%), and the soft prompts did not learn.
PEFT LoRA RoBERTa

More projects
Area Project In one line
Social networks information-diffusion-network-analysis Influence (HITS, PageRank), k-cores and communities (Louvain, Infomap) in six retweet and forward networks
Graphs graph-ranking-and-text-weighting PageRank, HITS and SALSA on a voting network, checked against NetworkX; TF-IDF as a MapReduce job
Data mining bm25-vs-language-models Eleven text ranking models compared with cross-validation and significance tests
Machine learning spoken-language-identification Four-language identification from speech, evaluated on speakers the model has never heard
Machine learning life-expectancy-mlp Neural networks on WHO indicators, tested on countries the model has never seen
Statistics Pima-Diabetes-Stat-Inference Estimation, hypothesis tests and regression on the Pima diabetes data
NLP tokenizers-and-ngram-lms Subword tokenizers and n-gram language models, tested against Hugging Face
NLP tfidf-ppmi-word2vec Count-based and skip-gram word vectors compared with GloVe
NLP english-persian-nmt-fairseq English→Persian translation with fairseq: LSTM vs. Transformer
Optimisation Bio-CPG-Optimization A genetic algorithm that tunes a walking gait for a six-legged robot in Webots

Toolbox

Python, C++, C, MATLAB, MySQL, PyTorch, TensorFlow, scikit-learn, Django, Git, GitHub, LaTeX

Graphs & networks NetworkX · Gephi · Neo4j
Machine learning PyTorch · TensorFlow · scikit-learn · Hugging Face
Data pandas · NumPy · SQL · Tableau
LLM applications LangChain · LangGraph
Software Python · C++ · Django · Git


Happy to talk about social networks, graph learning or data mining — LinkedIn · email

Popular repositories Loading

  1. Pima-Diabetes-Stat-Inference Pima-Diabetes-Stat-Inference Public

    Statistical inference on the Pima Indians Diabetes Dataset: exploratory analysis, estimation, parametric and non-parametric hypothesis testing, and regression modeling in Python.

    Jupyter Notebook

  2. Bio-CPG-Optimization Bio-CPG-Optimization Public

    Central pattern generator gait for the 18-joint Mantis hexapod in Webots, tuned by a genetic algorithm: the walking-constrained gait covers 8.6× the distance of the hand-tuned one.

    Python

  3. tokenizers-and-ngram-lms tokenizers-and-ngram-lms Public

    Rule-based, BPE and WordPiece tokenizers and smoothed n-gram language models (Laplace, add-k, Kneser-Ney), evaluated on real text and applied to sentiment classification.

    Python

  4. tfidf-ppmi-word2vec tfidf-ppmi-word2vec Public

    Count-based (TF, TF-IDF, PPMI) and predictive (skip-gram) word representations compared with pre-trained GloVe on tweet sentiment, sarcasm detection and word analogies.

    Python

  5. srl-tagging-vs-generation srl-tagging-vs-generation Public

    Semantic role labeling two ways: BIO tagging (BiLSTM-CRF, RoBERTa) vs. generation as question answering (RNN encoder-decoder, FLAN-T5)

    Python

  6. roberta-peft-mnli roberta-peft-mnli Public

    Full fine-tuning vs. LoRA vs. soft prompts on RoBERTa-large for natural language inference (MultiNLI)

    Jupyter Notebook