  Traditional machine learning based intelligent systems assist users by
learning patterns in data and making recommendations. However, these systems
are limited in that the user has little means of understanding the rationale
behind the systems suggestions, communicating their own understanding of
patterns, or correcting system behavior. In this project, we outline a model
for intelligent software based on a human computer feedback loop. The Machine
Learning (ML) systems recommendations are reviewed by the user, and in turn,
this information shapes the systems decision making. Our model was applied to
developing an HTML editor that integrates ML with user interaction to ascertain
structural relationships between HTML document features and apply them for code
completion. The editor utilizes the ID3 algorithm to build decision trees,
sequences of rules for predicting code the user will type. The editor displays
the decision trees rules in the Interactive Rules Interface System (IRIS),
which allows developers to prioritize, modify, or delete them. These
interactions alter the data processed by ID3, providing the developer some
control over the autocomplete system. Validation indicates that, absent user
interaction, the ML model is able to predict tags with 78.4 percent accuracy,
attributes with 62.9 percent accuracy, and values with 12.8 percent accuracy.
Based off of the results of the user study, user interaction with the rules
interface corrects feature relationships missed or mistaken by the automated
process, enhancing autocomplete accuracy and developer productivity.
Additionally, interaction is proven to help developers work with greater
awareness of code patterns. Our research demonstrates the viability of a
software integration of machine intelligence with human feedback.
