My teaching and research relate to natural language processing and machine learning. There’s code I have developed for algorithms relating to this, some traditional and some more novel. There is scope for projects relating to this pre-existing code and algorithms that is not necessarily related to improving the bottom-line performance of these algorithms, but more related to their ease of use and/or pedagogical effectiveness.
[GUIs] for several programs there is scope for additions to software to exploit graphical means to configure program runs, visualize outcomes and also visualize step-wise development of outcomes. As the extant code is written in C++, a natural route to explore this would be by leveraging various aspects of the Qt GUI toolkit. This might also involve developing ‘multi-threaded’ code, separately handling possibly protracted algorithm runs and responsive GUI behaviour.
[LANGUAGES & TOOLS]
There is code in C++ implementing a number of traditional NLP algorithms — eg. various stack-based parsers and chart-based parsers. For someone comfortable with C++ and Python programming, a possibility would be to develop like-for-like Python versions of the current C++ code.
A recurring tricky issue area is the variety of alternative tools on alternative platforms (such as diff compilers (MS Studio, CLion, Eclipse, g++), running on windows/ubuntu/apple/online). For someone comfortable with a substantial subset of these alternatives (or willing to become so), objective detailed assessment of, and guides to, these alternatives could be of value