Onkur Sen

"The way to be is to do." Confucius


Research

Carta

Fall 2014 - Summer 2016
Python/scikit-learn, Ruby/Rails, SQL

I co-led a research team advised byMichael Bernstein and Ramesh Johari on building Carta, a tool that combines official student enrollment data with historical course records to provide students both high- and low-level information on planning their course schedules.

Apparition

Winter 2014 - Fall 2014
JavaScript/Meteor

I worked with Walter Lasecki and Michael Bernstein at Stanford University on developing Apparition, a web application that utilizes the benefits of crowdsourcing for prototyping interfaces quickly.

Citation: Lasecki, W., Kim, J., Rafter, N., Sen, O., Bigham, J., and Bernstein, M. Apparition: Crowdsourced User Interfaces That Come To Life As You Sketch Them. CHI 2015: SIGCHI Conference on Human Factors in Computing Systems.

Downloads:

  • Paper (Honorable Mention at CHI 2015)

Fall 2012 - Spring 2013
Python/ROOT

I worked with Dr. Paul Padley in the physics department at Rice University to use machine learning to find evidence of supersymmetric top quarks. We are using phenomenological data provided by researchers from Texas A&M who have authored a paper on a search strategy.

Citation: Sen, O. and Padley, B.P. Searching for Supersymmetric Top Quarks at the LHC [Thesis]. April 22, 2013.

Downloads:

Melody Analysis and Harmony Generation

Fall 2011 - Fall 2012
Python

I worked with Dr. Kurt Stallmann at Rice University to determine the key of a piece of music given only its melodic line as well as generating a complementary harmonic progression. This is a tricky task to do automatically because:

  • Only half of the information regarding the piece is given,
  • Different melodies carry different types/amounts of information,
  • Often the harmony is very crucial in establishing the key of a piece.

We define consonance and scale membership correlations to select the best key for an input score. We then use those same correlations along with a limited key set (due to the new knowledge of the supposed key) to generate the complementary harmonic progression.

Citation: Sen, O. and Stallmann, K. Analysis of Melody Through Key Definition and Generation of Complementary Harmonies. Rice Undergraduate Research Symposium. Houston, TX, April 13, 2012.

Downloads:

Computationally Generating Musical Variations

Fall 2009 - Fall 2011
Java

Using an input melodic line as a theme, we use a genetic algorithm to generate a variation that sounds similar to, but exactly the same as, the original. We represent musical works like a “gene” by representing pitches numerically in discrete time. We then modify the gene pool via methods from natural selection in an iterative fashion until we reach a convergence threshold:

  • We measure the fitness of each piece, which is determined by its cosine similarity to the original. For our purposes, here we visualize the music as a vector with dimension equal to its length.
  • Genes undergo crossover to produce offspring. Pieces with higher fitness are more likely to be chosen for reproduction.
  • The offspring are then randomly mutated by a small amount. Notes that are mutated are shifted up or down by up to a whole step.
  • The offspring are used for the next iteration of this algorithm, and the previous generation is discarded.

We were able to obtain variations that had similar characterisitics of the original piece. However, the variations lacked tonal coherence or sense of rhythm.

Citation: Sen, O. Creating Musical Variations Using Genetic Algorithms. American Junior Academy of Sciences. Washington, DC, February 16-20, 2011.

Downloads:

Norm Emergence in Social Networks

Fall 2008 - Summer 2009
Java

We analyzed the emergence of norms, or social conventions, over social networks of different topologies. In particular, we studied various kinds of scale-free and ring networks, which often represent connections in real-world social networks. Each node in the network can choose from a variety of different options as its “action”, and norms arise over time as agents “play” each other with their actions at each time step. The actions are orthogonal, so that two nodes with the same action receive a positive reward, and two nodes with differing actions receive a negative penalty. Over time, this causes nodes to gravitate to a single action, which is the norm.

Aside from testing the actual convergence of the networks, we examined particular properties, such as how the speed of convergence varies with network topology and number of actions to choose from.

Citation: Sen, O. and Sen, S. Effects of Social Network Topology and Options on Norm Emergence. Lecture Notes in Artificial Intelligence Vol. 6069, p. 211-222, Springer-Verlag, 2010.

Downloads:

Aspiration Levels and the Tragedy of the Commons

Fall 2007 - Summer 2009
Java

The Tragedy of the Commons is a social dilemma where a society of individuals shares a common resource with a load threshold where performance peaks (e.g., herdsmen with cattle sharing a pasture). In this situation, individual greedy behavior leads to total system performance loss. We propose a solution using aspiration levels in combination with Q-learning to control the agents’ behaviors and stabilize the system. We vary multiple parameters that characterize the system, namely population size, the environmental factor (i.e., the rate of penalty after crossing the threshold), and the learning rate (with respect to Q-learning).

Citation: Sen, O. and Sen, S. Solving the Tragedy of the Commons by Adapting Aspiration Levels. Proceedings of COIN@IJCAI09. San Diego, CA, July 11, 2009.

Downloads:


See my professional work

Get in touch with me

See my personal creations