GSoC 2023 Journey: Week 02 Report
9 June 2023
4 Minutes
My contribution details and experiences during the second week of coding period of Google Summer of Code (GSoC) 2023.
Introduction
Welcome to my weekly report documenting my journey during Google Summer of Code 2023 with the Linux Foundation! In this project, I am working on enhancing the existing speech-to-text feature of Automotive Grade Linux (AGL) by introducing a Natural Language Intent engine and implementing software daemons/controllers to execute the extracted intent. This endeavor aims to significantly improve the user experience and functionality of the speech-to-text feature in automotive environments. Throughout this report, I will share my progress, challenges faced, and achievements made as I contribute to the development of AGL and pave the way for more intuitive and intelligent voice interactions in automobiles.
Summary of the week
During this week, significant progress was made in the project. The focus was on updating the Snips NLU library to support Python >= 3.8 and NumPy == 1.22.3. Additionally, the Snips NLU library was refactored into two separate parts: the Intent Engine SDK, which handles preprocessing and training, and the Intent Engine Inference module.
Tasks completed
- Updated the Snips NLU library to include support for Python >= 3.8 and NumPy == 1.22.3 (NumPy needs to be pre-installed before trying to install the library).
- The setup.py file was updated to reflect the version change. The current dependency versions are:
required = [ "deprecation>=2.0,<3.0", "enum34>=1.1,<2.0; python_version<'3.4'", "funcsigs>=1.0,<2.0; python_version<'3.4'", "future>=0.16,<0.18", "num2words>=0.5.6,<0.6", "pathlib>=1.0,<2.0; python_version<'3.4'", "pyaml>=17.0,<20.0", "requests>=2.0,<3.0", "scipy>=1.0,<2.0", "threadpoolctl>=2.0.0; python_version>='3.6'", "scikit-learn>=0.20,<0.21; python_version<'3.6'", # scikit-learn builds from source and this is the only version that is compatible with Python 3.10 and NumPy 1.22.3 "scikit-learn==0.22.2.post1; python_version>='3.6'", "sklearn-crfsuite>=0.3.6,<0.4", ]
- Refactored the Snips NLU library into two parts:
-
Intent Engine SDK: This module handles preprocessing and training of intents.
-
Intent Engine Inference: This module handles inference based on the trained intents.
required = [ "snips-nlu-parsers", "snips-nlu-utils" ]
-
Tasks leftover
All tasks for this week were completed successfully with no leftovers.
Next steps
In the upcoming week, I have outlined the following tasks to further enhance the speech-to-text feature in Automotive Grade Linux and make progress towards achieving the project goals:
- NLU Engine Recipe Generation: Create recipes to integrate the Intent Engine SDK and Inference modules into AGL.
Conclusion
Overall, this week was productive, and I am satisfied with the progress made in achieving the goals outlined for the week. I am excited to continue my GSoC journey and further enhance the speech-to-text feature in Automotive Grade Linux.
Resources
The following resources were utilized during the week:
- Snips NLU Docs and Github Repository.
- Packaging Python Projects.