Department of Computing Division of Information and Communication Sciences
 

2008 Vacation Scholarships

The Department of Computing is offering up to five vacation scholarships for undergraduate students to work on research projects in the Department for 6 weeks during January and February 2008. The scholarships carry a $350/week tax free stipend and are open to students who have completed second or third year studies in Computing at Macquarie or any other Australian University.

To apply for a scholarship, please fill in the application form (download MS Word, or PDF) and send it along with your CV and academic transcript to: Vacation Scholarships c/o Dr. Yan Wang, Department of Computing, Macquarie University, NSW 2109.

On your application you should indicate the area of research you are interested in pursuing. Listed below are a number of projects that staff members have put forward. Please choose two project titles on your application form.

Applications close: 30th November 2007.


Research Projects 2008


Finding Expertise - One Approach in Knowledge Management

Supervisors: Peter Busch

This project involves creating a, preferably web-based, system that allows workplace situations to be captured from an expert together with how they would solve the problem. The testbank of scenarios will be used to identify whether a potential new employee is the person the organisation is looking for or what further training an existing employee will need. The focus is on the identification and development of creative and innovative personnel.

If time permits or as part of an honours project that pursues this area further, the project will involve some review of organisational and psychology literature to integrate the approach with current pscychometric tests that are commonly administered at job interviews.

Programming skills are essential. Preferrably a Credit in COMP249 or other demonstrated ability in web-based programming.

Further clarification can be obtained from Dr. Peter Busch (busch@ics.mq.edu.au) or Assoc. Prof. Debbie Richards (richards@ics.mq.edu.au) who will jointly supervise the project.

[back]


Corpus-based Correction of OCR-introduced Spelling Errors

Supervisor: Robert Dale

A common way to archive legacy documents is to run them through a scanner to produce a PDF file, to which a searchable text layer is added using optical character recognition (OCR). Unfortunately, OCR is not perfect, so spelling errors are introduced that damage the effectiveness of search techniques.

Using an existing corpus of several thousand scanned academic papers (in the ACL Anthology), this project aims to develop automatic spelling correction techniques that use the corpus itself as a source of evidence for spelling corrections. For example, if the misrecognised string spe11in8 appears in a document, a simple distance metric may find other similar strings, such as spelling, to be much more frequent in the corpus, and on the basis of frequency then choose this as a correction. Of course it gets much more complicated than this, which is why it's interesting ...

Required background: Java or Perl or Python

Added advantage if they have done one or more of the Language Technology undergrad units.

[back]


Inferring Document Structure

Supervisor: Robert Dale

There are many public-domain and commercial programs available for extracting text from PDF files. None is perfect, especially when the input document is typographically complex. Unfortunately, they all fail to provide accurate results in different ways. The purpose of this project is to explore the idea of using several different text extractors, then integrating the results by means of a voting mechanism, so that the returned results are consistent with what most of the programs believe to be the case. The project involves: (a) downloading and installing a number of PDF to text programs; (b) running these on a controlled sample of PDF files to determine the kinds of errors and inconsistencies produced; (c) working with the supervisor to devise an architecture that allows each system to vote on specific aspects of the extracted text; and (d) implementing a voting-based system that delivers the best results.

The project would be particularly suitable for someone interested in a future honours project that focuses on extracting information from real documents.

Required background: Pass grade in SLP148, COMP248, or COMP348; comfort with installing and using software under Windows and Unix; good programming skills in C++ or Java.

Desired background: Perl or Prolog or Python

Added advantage if they have done one or more of the Language Technology undergrad units.

[back]


An Automated Newsreader

Supervisor: Robert Dale

Automated newsreaders -- 'talking heads' that read out news stories in synthesized voice -- have been constructed before. These take a textual news source and then use a text-to-speech synthesis engine, in conjunction with an animated head, to deliver that news in spoken language.

The aim of this project is to build such a system with increased realism, by incorporating both appropriate facial gestures and appropriate intonation in the voice. Watch some newsreaders carefully to see how they use their facial expressions to communicate information, and listen to how they use prosody to increase interest in what they are saying. The challenge here is to find techniques that will allow us to derive appropriate audio visual features from a 'flat text' provided as input.

Desired background: Perl or Python

Added advantage if they have done one or more of the Language Technology undergrad units.

[back]


The Automatic Generation of Spoken Stock Market Reports

Supervisor: Robert Dale

Stock market data -- information about the prices of stocks and shares -- is a valuable commodity that many people pay money for in order to receive in a timely fashion. That's ok if you're sitting at your desk with a web browser, or have access to some other internet-enabled device that allows you to access a relevant website. But there are situations where really you'd like to have information provided verbally; and ideally you'd like to have it personalised to your own interests and stock holdings.

The aim of this project is to build a system that interrogates a stock market price database, and in conjunction with a user profile, works out how to construct a text that summarises the relevant information for that user; this text is then delivered via a text-to-speech system, so that the user can access when they are driving or in some other hands-busy eyes-busy context.

Required background: Perl or Prolog or Python

