Une brève discussion sur la pratique technologique du scénario de couche de présentation de recherche-tanGo

Auteur | Plateforme technologique de recherche

Introduction 

Cet article concerne les technologies liées à la couche de présentation de la recherche. La ligne principale présentera d'abord la forme du produit Search Aladdin pour permettre aux lecteurs d'avoir une compréhension préliminaire de ce qu'est Aladdin et des concepts de présentation associés. Plus tard, nous nous concentrerons sur les produits basés sur des scénarios. La recherche basée sur des scénarios est l'une des solutions pour construire une expérience immersive et parfaite (recombiner l'Aladdin pleine page et les résultats naturels). Il existe de nombreuses technologies de recherche associées et ne peuvent pas être entièrement couvertes. Cet article présente principalement le cadre de développement derrière TanGo et présentera en détail la réflexion, les problèmes rencontrés et les solutions correspondantes au cours du processus de construction. J'espère que les lecteurs gagneront quelque chose en lisant cet article.

Le texte intégral compte 4412 mots et le temps de lecture estimé est de 12 minutes.

01 Introduction au contexte connexe

Comprendre ce qu'est Aladdin. Aladdin est un produit vertical lancé par Baidu Search. Au cours du processus de recherche, les utilisateurs ont mentionné les exigences de requête telles que l'encyclopédie, la météo, les POI, le cinéma et la télévision, les sports, les actions, le chinois, la traduction, etc. (comme suit) Des exemples de certains produits) rappellent des produits Aladdin à des degrés divers.

image

Ce qui précède est le modèle de recherche permettant de répondre à des exigences uniques et à des groupes de demandes (agrégation de plusieurs résultats uniques pour la même exigence). Pour des scénarios plus complexes, tels que les examens d'entrée à l'université, les Jeux olympiques et d'autres scénarios d'événements majeurs, la recherche doit pouvoir identifier le scénario puis rappeler différents scénarios.

image

En outre, certaines entreprises de la catégorie technique verticale migrent également PHP vers Go. Dans un tel contexte de produits et de technologies, l'industrie de la recherche et l'équipe de recherche ont incubé et conçu le cadre commercial tanGo. Ce qui suit proviendra de l'analyse de la demande -> de l'abstraction commerciale. -> Conception globale et capacités de base. Concentrez-vous sur la logique abstraite et d'autres aspects, et présentez quelques problèmes et réflexions rencontrés lors de la construction et de l'application de l'ensemble du cadre. Avant cela, le Groupe et Search avaient également accumulé des cadres de réseau de base et des actifs lib (y compris cgo) relativement matures. Sur la base de ces fondations, une grande efficacité a également été améliorée au cours du processus de mise en œuvre proprement dit. Un cadre commercial devrait bien répondre : Pourquoi le faites-vous ? (résoudre des problèmes commerciaux) Comment faire ? Comment mesurer (conception, mise en œuvre) ? (Construction de l’indicateur), les pratiques spécifiques sont discutées ci-dessous.

02 Analyse des besoins

Du point de vue des concepts de recherche, comprenons les différents scénarios que les produits basés sur des scénarios doivent satisfaire :

1. Résultat unique : rappelez un résultat et recherchez l'unité de base de rappel. Par exemple : rappel de ressources. Vérifiez des films, des émissions de télévision, des romans, etc. ; rappel informatique. Calendrier, calculatrice, etc.

2. Cluster d'exigences : agrégation de plusieurs résultats uniques de la même exigence. Par exemple : l'encyclopédie, les relations entre les personnages et les œuvres dans l'exemple du personnage "Andy Lau".

