Project selected as one of five finalists.
With team members who studied History at A-level, our team identified a need for a product that provides a helpful and friendly interface for compiling history notes. The more traditional strategy of taking notes by pen and paper can be fairly off-putting to many people who may otherwise be very interested in the topic.
We wanted a method that provides an alternative method to compile these notes in an easy and user friendly way.
What it does
Using natural language processing functionality provided by Google's Cloud API's, our site can take any event in history and compile structured information about events, figures, locations etc. that were significant.
This tool was created for the purpose of being a study aid for people attempting to learn and understand the deep complex history that formed the world we live in today.
Use our site to extract important figures, structure your notes and simplify the research process when studying the complex and interconnected events and people of our past.
How we built it
We have a Django/Python back end that interfaces with the Google Cloud API to perform the main functionality of extracting the important entities from the Wikipedia result for the given query. We augment this data with data from other sources such as Google's trends and Wolfram Alpha.
This data allows us to create a timeline, a list of the significant figures (complete with images of the people in question), and the organizations that were involved.
We also have a map powered by Google Cloud that we use to plot the relevant locations for the event.
This structured data is then passed to the front end that displays it in a user friendly and readable way. Once the query is completed, the user is then free to explore the interactive user interface smoothly and uninterrupted.
The user is also able to easily explore related queries to add to their notes, and can create profiles about important events or people.
Challenges we ran into
The results produced by the NLP engine we used were not perfect for our purposes. We spent a significant portion of our time finding ways to fine-tune the results produced from the API to fit our purposes.
The functionality of our site depends heavily on the reliability of our NLP engine, so any issues with the results produced from our API had to be studied deeply in order to be rectified.
Finding the best way to corroborate our disparate data sources to produce the best results was also a significant struggle, and we implemented a cross-referencing algorithm to solve this.
Accomplishments that we're proud of
The user-friendly interface is one of the most important parts of every project, but is often overlooked in view of creating an advanced back end. We spent a significant portion of our labor on creating the best user interface we could in the time given. We believe the results are evidence that this effort did not go to waste, and we are very proud of the interface we created.
That is not to say that the back end was overlooked. In fact the creation of the back end went very smoothly due to our ability to maintain good design principles in spite of the intense time constraints. We are proud of the depth of functionality we were able to implement in the back end in the time given, and since both back end and front end were developed simultaneously, both parts of the team were able to influence each other. The result of this was that we maximized the efforts of all team members, and did not waste any effort on functionality that was never fully implemented in the final version.
What we learned
We learned a lot about using API's, and more specifically, concepts involved in natural language processing. We believe that this experience will have enabled us to use similar concepts to a much greater extent in future.
Furthermore, integrating numerous API's for the same project helped us learn good design principles when using third-party code. This was imperitive for our smooth developement.
What's next for Historise
We would love to integrate our site with many more sources of information, including offline sources. We think that with such a deep area of study, it is important to incorporate as many sources as possible. Using offline sources would allow people to study history from primary sources not available elsewhere and form a more accurate interpretation of history.
We also think a readable way of viewing the connections between people and events would be a good feature in a final version of this site. Something like a graph, but keeping the interface simple is the highest priority so that users can focus primarily on their study of history.