Natural Language Processing
Rhedir gan School of Computer Science and Electronic Engineering
20.000 Credyd neu 10.000 Credyd ECTS
Trefnydd: Dr William Teahan
- Provide in-depth knowledge and understanding in natural language processing (NLP).
- Introduce text processing methods in Unix.
- Demonstrate how to build non-trivial NLP systems using the NLTK in Python.
- Introduce ideas and developments at the research level in natural language processing.
Indicative content includes:
- NLP programming in Python using the NLTK and text processing methods using Unix tools such as sed, awk.
- Topics in Computational Linguistics and Natural Language Processing: Zipf’s Law; Heap’s Law; the sparse data problem; the zero frequency problem; regular expressions; n-grams; language modelling; NLP pipeline e.g. tokenization -> word segmentation -> part of speech (POS) tagging -> phrase chunking -> parsing -> named entity recognition -> information extraction -> question answering.
- Topics in Information Retrieval (IR) – systems, theory and technologies: Boolean search; textual conflation e.g. stemming and stopword removal; probabilistic IR model; Vector Space IR model; relevance feedback; text categorization and information filtering; information extraction; question answering; IR systems and search engines e.g. Google’s PageRank, IBM’s Web Fountain; search engine optimization; evaluation.
Equivalent to the range 70%+. Assemble critically evaluated, relevent areas of knowledge and theory to constuct professional-level solutions to tasks and questions presented. Is able to cross-link themes and aspects to draw considered conclusions. Presents outputs in a cohesive, accurate, and efficient manner.
Equivalent to the range 60%-69%. Is able to analyse a task or problem to decide which aspects of theory and knowledge to apply. Solutions are of a workable quality, demonstrating understanding of underlying principles. Major themes can be linked appropriately but may not be able to extend this to individual aspects. Outputs are readily understood, with an appropriate structure but may lack sophistication.
Equivalent to 50%. Uses key areas of theory or knowledge to meet the Learning Outcomes of the module. Is able to formulate an appropriate solution to accurately solve tasks and questions. Can identify individual aspects, but lacks an awareness of links between them and the wider contexts. Outputs can be understood, but lack structure and/or coherence.
Separate techniques used for Computational Linguistics, Natural Language Processing, and Information Retrieval.
Devise a non-trivial NLP system using the NLTK in Python and Unix-based text processing.
Compare and contrast NLP methods and technologies and how they can be applied to constructing non-trivial systems that process natural language.
Strategaeth addysgu a dysgu
Practical exercises that students work through in the lab.
Lectures to introduce the theory.
Assignment requiring own development and self-study.
Self study for the exam and to support labs.
- Llythrennedd - Medrusrwydd mewn darllen ac ysgrifennu drwy amrywiaeth o gyfryngau
- Rhifedd - Medrusrwydd wrth ddefnyddio rhifau ar lefelau priodol o gywirdeb
- Defnyddio cyfrifiaduron - Medrusrwydd wrth ddefnyddio ystod o feddalwedd cyfrifiadurol
- Hunanreolaeth - Gallu gweithio mewn ffordd effeithlon, prydlon a threfnus. Gallu edrych ar ganlyniadau tasgau a digwyddiadau, a barnu lefelau o ansawdd a phwysigrwydd
- Archwilio - Gallu ymchwilio ac ystyried dewisiadau eraill
- Adalw gwybodaeth - Gallu mynd at wahanol ac amrywiol ffynonellau gwybodaeth
- Sgiliau Rhyngbersonol - Gallu gofyn cwestiynau, gwrando'n astud ar atebion a'u harchwilio
- Dadansoddi Beirniadol & Datrys Problem - Gallu dadelfennu a dadansoddi problemau neu sefyllfaoedd cymhleth. Gallu canfod atebion i broblemau drwy ddadansoddiadau ac archwilio posibiliadau
- Rheloaeth - Gallu defnyddio, cydlynu a rheoli adnoddau (dynol, ffisegol ac/neu ariannol)
- Dadl - Gallu cyflwyno, trafod a chyfiawnhau barn neu lwybr gweithredu, naill ai gydag unigolyn neu mewn grwˆp ehangach
Sgiliau pwnc penodol
- Identify emerging technologies and technology trends;
- Apply underpinning concepts and ideas of engineering;
- Apply knowledge and understanding of the specialist cognate area of computer systems engineering in an international context;
- Assess and choose optimal methods and approaches for the specification, design, implementation and evaluation of engineering solutions, especially ones that include embedded microprocessors
- Formulate and analyse requirements and practical constraints of products, processes and services, place them in an engineering context and manage their implementation;
- Solve problems logically and systematically;
- Assess and choose optimal methods and approaches for the specification, design, implementation and evaluation of engineering solutions.
- Systematically review factors affecting the implementation of a project, including safety and sustainability;
- Access and synthesize information and literature sources;
- Analyse and display data using appropriate methods and mathematical techniques;
- Demonstrate familiarity with relevant subject specific and general computer software packages.
- Demonstrate an awareness of current advances and contemporary approaches in the discipline and have strategies for keeping that awareness current;
- Demonstrate an awareness of the need to work safely and comply within relevant legislative and regulatory frameworks;
- Knowledge and understanding of facts, concepts, principles & theories
- Use of such knowledge in modelling and design
- Problem solving strategies
- Analyse if/how a system meets current and future requirements
- Deploy theory in design, implementation and evaluation of systems
- Specify, design or construct computer-based systems
- Evaluate systems in terms of quality and trade-offs
- Deploy tools effectively
- Development of general transferable skills
- Specify, deploy, verify and maintain information systems
- Defining problems, managing design process and evaluating outcomes
- System Design
- Knowledge and/or understanding of appropriate scientific and engineering principles
- Knowledge and understanding of mathematical principles
- Knowledge and understanding of computational modelling
- Specify, deploy, verify and maintain computer-based systems
- Principles of appropriate supporting engineering and scientific disciplines
Goblygiadau o ran adnoddau ar gyfer myfyrwyr
Online resources are being used
Rhestrau Darllen Bangor (Talis)http://readinglists.bangor.ac.uk/modules/ice-4721.html
Natural Language Processing with Python