Inspiration (Design Problem)

As students in Canada we have been learning French since elementary school and even after more than 5 years of learning French we can't a simple conversation with each other. This problem applies to many students including our peers and even French immersion students who have started learning the language since the first grade. We believe this is because language learning is taught through a very technical and grammar-focused approach. Though this helps students learn the subtleties of a language, it does not teach them how to communicate in that language, which is arguably the most important aspect of language learning. However, many learners do not have contact with fluent speakers to help them practice through conversations.

What it does

Lang-Bot incorporates a chat bot model with a multilingual translation AI to provide an outlet for language-learners to practice and strengthen their communication skills. Our solution eliminates the need for access to a fluent speaker to practice conversing in a language and it is a more safer and privacy-protecting option than having to talk to strangers online. Additionally, unlike online platforms such as Duolingo, Lang-Bot allows users to practice whole conversations in a language rather than just discrete phrases. We designed Lang-Bot to be versatile in many different settings and applications such as school and travel. Language instructors can employ Lang-Bot for additional practice in the classroom and travellers can enhance the experience of their trip by becoming more proficient in the language of their trip’s destination. Even for the average language learner, Lang-Bot provides an additional and effective source of practice that can benefit their skills.

How we built it

Lang-Bot was created using the Python programming language and using libraries such as tkinter for the graphical user interface (GUI), translate for the translation between several languages, and pytorch for AI functionality. The chat-bot was built in the terminal and then fitted onto a GUI and lastly, all the translation features were added.

Challenges we ran into

It was hard to test our program using tkinter because it was our first time as a group programming with it and since making updates and debugging a GUI app takes significantly longer than a command terminal program. We also found it hard to decide upon a translation library as many of the ones available were very limited in terms of functionality. Our team had to develop the appropriate criteria, in terms of the features we were looking for, to make the search for the translation library easier.

Accomplishments that we're proud of

Our team is very proud for having been able to incorporate several different programming constructs (OOP) and libraries (tkinter, pytorch, translate) into a functioning desktop app that solved the design problem.

What we learned

Our team learned a lot about how to tailor the engineering design process to solve a design problem using software. Specifically, we learned how to tackle issues in our code using an iterative approach to the problems to ensure that not only they were fixed, but also our product came out to be the best possible version.

What's next for Lang-Bot

In the further development of Lang-Bot, we hope to include more pre-set conversation topics, voice-to-text conversion for a hands-free user mode, and allow users to create their own conversation templates. We also aim to program using more advanced translation libraries so Lang-Bot can better simulate a fluent speaker and incorporate language dialects.

Built With

Share this project:

Updates