ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Microsoft ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ (Space Partition Tree And Graph) Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π΅Π½ . ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π² ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Microsoft Research ΠΈ ΡΠ΅Π½ΡΡΡΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΡΡΠ΅ΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (Microsoft Search Technology Center). Π ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° SPTAG ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π² ΡΡΡΡΠ΅ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Bing Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π°ΠΉ-ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Ρ ΠΎΠ³Π»Π΅Π΄ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΡΡΡΠ΅Π½ΠΈΡΡΠ°. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° C++ ΠΈ Π΅ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Π²Π΅ΡΡΠΈΡ Π·Π° Linux ΠΈ Windows. ΠΠΌΠ° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Π·Π° Π΅Π·ΠΈΠΊΠ° Python.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΈΠ΄Π΅ΠΈΡΠ΅ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π² ΡΡΡΡΠ΅ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΡΡ Π½ΠΎΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π΅ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΎ ΠΎΡ Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ΅ΡΡΡΡΠ½Π° ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΎΡΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Ρ Π²Π΅ΠΊΡΠΎΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π² ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡΠ°. ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π½ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΈΡ ΡΡΡΠ΅Π΄ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡ Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° Π½ΠΈΠ²ΠΎ, ΠΏΡΠΈΠ΅ΠΌΠ»ΠΈΠ²ΠΎ Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΡΡΠ΅ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Bing Π·Π° Π²Π΅ΠΊΡΠΎΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π°Π΄ 150 ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄Π° Π²Π΅ΠΊΡΠΎΡΠ°, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΠΉ-ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π΅ 8 ΠΌΡ.
Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° Π²Π΅ΠΊΡΠΎΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΠ½Π»Π°ΠΉΠ½ ΡΡΡΡΠ΅Π½Π΅, ΠΎΠ±Ρ Π²Π°ΡΠ°ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ ΠΎΡ Π²Π΅ΠΊΡΠΎΡΠΈ. ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ: index builder Π·Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π΅, searcher Π·Π° ΡΡΡΡΠ΅Π½Π΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ·Π΅Π»Π°, ΡΡΡΠ²ΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° Π²ΡΠ·Π»ΠΈΡΠ΅, Aggregator Π·Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ²ΡΡΠ° Π² Π΅Π΄Π½ΠΎ ΡΡΠ»ΠΎ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° Π²Π΅ΠΊΡΠΎΡΠΈ Π½Π° Π»Π΅ΡΡΡΠΎ.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°, ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ Π² ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ° ΠΎΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ°Π²Π½ΡΠ²Π°Ρ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° (L2) ΠΈΠ»ΠΈ ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΡ. ΠΡΠΈ ΡΡΡΡΠ΅Π½Π΅ ΡΠ΅ Π²ΡΡΡΠ°Ρ Π²Π΅ΠΊΡΠΎΡΠΈ, ΡΠ°Π·ΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΈΡΠΎ ΠΈ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡ Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ. Π SPTAG ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ: SPTAG-KDT (K-ΠΌΠ΅ΡΠ½ΠΎ Π΄ΡΡΠ²ΠΎ () ΠΈ ) ΠΈ SPTAG-BKT (Π΄Π΅ΡΠ΅Π²ΠΎ Π½Π° k-ΡΡΠ΅Π΄Π½ΠΈΡΠ΅ ( ΠΈ Π³ΡΠ°Ρ Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΎΠΊΠΎΠ»Π½ΠΎΡΡΠΈ). ΠΡΡΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ΡΡΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ Π²ΡΠΎΡΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° ΡΠΎΡΠ½ΠΎΡΡ Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ ΠΏΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ ΠΎΡ Π²Π΅ΠΊΡΠΎΡΠΈ.
ΠΠ΅ΠΊΡΠΎΡΠ½ΠΎΡΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π΅ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π° ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΠ΅ΠΊΡΡ, Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ»Π°Π³Π°Π½ΠΎ ΠΈ Π·Π° ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° PyTorch, Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅, Π²Π·Π΅ΠΌΠ°ΡΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΡΠ°Π»ΠΎΠ½Π½ΠΈ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½ΠΈ, ΠΊΠΎΡΠΊΠΈ ΠΈ ΠΊΡΡΠ΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ΠΈ Π² Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π²Π΅ΠΊΡΠΎΡΠΈ. ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡΡΡΡΠ΅Π½Π΅, ΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π» Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π² Π²Π΅ΠΊΡΠΎΡ, Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΠΉΡΠΎ ΡΡΠ΅Π· Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° SPTAG ΡΠ΅ ΠΈΠ·Π±ΠΎΡΡΠ²Π°Ρ Π½Π°ΠΉ-ΡΡ ΠΎΠ΄Π½ΠΈΡΠ΅ Π²Π΅ΠΊΡΠΎΡΠΈ ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ ΠΊΠ°ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠ΅ Π²ΡΡΡΠ°Ρ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
