Research
- UW-Madison Lang Lab » Spring 2023 - Present
- Epigenetic factors in cisplatin resistance of ovarian cancer
- UW-Madison Badger Lab » Spring 2021
- Two-axis adaptable ankle prosthetic
- Cross-Institutional CS Education Research Team » Fall 2020 & Spring 2021
- Student misconceptions in dynamic programming
- USC Intelligence and Knowledge Lab: Merit Research Fellow » Fall 2019 & Spring 2020
- Honors Undergraduate Thesis
- Adversarial Data Augmentation for Named Entity Recognition
- TriggerNER: Learning with entity triggers as explanations for named entity recognition
- USC WRIT 340: Advanced Writing for Engineers » Fall 2018
- Automated Poetry Generation
- USC Interaction Lab: Merit Research Fellow » Spring 2017
- Socially Assistive Robotics
- Oregon State Walker Lab: Research Intern » Summer 2015
- Fabrication of Microfluidic Devices
I am working on a project to understand the role of epigenetic factors in the development of cisplatin resistance in ovarian cancer cell lines. My role is to integrate several types of epigenetic datasets together in order to paint a broader picture of how regulation of gene expression may be affecting cisplatin resistance. Our datasets include gene expression data, chromatin accessibility data, 3D genomic data, and histone methylation and acetylation data. Translational applications of this research inlclude targeted knockdown of the transcription factors or inhibition of super enhancers found to drive the over expression of genes conferring cisplatin resistance.
I worked with a team of graduate students developing a two-axis adaptable ankle prosthetic. The goal of this project was to develop a low-complexity prosthetic that incorporated basic robotic capabilities making it adaptable to different terrains. My role in the project was the development of a ROS-based application to drive the ankle prosthetic.
Dynamic programming is a fundamental paradigm in undergraduate algorithms courses and is infamous for its difficulty. We replicated a previous study which sought to understand and categorize student misconceptions in dynamic programming. We conducted interviews with current undergraduate students across several institutions. After these interviews, we analyzed their progress and approaches to solving several algorithmic problems. We hope that our research will inform best practices in teaching undergraduate algorithms courses.
Named entity recognition (NER) is the task of extracting named entities from text and classifying them using pre-defined categories (e.g. persons, locations, or organizations). State-of-the-art NER models necessitate significant amounts of human-annotated ground-truth data, and the process of annotation is expensive and time consuming. Thus, a crucial research question is how we can more efficiently collect and use human-annotated ground-truth data. The two projects below -- adversarial data augmentation and entity triggers -- explore data efficiency in named entity recognition. These two projects also made up my honors undergraduate thesis.
I explored automated methods to develop adversarial data, test data which is created by perturbing a correctly classified example, causing the model to misclassify the adversarial example. Adversarial examples are useful because they demonstrate the limits of state-of-the-art NER models which can guide future research directions for making models more robust. Further, I investigated the use of adversarial training -- generating additional training data by using the same augmentation methods used for adversarial training.
Published: https://doi.org/10.18653/v1/2021.emnlp-main.302
My team used distantly-supervised machine learning to develop a novel approach to named entity recognition. The basic idea is that we use a small amount of human-annotated data consisting of sentences with their words categorically labeled as well as labeled trigger phrases that signal a named entity. We use the trigger phrases to recognize semantically similar in unlabeled sentences, providing additional supervision when labeling the words of these sentences. My responsibilities were to help implement the machine learning algorithms and help write our manuscript. Our research paper was accepted into the Association for Computational Linguistics in 2020.
I developed a research proposal to use deep learning for automated poetry generation. Deep learning has been successful for creative image and sound generation, and I developed a proposal to modify these existing techniques for the use of poetry generation. I presented my proposal at the Viterbi Student Speaker Symposium in November 2019. My slides can be viewed here. This research paper received 1st place for the Viterbi Award for Best Research Paper.
The USC Interaction Lab is dedicated to human-robot interaction. The project I assisted on uses socially assistive robotics to help children with autism develop their communication and interpersonal skills in a non-intimidating environment. I had a wide variety of tasks, the majority of which involved using Solidworks to design objects to hold robots and their parts.
I worked with the microfluidics research team to develop microfluidic devices to measure the extensional viscosity of liquids. Extensional viscosity is a fluid's resistance to stretching. In highly viscous fluids, this can be measured with equipment that stretches a droplet until it breaks. However, low-viscosity fluids break too quickly to measure accurately. I used 3D printing, photolithography, and soft lithography to fabricate new devices to measure extensional viscosity in low-viscosity fluids. At the end of the summer I presented my findings at the Apprenticeships in Science and Engineering Symposium. Here are links to my poster and slide deck.
Industry
- MMNTS: Mid-level Software Developer » Spring 2022 - Fall 2023
- MMNTS Full stack development
- Microsoft: Quantum Research Intern » Fall 2021
- Improving the Q# debugging experience
- Microsoft: Software Development Intern » Summer 2019
- Office Document Integrations with Microsoft Whiteboard App
- Q# Code Actions
- Facebook: Software Development Intern » Summer 2018
- App Event Tracking
- Timeline Privacy
- Metro Paws: Product Design Intern » Summer 2017
- Redesign of Doggy Bag Dispenser
- Researching Eco-Friendly Materials
- AthenaHacks: Hackathon Participant » Spring 2017
- Hack Harassment
- USC 3D4E » Spring 2017
- Lab Tech
MMNTS is a health technology startup attempting to leverage recent research on Heart Rate Variability to design personalized wellness plans to improve overall health. I have been working on the backend, mobile app, and web app being used in the participant trials. As one of the four developers on the team, I have had the opportunity to work on both the design and implementation of our system.
Check out my blog post on this project. I wrote this blog post as part of the 2021 Q# Advent Calendar.
I created a feature to support the import of Office documents into the Microsoft Whiteboard App. This project was end-to-end, requiring me to work across project management, design, business operations, and software development. Within software development, I built the user interface for inserting Office documents and created the backend framework to convert and insert documents. The feature was released to the public in October 2019. I learned networking and C# throughout the process.
Q# is a programming language that Microsoft is developing for quantum computing. As part of Microsoft's company-wide hackathon, I worked on a team to create code actions for Q# within VS Code. I created code actions to replace the deprecated NOT, OR, and AND operators. From this project, I learned how to work with the syntax trees representing Q# files.
Facebook develops a software development kit (SDK) that allows third-party developers to integrate Facebook within their own iOS app. One of the benefits of this integration is that the third-party app can provide analytics that benefit that app's ad campaigns on Facebook. I implemented a new approach to app event tracking within the SDK, empowering outside developers with better data on how their app is used. This project was full-stack and involved PHP and Objective-C.
As part of a Facebook hackathon, I worked with another intern to design and implement a new timeline privacy setting.
I recreated Metro Paws' silicone doggy bag dispenser. They've used the same manufacturing mold for years and were interested in changing the design based on customer feedback and to remedy manufacturing difficulties they were having. As the only person in the company with an engineering background (at that point I was studying mechanical engineering), I created CAD drawings that incorporated the design team's ideas and simplified the design process. I also researched, interviewed, and selected alternate manufacturing facilities.
I worked on several side projects, including researching alternate manufacturing materials that would make our products more environmentally sustainable.
At this hackathon, I participated in the category to decrease bullying in schools. My group created an iOS app to teach elementary school students about harassment. The structure of the game is based on flappy bird, except instead of avoiding structures, the user wants to hit houses. When the user hits a house, they get a scenario related to bullying and are given several options on how to react. At the end of the game, based on the reactions they chose, the app gives them feedback about how they typically respond in these situations and how they might respond differently. Our project was awarded runner-up for best iOS app. An alternate link to a YouTube video of the demo can be found here.
Spring of freshman year I was involved in USC's 3D printing club. I served as a lab tech for the club, helping to maintain our 3D printers and holding lab hours to help other students with their projects.
School
- Parlay Analytics Portal » Fall 2019
- Markov Decision Processes » Fall 2019
- Multi-Agent Path Finding » Fall 2019
- Neural Network for Handwritten Numbers » Fall 2019
- Scheme Interpreter » Spring 2019
- Kindlr » Fall 2018
- TrojanSConnect » Spring 2018
For my capstone project, I worked on a team to create an analytics portal for the company Parlay Analytics. They have a phone app that allows users to place bets on sports games. We created a web app to allow stakeholders to visualize data about these bets. I mainly worked on the backend.
For CSCI 360: Artificial Intelligence, I created three solvers for Markov Decision Processes (MDP). The first two solvers, using value iteration and policy iteration, can be used to solve MDPs where the dynamics are known a priori. The final solver uses q-learning and is useful when the dynamics of the MDP are not known a priori.
For CSCI 360: Artificial Intelligence, I created a single-agent path finder using time-space A* and two multi-agent path finders, one using prioritized planning and the other using conflict-based search. conflict-based search.
For CSCI 360: Artificial Intelligence, I created a neural network. The network uses images from the MNIST handwritten digit database for training and testing data, and it uses back propogation to learn to classify these handwritten numbers.
For my final project for CSCI 499: Concepts in Programming Languages, I wrote a Scheme interpreter in Java. The program reads valid Scheme syntax as user input, evaluates it, and writes the output.
As part of CSCI 310: Software Engineering, I was in a semester-long group project. We made an Android app that was Tindr for books. Once signed in, users can upload books that they want to sell/trade and browse other users' books in a similar fashion to Tindr. If two users match, they are brought to a chat screen to complete their transaction.
The final project of CSCI 201: Principles of Software Development was a group project. My group created a social media iOS app. Once signed in, users can leave audio, visual, and text messages at geographic locations around USC's campus. Other users can then find these messages dropped around campus. It's like a campus-wide treasure hunt!