Malik Talha

Journey into GSoC 2023

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: Prior to installing the above libraries, it is essential to install the following dependencies, which necessitate a local Rust installation and the setuptools_rust Python package for compilation:
    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:

TwitterGitHubLinkedIn

© 2023 Malik Talha, All rights reserved.