3. Groupe d'exigences : une collection de plusieurs clusters d'exigences. Par exemple : l'examen d'entrée à l'université dans les scénarios d'événements majeurs (lieu principal, calendrier de l'examen d'entrée à l'université, ligne de lots, questions réelles, un point et une section), chacun est une demande de cluster de demande indépendante, tout comme d'autres grandes scènes telles que les Jeux olympiques. Jeux.

4. Page de résultats : Le résultat global du retour correspondant à la requête. Peut contenir plusieurs exigences, c'est-à-dire plusieurs groupes d'exigences. (Par exemple, q=Sanya Tourism, qui inclut à la fois la demande touristique et la demande financière).

03 idées et pratiques de conception tanGo

3.1 Abstraction métier

3.1.1 Abstraction de produit basée sur des scénarios

Du point de vue de la technologie de présentation, les clusters de demandes et les groupes de demandes sont tous deux des ensembles de résultats uniques, avec une latitude et une granularité différentes. L'abstraction globale du processus de traitement des demandes de récupération est basée sur plusieurs étapes, et chaque étape est matérialisée et abstraite.

1. Ressources : unité de représentation des résumés de rappel. Les ressources ici peuvent être des résumés extraits de divers moteurs de recherche ou bases de données.

  • Abstraction d'entité ressource : pré-stratégie (ressources), analyse de récupération (ressources), rappel de récupération, mappage de données

2. Carte : La plus petite unité d’affichage de recherche. Rappel complet de la planification des ressources et assemblage du résumé avec le mappage de modèles front-end

  • Abstraction de l'entité de la carte : stratégie de pré-positionnement (carte), récupération et analyse (carte), planification du rappel des ressources (responsable de la planification graphique de la liste des ressources sous la carte), assemblage du modèle frontal

3. Scénario : La récupération doit identifier le sous-scénario à afficher en fonction de l'analyse des requêtes et compléter le rappel des différents groupes de demandes.

  • Couche de planification : niveau de demande

  • Abstraction de l'entité de scène : demande de pré-stratégie, calcul de scénario d'analyse Q, planification des cartes (responsable de l'exécution de la planification graphique de la collecte des cartes sous les clusters de demande), rappel de la post-stratégie et organisation des paquets de retour

3.1.2 Idées techniques pour la construction de charpente

Standardisation du traitement des processus métier, considérations essentielles dans le processus de traitement

1. Conversion de protocole

  • Prend en charge plusieurs protocoles tels que http/nshead

  • Prend en charge la conversion de plusieurs protocoles de données tels que pb/json

  • Envisagez la récupération synchrone et asynchrone, et la capacité couvre des scénarios de développement tels que les pages de résultats, les pages de scénarios asynchrones, les petits programmes, les stations indépendantes, etc.

2. Configuration : prise en compte des coûts d'exploitation et de maintenance, configuration et visualisation des demandes de récupération

3. Componentisation et opérationnalisation : pour faciliter la construction conjointe ultérieure

4. Planification graphique des ressources : planification des cartes, planification des ressources

Établir un mécanisme standardisé de co-construction de composants

1. Définir des interfaces standardisées pour les composants de données, de récupération et de stratégie

2. Mécanisme de contribution des composantes

Établir un mécanisme de co-construction de bibliothèque de classes standardisé

1. Norme de contribution Standard Lib. Par exemple : échantillonnage, DAG, Trace, algorithme, chaîne, conversion de protocole, chiffrement et déchiffrement, etc.

2. Page d'index de la bibliothèque standard

Autres points clés

1. Étape de développement : génération en un clic, programmation visuelle et manuels d'utilisation pour améliorer l'efficacité de la R&D

2. Phase de test : accélération de la compilation, QATest, interception de niveau 0 et autres livraisons garanties

3. Après la mise en ligne : Prise en charge du système de surveillance : création de panneaux Prometheus, commerciaux, en aval, de récupération et de planification

3.1.3 Métriques

Taille :

  • Échelle de l'application, couverture de l'équipe

Efficacité :

  • Coût de création d'un nouveau projet

  • Cycle de livraison des nouveaux produits

  • Coûts de formation et d’apprentissage des nouveaux employés

  • Le nombre de composants communs, Lib, et les économies de lignes de code provoquées par la précipitation des composants

  • Efficacité de l'équipe, commentaires sur l'amélioration de l'efficacité de la prestation de l'équipe

Satisfaction des utilisateurs :

  • NPS, retours réguliers de satisfaction des utilisateurs

3.2 Schéma fonctionnel de la technologie du cadre

Sur la base de l'abstraction précédente des scénarios commerciaux et de l'abstraction technique, le schéma fonctionnel de construction du cadre suivant a été construit. Principaux points essentiels :

1. Facilité d’utilisation : création d’une chaîne d’outils de bout en bout

2. Structure hiérarchique du framework : processus métier, composants, Lib

3. Processus métier : récupération synchrone, récupération asynchrone, traitement des données

image

3.3 Conception des points essentiels

3.3.1 Conception du processus de recherche

Objectifs de conception :

Un ensemble de procédures de traitement standard, des étapes de récupération des résumés

  • Traitement au niveau de la demande

  • traitement au niveau de la carte

  • Traitement au niveau des ressources

image

La figure ci-dessus montre le processus de traitement des demandes de récupération. Chaque étape est organisée sous forme de composants. Les composants sont développés conjointement par les étudiants en architecture et en commerce. Différents types de composants seront programmés à chaque étape de la récupération. Les étudiants en commerce peuvent se concentrer sur le recherche et développement de composants de domaine et d'autres protocoles.La R&D du cadre de conversion d'emballage est fournie et interconnectée de manière unifiée.

3.3.2 Conception de la configuration

Objectifs de conception :

  • Le processus de récupération doit être décrit dans une configuration

  • Pour maîtriser les coûts d’apprentissage, la grammaire doit être concise et simple

Points techniques clés :

  • Abstraction de la topologie des processus : topologie à trois couches (politique, carte, ressource)

  • Gestion des composants : pour gérer le cycle de vie des composants tout en étant compatible avec le GC, il utilise des fonctionnalités natives telles que la réflexion Go et le pooling d'objets.

  • Chargement à chaud de la configuration : réaliser une mise à jour dynamique de la configuration

image

La figure ci-dessus est un exemple concret de configuration de composants à différentes étapes. Les avantages apportés par la configuration sont : le processus de récupération est transparent et visible ; les coûts d'exploitation et de maintenance sont contrôlables ; et les coûts d'apprentissage et d'acceptation sont faibles.

3.3.3 Conception de la planification des ressources

À partir du processus de traitement de scénario et de configuration introduits précédemment, nous pouvons voir que la planification des cartes dans le processus de calcul de scène et la planification des ressources dans le processus de traitement des cartes utilisent toutes la planification de topologies série et parallèle car une simple exécution DAG doit être conçue pour le moteur de framework. .

Objectifs de conception :

1. Basé sur DAG, concevez un ensemble de règles de grammaire simples pour implémenter un moteur de planification des ressources

2. Capturez et enregistrez les informations d'erreur pour les exceptions du programme, les délais d'attente, etc.

Points techniques clés :

1. Concevoir un ensemble de grammaire de règles DAG simple et répondant aux besoins

  • Contrôle de processus de base : syntaxe de contrôle série, parallèle et conditionnelle

  • Contrôle des exceptions : capture du traitement des exceptions du programme, des délais d'attente, etc.

  • Syntaxe simple et faible coût de démarrage

2. Moteur de planification DAG : exécutez la planification de graphiques en fonction des règles DAG configurées

image

Sur la figure, vous pouvez voir que pendant le traitement des demandes de récupération, les scènes et les cartes sont planifiées graphiquement en fonction des besoins des scénarios utilisateur pour réaliser le rappel de l'utilisateur et la réponse aux besoins complexes. Les composants communiquent en série à travers le contexte.

3.3.4 Créer un mécanisme de co-construction

Lors de la conception du processus de récupération, nous prenons en compte la durabilité et l'évolutivité du cadre et faisons abstraction du concept de composants. Dans le traitement du processus de récupération ci-dessus, divers composants de traitement sont planifiés à différentes étapes pour répondre à la récupération, notamment au niveau de la demande, au niveau de la carte, des ressources. niveau, ce sont des phases de planification évolutives.

image

L'idée globale est divisée en deux types de composants, comme le montre la figure. L'architecture et l'entreprise sont construites conjointement pour maximiser la réutilisabilité et l'évolutivité de l'entreprise.

1. Composants architecturaux, scénarios communs, abstraction unifiée de l'architecture, maximisant la réutilisabilité entre les classes verticales

2. Composants métier, composants personnalisés par les entreprises selon leurs propres scénarios commerciaux

3.3.5 Conçu pour une utilisation facile

Après avoir terminé la construction du framework, nous sommes confrontés à la question de savoir comment le rapprocher de l'entreprise et comment le rendre plus facile à utiliser ? Ci-dessous se trouve la construction dans le sens de la facilité d'utilisation.

La facilité d'utilisation est une étape très importante pour la mise en œuvre et la mise à l'échelle. Il est nécessaire d'examiner l'ensemble du processus de livraison d'un point de vue de bout en bout, du point de vue de la R&D de première ligne, puis de créer des chaînes d'outils pour résoudre les problèmes au niveau du site. chaque étape pour améliorer l’efficacité opérationnelle.

image

L'image ci-dessus montre différentes étapes de recherche et de développement. Une partie du soutien fourni par l'équipe du cadre consiste d'une part à garantir l'efficacité de l'accès et du développement, et également à recueillir activement des commentaires sur une base régulière pour de meilleures améliorations.

04 Conclusion et perspectives

Cet article commence par l'introduction du formulaire de produit de recherche Aladdin, s'étend au scénario et résume le cadre tanGo en fonction des caractéristiques du produit du scénario de recherche. Ensuite, le système de focus a partagé en détail les idées et les pratiques de conception technique du cadre tanGo et a exprimé autant que possible la réflexion fondamentale et les points de conception fondamentaux. L'espace ne peut pas couvrir tous les points de conception et le cadre présente encore des lacunes et des carences. , qui se poursuivra dans le futur. d'itérations d'optimisation.

À l'avenir, le cadre se concentrera davantage sur « l'ensemble du processus » de production et de recherche. En améliorant les capacités du cadre, il fournira un soutien et une couverture plus complets pour l'ensemble de la recherche et du développement, de la phase de test et après le lancement. Par exemple, grâce à l'intégration du framework avec les services d'hébergement de code, le framework peut fournir un support et une couverture plus complets lors de la création de code. L'étape de bibliothèque améliore la facilité d'utilisation, standardise la compilation et la publication, intègre le framework aux services d'intégration continue, améliore la testabilité. après le lancement, etc., et couvre l'ensemble du processus de R&D de manière plus complète.

image

Il y a encore de nombreux détails à chaque étape d'un projet, de la construction des exigences à la mise en œuvre du projet, en passant par l'application et la mise à l'échelle. Si vous souhaitez rechercher des produits Aladdin ou afficher des problèmes techniques, vous pouvez laisser un message pour communiquer.

Actuellement, le poste d'« ingénieur R&D de produits de recherche » est en cours de recrutement actif, travaillant principalement dans le back-end de la production et de la recherche de recherche, des applications et de l'architecture de l'IA.

Les étudiants intéressés sont invités à soumettre leur curriculum vitae à [email protected]

--FIN--

Lecture recommandée

Première introduction à la recherche : première leçon du chef de produit de recherche Baidu

Application de la technologie intelligente de questions et réponses dans la recherche Baidu

Prise en charge de la pratique de reconstruction de code OC via le script Python (1) : analyse des relations d'appel du module

Excellent article CVPR2023 | Analyse du problème du manque de généralisation dans l'algorithme d'identification d'images de contrefaçon AIGC

Complétez la conception et le développement de codes exclusifs en un seul article

Alibaba Cloud a subi une grave panne et tous les produits ont été affectés (restaurés). Tumblr a refroidi le système d'exploitation russe Aurora OS 5.0. La nouvelle interface utilisateur a été dévoilée Delphi 12 & C++ Builder 12, RAD Studio 12. De nombreuses sociétés Internet recrutent en urgence des programmeurs Hongmeng. L'heure d'UNIX est sur le point d'entrer dans l'ère des 1,7 milliards (déjà entrée). Meituan recrute des troupes et envisage de développer l'application du système Hongmeng. Amazon développe un système d'exploitation basé sur Linux pour se débarrasser de la dépendance d'Android à l'égard de .NET 8 sous Linux. La taille indépendante est réduit de 50 %. Sortie de FFmpeg 6.1 "Heaviside"
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/4939618/blog/10139947
conseillé
Classement