Webanwendung für die Zusammenfassung interner Besprechungen in Elinext

Webanwendung für die Zusammenfassung interner Besprechungen in Elinext

Information
Standort:
Weltweit
Branche:
Weiteres
Plattform:
Webanwendung
Arbeitsmodell:
Engagiertes Team
Projektdauer:
3 Woche
Team-Mitglieder:
ein Senior Entwickler, ein Projektmanager
ID:
0
Verwendete Technologien
Javascript
FastAPI
Uvicorn
AWS Transcribe
AWS Bedrock
ElasticMails
Amazon S3
AWS SDK
Python
CSS
HTML

Kunde

Elinext ist ein internationales Unternehmen, das individuelle Softwareentwicklung anbietet. Wir entwickeln Software für unsere Kunden, und manchmal sind unsere Produkte auch intern nützlich. Dies ist eines von über 20 Softwareprodukten, die derzeit im Unternehmen eingesetzt werden. Wie viele andere Lösungen, die wir für unser Ökosystem entwickeln, erleichtert auch dieses den Arbeitsalltag unserer Mitarbeiter.

Dieser Softwarecode wird verwendet, um die Entwicklung eines verwandten Kundenprodukts zu beschleunigen (einer Transkriptions-App von Sprache in Text oder sogar einer Sprache-zu-Text App).

Projektbeschreibung

Das Projekt ist eine Webanwendung, die Sprache aus Teammeetings in kurze Textbeschreibungen transkribiert und diesen Bericht an die E-Mail-Adressen der Teilnehmer sendet.

Über eine einfache und benutzerfreundliche Oberfläche können Nutzer problemlos:

  • die Aufnahme eines Meetings in gängigen Formaten hochladen (z. B. m4a, mov, avi, mp3),
  • Videos in Audio umwandeln. Mit AWS Transcribe wird das Audio anschließend in Text umgewandelt. Basierend auf diesem Text erstellen Tools wie AWS Bedrock kurze Textzusammenfassungen. Das System sendet diese Berichte an Ihre E-Mail.

Für eine bessere Texterkennung und Genauigkeit kann die Anzahl der Teilnehmer des Meetings angegeben werden.

Im Wesentlichen handelt es sich um eine Sprache-zu-Text App mit zeitnaher E-Mail-Zustellung der Ergebnisse. Diese Transkriptions-App von Sprache in Text wurde intern für die Mitarbeiter von Elinext entwickelt. Zukünftig könnten Teile dieser Lösung unseren Kunden als Bestandteil unserer regelmäßig angebotenen Dienstleistungen für professionelle Webentwicklung zur Verfügung gestellt werden.

Herausforderungen

Das Unternehmen benötigte ein Tool für präzise Meetingzusammenfassungen, um die Kommunikation und die Nachverfolgung von Aufzeichnungen zu verbessern. Unsere Hauptaufgabe bestand darin, eine Sprache-zu-Text App zu entwickeln, um Ineffizienzen und Ungenauigkeiten bei der Umwandlung von Meetingtranskriptionen in Text zu vermeiden.

Die Lösung sollte verschiedene Audio-/Videoformate verarbeiten können und prägnante, präzise und genaue Textzusammenfassungen liefern.

Die wichtigsten Herausforderungen umfassten:

  • die Untersuchung bestehender Tools für Sprachtranskription (Transkriptions-App),
  • die Analyse bestehender Tools zur Erstellung kurzer Textbeschreibungen auf Basis verschiedener Sprachmodelle,
  • die Integration der ausgewählten Tools in die Projektausführung.

Prozess

