


Comparaison des bibliothèques de détection de langage (et API) à l'aide de Java/ColdFusion/CFML
La détection de la langue est une fonctionnalité dont nous avions besoin dans un projet antérieur. J'ai écrit un article en 2020 concernant l'utilisation du fork kju2 de la bibliothèque Java d'Optimaize Language Detector. La bibliothèque Optimaize n'a pas été mise à jour depuis 2015 et le fork kju2 a été placé en mode lecture seule le 16 avril 2023.
J'ai évalué la bibliothèque Java Lingua. Elle prétend être « la bibliothèque de détection de langage naturel la plus précise pour Java et la JVM, adaptée aussi bien aux textes longs que courts » et semble également être activement mise à jour et prise en charge. Dans mon petit test unitaire, Lingua semblait être légèrement plus lent et ne pouvait pas identifier correctement le texte malais.
Le temps de détection pour les deux bibliothèques Java était assez aléatoire pour l'anglais. Parfois, il renvoyait une réponse en 295 ms et d'autres fois, en plus de 48 000 ms. (Peut-être que c'est juste mon PC de développeur.) kju2 semblait être plus rapide en moyenne.
J'ai également trouvé une API Detect Language tierce qui prend en charge 165 langues et prétend avoir une "haute précision". Il nécessite une clé API et propose des forfaits gratuits et premium.
Si vous effectuez une détection de langage avec Java et/ou ColdFusion/CFML, qu'utilisez-vous ?
Devrait être | kju2 langue | kju2 ms | lingua lang | lingua ms | api-lang | api ms | Exemple de texte |
---|---|---|---|---|---|---|---|
ANGLAIS | ANGLAIS | 2272 | ANGLAIS | 570 | fr | 537 | Une excellente façon d'apprendre le vocabulaire espagnol consiste à lire des textes, des histoires ou des articles entièrement dans la langue. C'est pourquoi nous avons écrit nos propres courts passages de lecture en espagnol sur différents sujets. |
GREC | GREC | 6 | GREC | 12 | el | 105 | Βίβλος γενέσεως Ἰησοῦ Χριστοῦ υἱοῦ Δαυεὶδ υἱοῦ Ἀβραάμ. |
FRANÇAIS | FRANÇAIS | 61 | FRANÇAIS | 78 | fr | 70 | En hiver, il fait froid en France. Le soleil se lève tard. Il fait encore nuit quand je vais au travail. Parfois, il y a même de la neige. |
HÉBREU | HÉBREU | 3 | HÉBREU | 11 | iw | 110 | כל ישראל יש להם חלק לעולם הבא, שנאמר ועמך כולם צדיקים, לעולם יירש ו ארץ, נצר מטעי מעשה ידי להתפאר. |
ARABE | ARABE | 2 | ARABE | 19 | ar | 81 | عندما يريد العالم أن يتكلّم, فهو يتحدّث بلغة يونيكود. تسجّل الآن لحضور المؤتمر الدولي العاشر ليونيكود |
CHINOIS | CHINOIS | 2 | CHINOIS | 8 | zh | 74 | 虽然它长得不好看,但是它有一颗无比善良的心。小猴子乐乐的家被大水冲垮了,无家可归。丑丑就让乐乐住在自己的家,还把自己最喜欢吃的巧克力分给乐乐吃。不仅如此,谁头痛、生病了,没钱买药,它都会尽其所能进行帮助。 |
CORÉEN | CORÉEN | 12 | CORÉEN | 3 | ko | 120 | 안녕하십니까 할리데이비슨 대구점 MC 우제헌입니다. 포티에잇 문의 전달받고 전화 드렸습니다만 연결되지 않아 문자 드립니다. |
0 | 116 | es | 92 | Habituellement, ce termino s'applique à toutes les pistes d'avions terrestres, sans embargo, le termino correcto est aeródromo. | THAÏ | THAÏ | |
THAÏ | 14 | ème | 105 | 1er anniversaire [เกียรติศักดิ์]และสิทธิ และควรปฏิบัติต่อกัน ด้วยเจตนารมณ์แห่งภราดรภาพ | VIETNAMIEN | VIETNAMIEN | |
VIETNAMIEN | 14 | vi | 98 | Tất cả mọi người sinh ra đều được tự do et bình đẳng về nhân phẩm et quyền lợi. Mọi con người đều được tạo hóa ban cho lý trí et lương tâm et cần phải đối xử với nhau trong tình anh em. | TURC | TURC | |
TURC | 93 | tr | 212 | Yukarda mavi gök, asağıda yağız yer yaratıldıkta; ikisinin arasında insan oğlu yaratılmış. İnsan oğulları üzerine ecdadım Bumın hakan, İstemi hakan tahta oturmuş; oturarak Türk milletinin ülkesini, türesini, idare edivermiş, tanzim edivermis. Dört taraf hep düşman imiş. Le demandeur sevk edip dört taraftaki kavmi hep (itaati altına) almış hep muti kılmış. Başlılara baş eğdirmiş, dizlilere diz çöktürmüş. | JAPONAIS | JAPONAIS | |
JAPONAIS | 7 | ja | 194 | 幸運こううんにも、息子むすこはこの四月しがつから保育園ほいくえんに入はいることができ、私わたしはまた働はたらき始はじめた。 | |||
RUSSE | RUSSE | 2 | RUSSE | 1393 | ru | 96 | Tous les hommes naissent libres et égaux en dignité et en droits. Ils sont dotés de raison et de conscience et doivent agir les uns par rapport aux autres dans un esprit de fraternité. |
FINLANDAIS | FINLANDAIS | 6 | FINLANDAIS | 383 | fi | 125 | Tout le monde a le droit de recevoir une éducation. L'éducation doit être gratuite, au moins pour l'enseignement primaire et de base. L'enseignement primaire doit être obligatoire. L'enseignement technique et professionnel doit être universellement accessible, et l'enseignement supérieur doit être également ouvert à tous selon leurs capacités. |
OURDU | OURDU | 1 | OURDU | 22 | notre | 104 | इक मल्क पर शर्ष गिर बश्धास्थ करता करता. |
THAÏ | 1 | THAÏ | 2 | ème | 78 | Bonjour le monde | MALAIS |
2 | INCONNU | 291 | identifiant | 88 | Pesan moral dari Cerita Rakyat Bawang Merah Bawang Putih adalah Jangan terya tamak et serakah. Sepiap orang sudah memiliki rezekinya masing-masing. Orang yang teribu serakah akan mendapat Balasan yang setimpal dengan perbuatanya. Selalu berbuat baik lah Dalam ikiap hanpah laku, maka kita akan mendapat kebidahan et happanika. |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour gérer correctement les transactions JDBC, vous devez d'abord désactiver le mode de validation automatique, puis effectuer plusieurs opérations, et enfin vous engager ou randonner en fonction des résultats; 1. Appelez Conn.SetAutoCommit (false) pour démarrer la transaction; 2. Exécuter plusieurs opérations SQL, telles que l'insertion et la mise à jour; 3. Appelez Conn.Commit () Si toutes les opérations sont réussies, et appelez Conn.Rollback () Si une exception se produit pour garantir la cohérence des données; Dans le même temps, les ressources TRY-With doivent être utilisées pour gérer les ressources, gérer correctement les exceptions et clôturer les connexions pour éviter la fuite de connexion; De plus, il est recommandé d'utiliser des pools de connexion et de définir des points de sauvegarde pour réaliser un retour en arrière partiel, et de maintenir les transactions aussi courtes que possible pour améliorer les performances.

Setupamaven / gradleprojectwithjax-rsDependces likejersey; 2.CreateArestResourceUsingannotationsSuchas @ pathand @ get; 3.ConfigureTheApplicationViaApplicationsUbclassorweb.xml; 4.AddjacksonforjsonBindingByCludingJersey-Media-Json-Jackson; 5.DeploEp

Utilisez des classes dans le package Java.Time pour remplacer les anciennes classes de date et de calendrier; 2. Obtenez la date et l'heure actuelles via LocalDate, LocalDateTime et Localtime; 3. Créez une date et une heure spécifiques en utilisant la méthode OF (); 4. Utilisez la méthode plus / moins pour augmenter et diminuer le temps; 5. Utilisez ZonedDateTime et ZoneID pour traiter le fuseau horaire; 6. Format et chaînes de date d'analyse via DateTimeFormatter; 7. Utilisez instantanément pour être compatible avec les anciens types de dates si nécessaire; Le traitement des dattes dans le Java moderne devrait donner la priorité à l'utilisation de Java.timeapi, qui fournit clairement, immuable et linéaire

DépendanceInjection (DI) IsadesignPatternwhereBjectSeveveveltency dexternal, promotionnloosecouplingAndreasiestingthroughroughConstructor, seter, orfieldInjection.2.springframeworkusesannotations like @ composant, @ service et @ autowiredwithjava-baskusecondotations like @ composant, @ service et @ autowiredwithjava-basesConfitations lik

Pré-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusofperforming lightbetterine scénarios.

Utilisez des outils d'analyse des performances pour localiser les goulots d'étranglement, utiliser VisualVM ou JProfiler dans la phase de développement et de test, et donner la priorité à l'async-profil dans l'environnement de production; 2. Réduire la création d'objets, réutiliser les objets, utiliser StringBuilder pour remplacer l'épissage de la chaîne et sélectionner les stratégies GC appropriées; 3. Optimiser l'utilisation de la collection, sélectionner et prérégler la capacité initiale selon la scène; 4. Optimiser la concurrence, utiliser des collections simultanées, réduire la granularité de verrouillage et régler raisonnablement le pool de threads; 5. Assurez les paramètres JVM, définissez la taille du tas raisonnable et le collecteur de déchets à faible latence et activez les journaux GC; 6. Évitez la réflexion au niveau du code, remplacez les classes de wrapper par des types de base, retardez l'initialisation et utilisez final et statique; 7. Test et surveillance des performances continues, combinées avec JMH

Maven est un outil standard pour la gestion et la construction de projet Java. La réponse réside dans le fait qu'il utilise pom.xml pour normaliser la structure du projet, la gestion des dépendances, l'automatisation du cycle de vie de la construction et les extensions de plug-in; 1. Utilisez pom.xml pour définir GroupID, Arfactive, version et dépendances; 2. Commandes Master Core telles que MvnClean, compiler, tester, package, installer et déploier; 3. Utiliser la fonction de dépendance et les exclusions pour gérer les versions et les conflits de dépendance; 4. Organisez de grandes applications via la structure du projet multi-modules et sont gérées uniformément par le POM parent; 5

Les capacités de «écriture, runany»
