Η Microsoft άνοιξε τον κώδικα για τη βιβλιοθήκη διανυσματικής αναζήτησης που χρησιμοποιείται από το Bing

Microsoft опубликовала Πηγαίοι κώδικες βιβλιοθήκης μηχανικής εκμάθησης SPTAG (Space Partition Tree And Graph) με υλοποίηση του κατά προσέγγιση αλγορίθμου αναζήτηση πλησιέστερου γείτονα. Βιβλιοθήκη αναπτηγμένος στο ερευνητικό τμήμα της Microsoft Research και στο κέντρο ανάπτυξης τεχνολογίας αναζήτησης (Microsoft Search Technology Center). Στην πράξη, το SPTAG χρησιμοποιείται από τη μηχανή αναζήτησης Bing για να καθορίσει τα πιο σχετικά αποτελέσματα με βάση το πλαίσιο των ερωτημάτων αναζήτησης. Ο κώδικας είναι γραμμένος σε C++ και διανέμονται από με άδεια MIT. Υποστηρίζεται το Build για Linux και Windows. Υπάρχει δέσμευση για τη γλώσσα Python.

Παρά το γεγονός ότι η ιδέα της χρήσης αποθήκευσης φορέα στις μηχανές αναζήτησης έχει επιπλέει εδώ και πολύ καιρό, στην πράξη, η εφαρμογή τους παρεμποδίζεται από την υψηλή ένταση πόρων των εργασιών με τους φορείς και τους περιορισμούς της επεκτασιμότητας. Ο συνδυασμός μεθόδων βαθιάς μηχανικής μάθησης με κατά προσέγγιση αλγόριθμους αναζήτησης πλησιέστερου γείτονα κατέστησε δυνατή την επίτευξη της απόδοσης και της επεκτασιμότητας των διανυσματικών συστημάτων σε επίπεδο αποδεκτό για μεγάλες μηχανές αναζήτησης. Για παράδειγμα, στο Bing, για έναν διανυσματικό δείκτη άνω των 150 δισεκατομμυρίων διανυσμάτων, ο χρόνος για να ληφθούν τα πιο σχετικά αποτελέσματα είναι εντός 8 ms.

Η βιβλιοθήκη περιλαμβάνει εργαλεία για τη δημιουργία ευρετηρίου και την οργάνωση διανυσματικών αναζητήσεων, καθώς και ένα σύνολο εργαλείων για τη διατήρηση ενός κατανεμημένου διαδικτυακού συστήματος αναζήτησης που καλύπτει πολύ μεγάλες συλλογές διανυσμάτων. Προσφέρεται οι ακόλουθες ενότητες: πρόγραμμα δημιουργίας ευρετηρίου για ευρετηρίαση, αναζήτηση για αναζήτηση χρησιμοποιώντας ένα ευρετήριο κατανεμημένο σε ένα σύμπλεγμα πολλών κόμβων, διακομιστής για την εκτέλεση χειριστών σε κόμβους, Aggregator για συνδυασμό πολλών διακομιστών σε έναν και πελάτης για αποστολή ερωτημάτων. Υποστηρίζεται η συμπερίληψη νέων διανυσμάτων στο ευρετήριο και η διαγραφή διανυσμάτων on the fly.

Η βιβλιοθήκη υποδηλώνει ότι τα δεδομένα που υποβάλλονται σε επεξεργασία και παρουσιάζονται στη συλλογή μορφοποιούνται με τη μορφή σχετικών διανυσμάτων που μπορούν να συγκριθούν με βάση Ευκλείδειος (L2) ή συνημίτονο αποστάσεις Το ερώτημα αναζήτησης επιστρέφει διανύσματα των οποίων η απόσταση μεταξύ τους και του αρχικού διανύσματος είναι ελάχιστη. Το SPTAG παρέχει δύο μεθόδους για την οργάνωση του διανυσματικού χώρου: SPTAG-KDT (Κ-διάστατο δέντρο (kd-δέντρο) Και σχετικό γράφημα γειτονιάς) και SPTAG-BKT (k-σημαίνει δέντρο (κ-σημαίνει δέντρο και σχετικό γράφημα γειτονιάς). Η πρώτη μέθοδος απαιτεί λιγότερους πόρους κατά την εργασία με το ευρετήριο και η δεύτερη δείχνει υψηλότερη ακρίβεια των αποτελεσμάτων αναζήτησης για πολύ μεγάλες συλλογές διανυσμάτων.

Ταυτόχρονα, η διανυσματική αναζήτηση δεν περιορίζεται σε κείμενο και μπορεί να εφαρμοστεί σε πληροφορίες και εικόνες πολυμέσων, καθώς και σε συστήματα αυτόματης δημιουργίας προτάσεων. Για παράδειγμα, ένα από τα πρωτότυπα που βασίζονται στο πλαίσιο PyTorch εφάρμοσε ένα διανυσματικό σύστημα αναζήτησης με βάση την ομοιότητα των αντικειμένων στις εικόνες, που κατασκευάστηκε χρησιμοποιώντας δεδομένα από διάφορες συλλογές αναφοράς με εικόνες ζώων, γατών και σκύλων, οι οποίες μετατράπηκαν σε σύνολα διανυσμάτων . Όταν μια εισερχόμενη εικόνα λαμβάνεται για αναζήτηση, μετατρέπεται χρησιμοποιώντας ένα μοντέλο μηχανικής μάθησης σε διάνυσμα, βάσει του οποίου επιλέγονται τα πιο παρόμοια διανύσματα από το ευρετήριο χρησιμοποιώντας τον αλγόριθμο SPTAG και ως αποτέλεσμα επιστρέφονται οι σχετικές εικόνες.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο