Code Monkey home page Code Monkey logo

speech-tokenization's Introduction

Speech-Tokenization

Dieses Repository repräsentiert den Entwicklungsanteil der Speech Tokenization im Modul Cloud Computing Technology an der Hochschule der Medien Stuttgart.

Das Team besteht aus den folgenden Mitgliedern:

Aufbau/Ablauf der Fallstudie

In dem Speech_Recognition Ordner befindet sich das Front-End, das durch den Express Server, der durch NodeJS realisiert wird, ausgeführt wird. Das Front-End regelt die Authentifizierung mit der Watson API und die Interaktion mit der Watson Speech-to-Text API. Die erfassten Sätze werden dem Nutzer dargestellt und als GET Request dem Applikation Server gesendet.

Bei dem SpeechTokenization Ordner handelt es sich um den Java Code. Mitinbegriffen ist ein Servlet, das die Kommunikation mit einem Web Server ermöglicht. Im Rahmen der Tests wurde der Web Server Tomcat 8.5 verwendet um den Java Code auszuführen. Für die Kommunikation des Front-Ends mit dem Java Code werden die GET Requests vom Servlet empfangen. In dem Servlet können die übergebenen Parameter und dessen Werte ausgelesen werden. Zum aktuellen Stand wird ein Parameter mit der Bezeichnung "param" in dem Servlet ausgelesen.

ToDo:

  • Entwicklung einer geeigneten Schnittstelle zwischen JavaScript und Java
  • Implementierungs-/ Installationsanleitung schreiben in GitHub
  • Upload des Front-End Code (Web Server)
    • Speech Recognition
    • GUI
  • Upload der Java Dateien
    • Schnittstelle
    • Simulation der Semantik Gruppe
    • Tokenizierung
      • Chunking der Sätze
      • Aufbau und Füllung eines Tokens
      • Bezug/Interpretation bzgl. Informationen der Semantik Gruppe

Ziel des 2. Semesters ist die Entwicklung und Implementierung eines Prototypen, welche die Anforderungen an das Gesamtsystem Speech_Recognition und SpeechTokenization erfüllt. Um die Aufgabe des Speech to Text zu realisieren, wurde der IBM-Watson verwendet. Nach erfolgreicher Spracherkennung werden für die Tokenization entsprechende Chunks identifiziert, hierfür wird Apache OpenNLP genutzt. Ferner wird überprüft, ob es sich um einen Eigennamen und/oder Substantiv handelt. Handelt es sich um einen Eigennamen oder ein Substantiv, dann wird das Wort der ChunkListe hinzugefügt. Zudem kann identifiziert werden. ob zwei aufeinanderfolgende Wörter sinngemäß zusammengehören.

Um herauszufinden, ob eine Terminangabe Bestandteil eines Satzes ist, wird die Klasse DetectTermin verwendet. Das Format wird vom IBM Watson in DD/MM/YYYY ausgegeben und mit Hilfe einer regular Expression soll dies erkannt werden:

  • Regular Expression: (0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\d\d)

Nach erfolgreicher Erstellung der Chunk-Objekte, findet eine Überprüfung der Nennung von bestimmten Google Applikationen statt. Um dies zu realieren wird ein Objekt der Klasse DetectApplikation instanziiert. Es werden folgende Schlüsselwörter geprüft:

  • Google Keep
  • Google Drive
  • Google Docs
  • Presentation
  • Google Mail
  • Mail

Um einen Satz vollständig durch ein Event abbilden zu können, wurde ein neues Objekt erstellt, das sowohl alle erkannten Chunks abbildet als auch die jeweilige Semantische Information. Die Funktionen des Objektes sind folgende:

  • returnList() → erstellt eine ArrayListe von Objekten aus dem Objekt
  • parseArrayList(ArrayList) → Erstellt ein solches Objekt aus einer ArrayListe
  • getChunkContentAt(position) → ließt den Chunk an der entsprechenden Position aus
  • hasChunk(chunk) → Prüft ob das Objekt über den eingegebenen Chunk verfügt
  • readChunks() → erstellt eine ArrayList ausschließlich mit den Chunks
  • addChunkContent(chunk) → Fügt dem Objekt ein Chunk hinzu
  • addSemanticToChunk(chunk, semantic) → Fügt einem spezifischen Chunk eine Semantische Information hinzu
  • readSemanticOfChunk(chunk) → liest die Semantik eines Chunks aus
  • hasSemInfo(chunk) → Prüft ob der Chunk über Semantische Informationen verfügt
  • removeChunkAndSem(chunk) → löscht den Chunk und seine Semantischen Informationen
  • remove SemanticOfChunk(chunk) → löscht die Semantischen Informationen eines Chunks aus dem Objekt
  • getSemanticAt(position) → Ließt die Semantischen Informationen an einer bestimmten Position aus, die Position bezieht sich auf die Position des Chunks
  • printList() → Consolenausgabe des Objektes

speech-tokenization's People

Contributors

benediktgoos avatar carolinelsner avatar octenisept avatar teningnjie avatar

Stargazers

 avatar  avatar

Watchers

 avatar  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.