Git Product home page Git Product logo

linguanatural-soundex-mp1's Introduction

LinguaNatural-Soundex-mp1

Página da Cadeira

LÍNGUA NATURAL 2016/2017 Mini-Projecto No 1 — MP1

Data limite entrega: até às 12:00 (meio dia) do dia 17/Out

###OBJECTIVOS Aprender a trabalhar com transdutores, usando-os para resolver um problema concreto na área de PLN.

###ENUNCIADO Os algoritmos ditos fonéticos têm como objectivo associar uma única representação (chave) a palavras que soam de modo semelhante. O Soundex (Odell e Russel, 1922) e o Mataphone (Lawrence Philips, 1990) são exemplos deste tipo de algoritmos.

Defina UM transdutor, usando outros transdutores mais pequenos, que implemente o seguinte algoritmo fonético:

###1. passo S → Z se entre vogais (ex: asa → aza) X → Z se precedido de "E" (que está no início de palavra) e seguido de uma vogal (ex: exame → ezame) X → S se precedido de "E" (que está no início de palavra) e seguido de uma consoante (ex: extra → estra)

###2. passo CH → X (ex: acho → axo) LH → 2 (ex: galho → ga2o) NH → 3 (ex: ganho → ga3o) RR → 4 (ex: carro → ca4o) SS → S (ex: massa → masa)

###3. passo R → 4 se no início da palavra (ex: rato → 4ato) H → ∅ (ex: hoje→oje) Q → K (ex: quanto → kuanto) Z → S se no fim da palavra (ex: paz → pas) C → S se seguido de "E" ou "I" (ex: celofane → selofane) K caso contrário (ex: calar → kalar) G → J se seguido de "E" ou "I" (ex: gelo → jelo) K caso contrário (ex: galo → kalo) X → KS se no fim da palavra (ex: xerox → xeroks)

###4. passo: Elimina todas as vogais que não se encontram no início da palavra (ex: aleluia→ all).

Deverá ter em conta que:

  • O transdutor que implementa o algoritmo fonético deverá processar uma palavra de cada vez e não uma sequência de palavras;
  • O transdutor final deve ser construído usando pelo menos um transdutor por cada passo do algoritmo (4 passos);
  • Dentro de cada passo é irrelevante a ordem pela qual as regras são aplicadas;
  • Não serão considerados diacríticos (" ́", "`", "~", "^", cedilha);
  • A entrada e a saída só devem conter minúsculas;
  • O ficheiro "syms.txt" contém os símbolos a manipular pelos transdutores e não pode ser alterado.

###Software

  • Graphviz
  • OpenFST da Google

linguanatural-soundex-mp1's People

Contributors

tiagorodriguessimoes avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.