Wie verhindern Sie wiederholte Wörter und Phrasen in der Sprache zum Text der Adresse im mobilen Browser in Flattern?Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Wie verhindern Sie wiederholte Wörter und Phrasen in der Sprache zum Text der Adresse im mobilen Browser in Flattern?

Post by Anonymous »

Wiederholte Wörter/Phrasen in der Sprach-Text-Eingabe (Mobile Browser, Flutter Web OK)-Dedupe-Funktion funktioniert nicht in Flattern
Ich erstelle kein persönliches Infotoformular in Flatter mit Sprache-zu-Text (mit Sprach-up-up-up-up-up-up-up-wörern. Phrasen aus dem Mikrofoneingang, bevor Felder ausgefüllt werden. />

Code: Select all

/// Robust function to remove repeated words and merged repeated phrases.
String dedupeMergedRepeat(String input) {
// Remove numbers
String processed = input.replaceAll(RegExp(r'[0-9]'), '');

// Split into words using unicode support
List words = RegExp(r'(\p{L}+)', unicode: true)
.allMatches(processed)
.map((m) => m.group(0)!)
.toList();

if (words.isEmpty) return "";

// Remove consecutive duplicate words (case insensitive)
List noConsec = [];
for (var w in words) {
if (noConsec.isEmpty || noConsec.last.toLowerCase() != w.toLowerCase()) {
noConsec.add(w);
}
}

// Remove all duplicate words, keep first occurrence (case insensitive)
Set seen = {};
List noRepeat = [];
for (var w in noConsec) {
if (!seen.contains(w.toLowerCase())) {
seen.add(w.toLowerCase());
noRepeat.add(w);
}
}

String joined = noRepeat.join(' ');

// Remove repeated merged words: e.g. "DrDr" -> "Dr"
joined = joined.replaceAllMapped(
RegExp(r'\b(\p{L}+)\1\b', unicode: true, caseSensitive: false),
(m) => m.group(1)!);

// Remove repeated merged phrases. E.g. "Dr AmbedkarDr Ambedkar Road" -> "Dr Ambedkar Road"
// Try window sizes from half down to 1 word
List phraseWords = joined.split(' ');
for (int size = phraseWords.length ~/ 2; size >= 1; size--) {
for (int i = 0; i + 2 * size 
[b] Wie ich es verwende: < /strong>

Wenn der Mikrofoneingang empfangen wird, nenne ich diese Funktion, bevor ich das Feld fülle. Wörter/Phrasen, obwohl diese Logik vorhanden ist. logs. TexteditingController-Updates? />   HINWEIS: < /strong> < /p>

 Der Fehler ist nur auf mobilen Browsern, nicht beim Laufen als native Flutter -App oder Flattern -Web. geschätzt! [/b]
speech_to_text: ^7.1.0
Tested on: Chrome Android browser, Xiaomi Mi 10i Internet browser

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post