Added advantage if they have done one or more of the Language Technology undergrad units.

[back]


Generating News Summaries for SMS Delivery

Supervisor: Robert Dale

There are many news services available via the web, but there's a problem when it comes to delivering news to a mobile phone: you only get 160 characters in an SMS message.

The aim of this project is to develop techniques that can analyse a news story and produce a summary that will fit into 160 characters. In many cases the headline will already be short enough, but for that same reason it may not contain much information, so we need to extract more information-rich content from the text of the story, and then find ways to compress it into the available space. This involves using what we might think of as two forms of compression: SMS compression makes use of common abbreviatory conventions to save space, while linguistic compression attempt to analyse the structure of a sentence to determine what parts of that sentence can be dropped without loss in meaning.

Required background: Java or Perl or Python

Added advantage if they have done one or more of the Language Technology undergrad units.

[back]


Summer Projects with AnswerFinder

Supervisor: Diego Molla

AnswerFinder is a question answering system that searches text documents to find the answer to questions asked in English:

http://www.ics.mq.edu.au/~diego/answerfinder/

The AnswerFinder team is formed by people enthusiastic about applying innovative methods to practical solutions. By participating in one of the projects below you will develop a module that will be used as part of the AnswerFinder system.

Folksonomies

Folksonomies are tags created by the public, such as the tags used in del.icio.us and in www.flickr.com. Hotfrog (www.hotfrog.com.au) is a large business directory that uses a folksonomy. For this project you will work with these tags for mining for information. Stuff that can be mined could be to find related tags, or suggest a set of tags given a short business description. If you're interested, include a proposal of what you want do with these tags and we will explore the possibilities.

Required background: Good programming skills

Desired background: Pass grade in COMP348 or equivalent experience

Question classification

AnswerFinder currently uses a very simple method to classify questions. The task of this project is to expand the current method by introducing patterns based on syntactic information and/or machine learning techniques.

Required background: Good programming skills in C++; pass grade in COMP348 or equivalent experience.

Desired background: Experience in programming in a group.

Building a Web Service

The goal of this project is to convert AnswerFinder into a Web Service. The details of how this could be done are available in:

http://www.linguateca.pt/documentos/QolA/defWebservicesQolA.html

Required background: Good programming skills in C++; experience with web technology (e.g. Pass grade in COMP249).

Desired background: Experience with XML programming; experience with Web Services.

[back]


An AJAX-based Firefox Plug-in for Web Page Annotations

Supervisor: Rolf Schwitter

In this research project you will implement an AJAX-based tool that assists the user annotating web pages in a subset of natural language. The tool will give the user predictive feedback while he or she is writing a snippet of text. The tool will communicate with an existing grammar which is sitting on a server and harvest feedback information from that grammar in order to guide the writing process of the user. The resulting annotations look like natural language but have well-defined formal properties. The annotations will be stored as RSS or Atom feeds and can be used by other tools for various reasoning tasks. The application that you will build has some similarity to Google Suggest but it will display tailored linguistic information while a text is written and will constrain the input in order to make sure that the text can be further processed by a machine.

Required background: Good programming skills, in particular JavaScript.

Desired background: Pass grade in COMP249.

[back]


Visual Interface for Developing Business Collaboration

Supervisor: Jian Yang

Business collaboration is about cooperation between organizations by linking their business processes and exchanging messages. Taking the example of ordering goods, it involves checking price, sending order, billing, shipping, etc among a customer, a manufacturing company, and a shipping company. This project will take a collaboration specification, and develop GUI interface for designing and specifying interaction protocols for individual parties.

The involved the tasks are:

1. Getting familiar with several business collaboration languages such as BPMN, WS-CDL, Let us Dance, etc;

2. Based on one collaboration specification, derive interaction protocols for individual parties;

3. Check consistencies between individual business process and the derived interaction protocols;

4. Develop the GUI interface for the above tasks.

In this project, the students will learn the concepts as well as technologies in e-business, web services, and business process management.

Skills and knowledge required: XML and java programming

[back]


Building an Oberon Compiler

Supervisor: Dominic Verity and Tony Sloane

Oberon is an imperative programming language in the Pascal tradition, designed by Pascal's originator (and Turing prize winner) Niklaus Wirth. This language will be familiar to students who have studied the unit COMP332 "Programming Languages" here at Macquarie, since it is closely related to the much simpler language Obr which we have been using in that unit to teach the principles of compiler construction.

