⚽? Système de recommandation de recrutement de joueurs
Recherche de joueurs basée sur l'IA : recherchez, recommandez, améliorez le jeu de votre équipe - ? Ceci est une version bêta
Le système de recommandation de recrutement de joueurs est un outil conçu et développé pour les recruteurs, entraîneurs et analystes de football. Ce système utilise des techniques avancées de récupération d’informations et d’intelligence artificielle pour révolutionner le dépistage des joueurs. En saisissant un joueur spécifique, le système identifie rapidement les dix joueurs les plus similaires, proposant des rapports personnalisés générés par l'IA pour recommander le meilleur joueur pour votre équipe en fonction des caractéristiques de l'équipe.
Démo
Pour essayer l'application python, la version CSV_Version du système de recommandation de dépistage des joueurs est disponible ! [DÉMO].
Il s'agit de la version sans Solr, pour essayer la version Solr suivez le fichier readme.txt localement.
Source de données
Le projet s'approvisionne en données auprès de FBRef, l'un des principaux sites Web de statistiques sur le football. Avec une base de données comprenant plus de 200 000 joueurs et équipes, FBRef fournit des informations riches et cruciales pour l'analyse des performances des joueurs.
Technologies utilisées
- LangChain (v0.0.275) : interagit avec GPT-3.5 d'OpenAI pour la génération de rapports détaillés.
- Scikit Learn : calcule les similitudes des joueurs en utilisant la similarité cosinus et utilise K-Means pour le clustering.
- Pandas (v1.4.3) : gère la manipulation, l'organisation et l'analyse des données.
- Scipy (v1.9.3) : calcule les corrélations entre les classements des joueurs pour une évaluation approfondie des performances.
- RougeScore (v0.1.2) : Évalue la qualité du rapport par rapport aux textes de référence.
- BERTScore (v0.3.13) : mesure la similarité sémantique pour l'évaluation de la qualité des rapports.
- Streamlit (v1.23.1) : Fournit une interface utilisateur intuitive avec un moteur de recherche de lecteur à saisie semi-automatique.
- Apache Solr (v8.11.2) : indexe et récupère efficacement les données des joueurs.
Flux de travail méthodologique
- Collecte de données : recueillies auprès de FBRef, en se concentrant sur les cinq meilleures ligues européennes de la saison 2022-2023.
- Prétraitement des données : nettoyées et organisées pour une analyse et une indexation efficace.
- Intégration Solr : données importées et indexées dans Apache Solr pour des capacités de recherche rapides.
- Analyse de similarité : utilise des modèles vectoriels et des algorithmes de clustering pour identifier les similitudes entre les joueurs.
- Scouter AI : utilise GPT-3.5 pour générer des rapports de joueurs détaillés et personnalisés.
- Interface utilisateur : implémentée à l'aide de Streamlit pour une expérience utilisateur transparente.
? Principales fonctionnalités
Récupération efficace des données :
En tirant parti d'Apache Solr, recherchez et accédez rapidement aux données des joueurs grâce au système de suggestion dynamique de requête.
Script de code :
#### Script for Autocomplete
def search_solr ( searchterm : str ) -> List [ any ]:
# Check if a search term is provided
if searchterm :
# Query Solr for player names containing the search term
res = solr . query ( 'FootballStatsCore' , {
'q' : 'Player:' + '*' + searchterm + '*' ,
'fl' : 'Rk,Player' ,
'rows' : 100000 ,
})
result = res . docs
# If results are found
if result != []:
# Create a DataFrame from the results
df_p = pd . DataFrame ( result )
# Extract the 'Rk' and 'Player' columns and clean the data
df_p [ 'Rk' ] = df_p [ 'Rk' ]. apply ( lambda x : x [ 0 ])
df_p [ 'Player' ] = df_p [ 'Player' ]. apply ( lambda x : x [ 0 ])
# Return the 'Player' column as autocomplete suggestions
return df_p [ 'Player' ]
else :
# Return an empty list if no results are found
return []
# Streamlit search box
selected_value = st_searchbox (
search_solr ,
key = "solr_searchbox" ,
placeholder = "? Search a Football Player"
)
Résultat
Similarité des joueurs :
Découvrez des joueurs avec des styles de jeu, des attributs et des statistiques similaires à ceux du joueur sélectionné.
Rapports générés par l'IA
Recevez des rapports détaillés et personnalisés sur les joueurs grâce à une génération de langage naturel de pointe avec un formulaire d'invite de correction.
? Doc et architecture complète
La documentation complète. Dans ce doc il y a tous les détails du projet.
️ la doc peut contenir des erreurs ! Ne copiez pas mais utilisez-le comme support.
? Limites
Le système de recommandation de recrutement de joueurs présente certaines limites qu'il est important de prendre en compte :
- Limitation temporelle ⏰ : Le système s'appuie sur des données mises à jour uniquement au cours de la dernière année, ce qui peut limiter la précision des recommandations, en particulier dans un contexte où les performances des joueurs peuvent changer rapidement.
- Limites du jeu de données : L'utilisation d'un jeu de données limité à l'année 2022/2023 rend les résultats moins fiables, car il ne prend pas en compte l'ensemble de la carrière footballistique d'un joueur. Cette limitation peut influencer négativement les recommandations, en particulier pour les joueurs qui ont eu des performances variables au fil des années. Il est important de noter que les résultats du volet Similarité des joueurs ont été particulièrement influencés par le nombre de matchs joués au cours de la saison. En pratique, plus un joueur jouait de matchs, plus les résultats obtenus par le système de similarité des joueurs étaient précis.
- Dépendance aux données d'entrée : la qualité des recommandations dépend de l'exhaustivité et de l'exactitude des données d'entrée, ce qui signifie que des informations incomplètes ou erronées peuvent avoir un impact négatif sur les décisions.
- Manque de contexte et d'intuition humaine ? : L'IA peut ne pas prendre en compte des facteurs intangibles tels que l'alchimie de l'équipe ou la personnalité des joueurs, qui pourraient être pertinents pour les décisions d'achat.
- Limitations technologiques : La précision des recommandations est limitée par la technologie et les modèles d'IA actuels, qui peuvent ne pas évaluer pleinement l'étendue des compétences d'un joueur.
- Nécessité d'une vérification humaine : il est essentiel que les équipes procèdent à une évaluation humaine approfondie avant de prendre la décision finale d'acquisition de joueurs.
- Génération de rapports et hallucinations ?? : La génération de rapports par un modèle d'IA générative peut conduire à des hallucinations ou à des informations peu fiables. Malgré l'utilisation de techniques rapides pour atténuer ce problème, des inexactitudes peuvent encore survenir, remettant en question la fiabilité des rapports générés.
Remerciements
Le système de recommandation de recrutement de joueurs a été développé exclusivement à des fins démonstratives et éducatives. Ce système a été créé dans le cadre d'un projet pour l'examen des systèmes de recherche d'informations de l' Université de Naples, Federico II . Il est essentiel de noter que le système de recommandation présenté ici est conçu comme un outil d’aide à la décision et n’a pas pour vocation de remplacer un quelconque recruteur ou entraîneur de football. C'est une idée conceptuelle. Je voudrais exprimer notre gratitude à la communauté open source pour les outils et bibliothèques inestimables qui ont rendu ce projet possible. Un merci spécial à FBRef pour avoir fourni des données complètes sur le football.
? Ce projet a été développé par Antonio Romano et est disponible sur la page GitHub.