Der Entwicklungsprozess dieser Text-zu-Sprache App konnte in fünf Phasen unterteilt werden, die jeweils innerhalb kurzer Zeit erfolgreich abgeschlossen wurden.

  1. Planungsphase (2–3 Tage) Ziel: Festlegung des Projektumfangs, der Funktionen und technischen Anforderungen. Aktivitäten:
    • Unsere Ingenieure sammelten die Anforderungen und identifizierten die Kernfunktionen wie Datei-Upload, Transkription, Zusammenfassung und E-Mail-Benachrichtigungen. Technologiewahl:
    • Python für die Backend-Entwicklung, FastAPI als Framework, AWS-Dienste für Transkription und Zusammenfassung sowie ElasticMails für den E-Mail-Versand. Ergebnisse:
    • Finaler Technologie-Stack.
  2. Designphase (2–3 Tage) Ziel: Entwurf der Systemarchitektur und Benutzeroberfläche. Aktivitäten:
    • Systemarchitektur:
      • Unsere Ingenieure definierten den Datenfluss vom Datei-Upload bis zur E-Mail-Zustellung.
      • Sie skizzierten die Interaktion zwischen Komponenten (FastAPI, AWS-Dienste, ElasticMails).
      • Entwurf eines skalierbaren Backends für Datei-Uploads und Verarbeitung.
    • UI/UX-Design:
      • Erstellung von Wireframes mit Fokus auf einfache Bedienung.
      • Gestaltung von Formularen für Datei-Uploads und Teilnehmerangaben.
    • Datenbank- und Speicherplanung:
      • Nutzung von Amazon S3 nur für interne Kommunikation zwischen AWS-Diensten wie AWS Transcribe (am besten geeignete App für die Transkription) und AWS Bedrock, ohne dauerhafte Speicherung interner Dateien. Ergebnisse:
    • Architekturdiagramme.
    • Wireframes und Design-Mockups.
  3. Entwicklungsphase (1–2 Wochen)

    Ziel: Erstellung der Anwendung und Integration aller Funktionen. Aktivitäten:
    • Backend-Entwicklung:
      • Implementierung des Datei-Uploads mit FastAPI.
      • Integration von AWS SDK (boto3-client) für Transcribe und Bedrock.
      • Entwicklung eines Workflows für die Video-zu-Audio-Konvertierung mit FFmpeg.
      • Einrichtung von APIs für Transkription, Zusammenfassung und E-Mail-Benachrichtigungen.
      • Hinzufügen eines Authentifizierungsmechanismus mit Amazon Cognito.
    • Frontend-Entwicklung:
      • Entwicklung einer einfachen, responsiven Benutzeroberfläche mit HTML und CSS.
      • Hinzufügen von Interaktivität (z. B. Drag-and-Drop für Datei-Uploads) mit JavaScript.
    • E-Mail-Integration:
      • Konfiguration der ElasticMails-API für den Versand von Meetingzusammenfassungen.
    • Cloud-Einrichtung:
      • Konfiguration von AWS-Diensten (Transcribe, Bedrock, S3). Ergebnisse:
    • Voll funktionsfähiges Backend und Frontend.
    • Konfigurierte Cloud-Dienste.
    • Integriertes E-Mail-Benachrichtigungssystem.
  4. Testphase (2–3 Tage)

    Ziel: Sicherstellung der Funktionalität und Einhaltung von Qualitätsstandards. Aktivitäten:
    • Komponententests: Test von Datei-Uploads, Transkription, Zusammenfassung und E-Mail-Zustellung.
    • Integrationstests:
      • Überprüfung der Zusammenarbeit aller Komponenten.
      • Testen von Workflows für verschiedene Eingabeformate (m4a, mp3, mov, avi).
    • Benutzertests:
      • Simulation von Benutzerinteraktionen zur Validierung von UI/UX und Funktionalität. Ergebnisse:
    • Fehlerfreie, optimierte Anwendung, bereit für die Bereitstellung.
  5. Bereitstellungs- und Implementierungsphase (2–3 Tage)
         Ziel: Bereitstellung der Anwendung und Freigabe zur Nutzung.          Aktivitäten:
  • Bereitstellung der Backend-Anwendung mit Uvicorn in einer cloudbasierten Umgebung (GCP-Plattform).
  • Konfiguration von Amazon S3 für die Dateispeicherung und Verknüpfung mit der Anwendung.
  • Einrichtung von DNS und Hosting für das Frontend.
  • Überwachung des Systems nach der Bereitstellung. Ergebnisse:
  • Live-Anwendung für Benutzer zugänglich.
  • Finalisierte Dokumentation für Wartung und zukünftige Updates.

Während der Entwicklung fanden alle zwei Tage Meetings zwischen dem Projektmanager und dem Entwickler statt, um wichtige architektonische Entscheidungen des Prototyps zu besprechen. Dazu gehörten die Wahl des E-Mail-Anbieters, die Spracherkennungstechnologie und der aktuelle Entwicklungsstand.

Lösung

Das Ergebnis des Projekts ist die von Elinext Meeting Minutes bereitgestellte Lösung: eine Sprache-zu-Text App. Diese Webanwendung wurde entwickelt, um Meetings in prägnante Textzusammenfassungen zu transkribieren und diese den Nutzern per E-Mail zuzustellen.

Die wichtigsten Funktionen der Lösung umfassen: Upload-Funktion, ein Werkzeug zur Video-zu-Audio-Konvertierung, ein Sprach-zu-Text-Konvertierungstool, ein Textzusammenfassungsinstrument, eine Funktion zur Teilnehmer-Spezifikation und eine benutzerfreundliche Benutzeroberfläche. Lassen Sie uns diese Funktionen einzeln analysieren.

Upload-Funktion

Die Anwendung ermöglicht es den Nutzern, Meetingaufzeichnungen in gängigen Formaten (m4a, mov, avi und mp3) hochzuladen. Dadurch wird die Kompatibilität mit den meisten verbreiteten Aufnahmegeräten und -tools gewährleistet.

Video-zu-Audio-Konvertierung