The overall goal of this project is to build a complete reference implementation of the Oberon 0 variant of this language, as featured in the book Compiler Construction by Prof. Wirth (which is available electronically from http://www.oberon.ethz.ch/books.html). This resulting compiler will be written entirely in a functional language (either ML or Haskell), in order to assess the strengths and weaknesses of such languages as compiler construction tools.

This project forms part of the Kiama project, which seeks to apply functional programming language techniques and technologies to the design of a new generation of compiler construction toolkits.

Required background

Very good programming skills in at least 2 programming languages

A good understanding of how programming language compilers are structured and implemented, to the level taught in COMP332 for instance

Should be motivated to learn new programming languages

[back]


A Compiler Construction "Bake-off"

Supervisor: Dominic Verity and Tony Sloane

Over the past 30 years, a significant amount of effort has been applied, by the academic community, to the development of compiler construction toolkits. These tool chains are generally built around specialised domain specific languages for specifying and integrating the various components of a compiler. In principle, each one of these languages should simplify the tasks involved in building some phase of the compiler, by bringing the code involved in such a task closer to the programmer's intuition for what is going on at that point in the compilation process.

In practice, however, it is still far more common for compiler writers to build their compilers using a general purpose language. In this project, we attempt to illuminate why this might be the case, by comparing the effort involved in building a compiler for a simple programming languages in a general purpose language (such as Scala, Java, C or Haskell) with that involved in implementing the same language using Eli, a compiler construction toolkit which was developed in cooperation between Macquarie University, The University of Colorado and Paderborn University.

Required background

Very good programming skills in at least 2 programming languages

A good understanding of how programming language compilers are structured and implemented, to the level taught in COMP332 for instance

Should be motivated to learn new programming languages

[back]


A Trust Management System based on Web Services Technology

Supervisor: Yan Wang

Trust management and evaluation is critical in service-oriented environments. A typical approach is to complete the trust evaluation based on the feedback and ratings provided by service clients reflecting the quality of delivered services.

This project will investigate how to build up a trust management architecture based on Web Services technology. It will study and compare the performance of centralized architecture, distributed architecture and the Peer-to-Peer architecture. The project is expected to provide a generic solution of trust service.

In this project, the students will learn the concepts as well as technologies in web services, networks, trust management and trust evaluation.

Skill and knowledge required: XML and Java programming

[back]


Gait Recognition

Supervisor: Manolya Kavakli

Biomechanical studies over a large set of individuals represent an average motion pattern. Biomechanical Modeling involves the simulation of the joints in human body using physical modeling to construct a detailed dynamic model of the joint's behavior. In this project we will take advantage of the mechanical sensor technology for gait recognition. We will use Motion Builder (a 3D Animation package) for animations and a number of Virtual Reality tools, such as a Motion Capture suit and motion trackers in a CAVE (immersive projection) system. Motion Capture suit is a mechanical suit that one puts on to allow tracking and capturing motions for animations. Tracking system is used to capture motions. We will conduct experiments to capture the manner of walking.

Task: Motion capture of humans' gestures in VR laboratory (1 month): Tracking motions of humans in a motion capture suit, Producing bone structure and animations, Producing key frames and animations, capturing the manner of walking.

Requirements: MatLab, Familiarity with 3D modelling and Animation packages, and Virtual Reality

[back]


A Gesture Recognition Interface for an Integrated Computer Game

Supervisor: Manolya Kavakli

Biomechanical studies over a large set of individuals represent an average motion pattern. Biomechanical Modeling involves the simulation of the joints in human body using physical modeling to construct a detailed dynamic model of the joint's behavior. In this project we will take advantage of the mechanical sensor technology for gait recognition. We will use Motion Builder (a 3D Animation package) for animations and a number of Virtual Reality tools, such as a Motion Capture suit and motion trackers in a CAVE (immersive projection) system. Motion Capture suit is a mechanical suit that one puts on to allow tracking and capturing motions for animations. Tracking system is used to capture motions. We will conduct experiments to capture the manner of walking.

Task: Motion capture of humans' gestures in VR laboratory (1 month): Tracking motions of humans in a motion capture suit, Producing bone structure and animations, Producing key frames and animations, capturing the manner of walking.

Requirements: Python, Familiarity with Game Engines, 3D modelling and Animation packages, and Virtual Reality

[back]


Motion Sickness

Supervisor: Manolya Kavakli

A Virtual Reality (VR) system induces a sense of presence and a sense of immersion in the virtual world (Marsh et al. 1998). The sense of presence and Immersion in Virtual Environments is also associated with motion sickness in various degrees (Stiller et al. 2003).Motion sickness is an acute condition of medical distress that results in skin pallor, weakness, nausea and vomiting. Our hypothesis is that the degree of complexity and the degree of realism of content also play a part in inducing motion sickness in VR. Therefore, we believe that a less realistic representation of a 3D environment will reduce the effect of vection and motion sickness. In other words, a rollercoaster in a realistic environment would induce more motion sickness than a less realistic one. The Objective here is to test the effect of motion sickness in 4 different styles of Virtual Environments; Realistic, Cartoon, Painting, and Lines, and to explore the correlation between motion sickness and the complexity of the scene. The camera will navigate through these 4 consecutive environments for the user to experience. The environments will be integrated with a Virtual Reality Engine (Vizard), adding levels of immersion.

Requirements: Python, Familiarity with 3D modelling and Animation packages, and Virtual Reality

[back]



Comments to: webmaster@comp.mq.edu.au
Last Modified:
Copyright Macquarie University
CRICOS provider no. 00002J

 

Macquarie University Department of Computing