Words and music

The proceedings of Tethics 2021 are now available for your viewing pleasure at ceur-ws.org. This means that both of the papers I presented during my two-conference streak in October are now (finally!) officially published! Although I’ve mentioned the papers in my blog posts a few times, I don’t think I’ve really talked about what’s in them in any detail. Since they were published at more or less the same time, I thought I’d be efficient/lazy and deal with both of them in a single post. 

At Tethics I presented a paper titled “Teaching AI Ethics to Engineering Students: Reflections on Syllabus Design and Teaching Methods”, written by myself and Anna Rohunen, who teaches the AI ethics course with me. As the title suggests, we reflect in the paper on what we took away from the course, addressing the two big questions of what to teach when teaching AI ethics and how to teach it. In the literature you can find plenty of ideas on both but no consensus, and in a sense we’re not really helping matters since our main contribution is that we’re throwing a few more ideas into the mix. 

Perhaps the most important idea that we put forward in the paper is that the syllabus of a standalone AI ethics course should be balanced on two axes: the philosophy-technology axis and the practice-theory axis. The former means that it’s necessary to strike a balance between topics that furnish the students with ethical analysis and argumentation skills (the philosophy) and those that help them understand how ethics and values are relevant to the capabilities and applications of AI (the technology). The latter means that there should also be a balance between topics that are immediately applicable in the real world (the practice) and those that are harder to apply but more likely to remain relevant even as the world changes (the theory). 

The paper goes on to define four categories of course topics based on the four quadrants of a coordinate system formed by combining the two axes. In the philosophy/theory quadrant we have a category called Timeless Foundations, comprising ethics topics that remain relatively stable over time, such as metaethics and the theories of normative ethics. In the philosophy/practice quadrant, the Practical Guidance category consists of applied ethics topics that AI researchers and practitioners can use, such as computer ethics, data ethics and AI ethics principles. In the technology/practice quadrant, the Here and Now category covers topics related to AI today, such as the history and nature of AI and the ethical issues that the AI community is currently dealing with. Finally, the technology/theory quadrant forms the category Beyond the Horizon, comprising more futuristic AI topics such as artificial general intelligence and superintelligence. 

A way to apply this categorisation in practice is to collect possible course topics in each category, visualise them by drawing a figure with the two orthogonal axes and placing the topics in it, and drawing a bubble to represent the intended scope of the course. A reasonable way to start is a rough circle centered somewhere in the Here and Now quadrant, resulting in a practically oriented syllabus that you can stretch towards the corners of the figure if time allows and you want to include, say, a more comprehensive overview of general ethics. The paper discusses how you can use the overall shape of the bubble and the visualisation of affinities between topics to assess things such as whether the proposed syllabus is appropriately balanced and what additional topics you might consider including. 

On teaching practices the paper offers some observations on what worked well for us and what didn’t. Solidly in the former category is using applications that are controversial and/or close to the students’ everyday lives as case studies; this we found to be a good way to engage the students’ interest and to introduce them to philosophical concepts by showing how they manifest themselves in real-world uses of AI. The discussion on Zoom chat during a lecture dedicated to controversial AI applications was particularly lively, but alas, our other attempts at inspiring debates among the students were not so successful. Online teaching in general we found to be a bit of a double-edged sword: a classroom environment probably would have been better for the student interaction aspect, but on the other hand, with online lectures it was no hassle at all to include presentations, demos and tutorials by guest experts in the course programme. 

The other paper, titled “Ontology-based Framework for Integration of Time Series Data: Application in Predictive Analytics on Data Center Monitoring Metrics”, was written by myself and Jaakko Suutala and presented at KEOD 2021. The work was done in the ArctiqDC research project and came about as a spin-off of sorts, a sidetrack of an effort to develop machine learning models for forecasting and optimisation of data centre resource usage. I wasn’t the one working on the models, but I took care of the data engineering side of things, which wasn’t entirely trivial because the required data was kept in two different time series databases and for a limited time only, so the ML person needed an API that they could use to retrieve data from both databases in batches and store it locally to accumulate a dataset large enough to enable training of sufficiently accurate models. 

Initially, I wrote separate APIs for each database, with some shortcut functions for queries that were the most likely to be needed a lot, but after that I started thinking that a more generic solution might be a reasonably interesting research question in itself. What inspired this thought was the observation that while there’s no universal query language like SQL for time series databases, semantically speaking there isn’t much of a difference in how the query APIs of different databases work, so I saw here an opportunity to dust off the old ontology editor and use it to capture the essential semantics. Basically I ended up creating a query language where each query is represented by an individual of an ontology class and the data to be retrieved is specified by setting the properties of this individual. 

To implement the language, I wrote yet another Python API using a rather clever package called Owlready2. What I particularly like about it is that it treats ontology classes as Python classes and allows you to add methods to them, and this is used in the API to implement the logic of translating a semantic, system-independent representation of a query into the appropriate system-specific representation. The user of the API doesn’t need to be aware of the details: they just specify what data they want, and the API then determines which query processor should handle the query. The query processor outputs an object that can be sent to the REST API of the remote database as the payload of an HTTP request, and when the database server returns a response, the query processor again takes over, extracting the query result from the HTTP response and packaging it as an individual of another ontology class. 

Another thing I love besides ontologies is software frameworks with abstract classes that you can write your own implementations of, and sure enough, there’s an element of that here as well, as the API is designed so that it’s possible to add support for another database system without touching any of the existing code, by implementing an interface provided by the API. It’s hardly a universal solution – it’s still pretty closely bound to a specific application domain – but that’s something I can hopefully work on in the future. The ArctiqDC project was wrapped up in November, but the framework feels like it could be something to build on, not just a one-off thing. 

In other news, the choir I’m in is rehearsing Rachmaninoff’s All-Night Vigil together with two other local choirs for a concert in April. It’s an interesting new experience for me, in more than one way – not only was I previously unfamiliar with the piece, I had also never sung in Church Slavonic before! It turns out that the hours and hours I spent learning Russian in my school years are finally paying off, albeit in a fairly small way: the text has quite a few familiar words in it, I can read it more or less fluently without relying on the transliteration, and the pronunciation comes to me pretty naturally even though my ability to form coherent Russian sentences is almost completely gone by now. It’s still a challenge, of course, but also a beautiful piece of music, and I’m already looking forward to performing it in concert – assuming, of course, that we do get to go ahead with the performance. Because of tightened COVID restrictions, we won’t be able to start our regular spring term until February at the earliest, so I’m not taking anything for granted at this point…