Wenn die hochgeladene Datei ein Video ist, extrahiert das System automatisch den Audioteil der Datei. Dieser Schritt stellt sicher, dass Videodateien nahtlos verarbeitet werden, ohne dass eine manuelle Vorbearbeitung erforderlich ist.

Datenschutz und Sicherheit

Aus Sicherheitsgründen werden Zwischenwerte wie konvertiertes Audio und Text zu keinem Zeitpunkt gespeichert. Diese Daten werden ausschließlich innerhalb der Pipeline zur Erstellung eines Abschlussberichts mit den wichtigsten Meetingpunkten verwendet.

Sprache-zu-Text Transkribieren

Das extrahierte (oder hochgeladene) Audio wird mit AWS Transcribe verarbeitet, einem leistungsstarken cloudbasierten Dienst, der Sprache in Text umwandelt. AWS Transcribe konvertiert gesprochene Worte im Audio mit hoher Genauigkeit in Text. Diese Konvertierung unterstützt mehrere Sprecher und berücksichtigt Variationen in Akzenten oder Audioqualität, um präzise Transkriptionen zu ermöglichen. Unsere Aufgabe bestand nicht darin, eine Sprache-zu-Text Webanwendung zu finden, so dass AWS Transcribe die Aufgabe perfekt erfüllen würde.

Textzusammenfassung

Der transkribierte Text wird anschließend mit AWS Bedrock, das auf Aufgaben der Verarbeitung natürlicher Sprache spezialisiert ist, zu einer kurzen, aussagekräftigen Zusammenfassung verdichtet. Diese Zusammenfassung fasst die wichtigsten Punkte des Meetings zusammen und macht die Ausgabe für Endnutzer nützlicher und prägnanter.

E-Mail-Zustellung

Sobald die Zusammenfassung abgeschlossen ist, sendet das System den Bericht automatisch an die registrierte E-Mail-Adresse des Nutzers. Dies gewährleistet, dass Teilnehmer des Meetings ihre zusammengefasste Besprechungsübersicht schnell und bequem erhalten.

Teilnehmer-Spezifikation

Für eine verbesserte Texterkennung und Sprecherzuordnung kann der Nutzer die Anzahl der Meetingteilnehmer angeben. Dies hilft AWS Transcribe, die Sprache einzelnen Sprechern zuzuordnen, was zu genaueren Transkriptionen führt.

Benutzeroberfläche

Die Anwendung wurde mit einer einfachen und benutzerfreundlichen Oberfläche gestaltet, um eine einfache Bedienung zu gewährleisten. Nutzer können Dateien hochladen, Präferenzen festlegen (z. B. Teilnehmeranzahl) und Ergebnisse abrufen, ohne technisches Fachwissen zu benötigen.

Authentifizierungsabläufe

Ob durch die Verwendung eines verwalteten Logins oder durch den Aufbau eines benutzerdefinierten Frontends mit einem AWS SDK zur Authentifizierung – es ist wichtig, die App so zu konfigurieren, dass sie die gewünschten Authentifizierungsmethoden unterstützt.

Nach der Entwicklung der Lösung wurde lokales Testen ermöglicht, einschließlich Tests mit mehr als einstündigen Besprechungen. Da es sich nicht um eine Text-zu-Sprache Webanwendung handelt, wurden Tests dieser Art ausgelassen.

Ergebnisse

Derzeit befindet sich dieses Projekt in der Prototypphase. Die nächsten Schritte für die App zur Transkription von Sprache in Text umfassen:

  • Verbesserung der UX-Funktionen, die für eine einfachere Nutzung sinnvoll wären.
  • Tests mit weiteren Videoformaten und längeren Aufnahmen.
Der Hauptlernpunkt für unseren Entwickler im Prozess war die Integration von AWS Services (Transcribe und Bedrock) und die Optimierung der Leistung und Skalierbarkeit der Lösung. Als Ergebnis der Elinext Meeting Minutes-Lösung begannen unsere Teams, mehrere sofortige Vorteile zu erfahren, darunter Zeitersparnis und Arbeitseffizienz (prägnante Meeting-Zusammenfassungen per E-Mail kurz nach diesen Meetings sind sehr hilfreich, und das Fehlen des Bedarfs an manueller Transkription spart viel Aufwand).
Wir sind eine erfahrene Python Agentur und liefern erstklassige Webentwicklungslösungen. Daher wäre es keine Überraschung, wenn die während dieses Projekts gesammelten Erfahrungen bald relevant werden, um beispielsweise die Entwicklung einer Text-zu-Sprache App voranzutreiben.
1-136
2-130
3-110
4-92
5-83
Haben Sie vor, ein gleiches Projekt zu schaffen?
Haben Sie eine Projektidee? Lassen Sie uns darüber diskutieren
Kontakt


    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    \({}\)
    Nothing to preview
    Insert