ÖÇÄܿͷþÓë̸Ìì»úеÈË
ÔÚÈËÂíÊÞÍâÍøÓ¦ÓÃÖУ¬ÖÇÄܿͷþºÍ̸Ìì»úеÈËÊÇÌáÉýÓû§ÌåÑéºÍÔËӪЧÂʵÄÖ÷Òª¹¤¾ß¡£½èÖúPythonµÄ»úеѧϰºÍ×ÔÈ»ÓïÑÔ´¦Öóͷ£¿â£¬ÈçNLTK¡¢spaCyµÈ£¬¿ÉÒÔ¿ª·¢³ö¸ßЧµÄÖÇÄܿͷþϵͳ¡£ÕâЩϵͳÄܹ»Ã÷È·Óû§µÄÎÊÌ⣬²¢Ìṩ׼ȷµÄ»Ø¸²ºÍ½¨Ò飬´Ó¶ø´ó´óïÔÌÈ˹¤¿Í·þµÄÊÂÇéÁ¿£¬ÌáÉý¿Í»§Öª×ã¶È¡£
×Ô¶¯»¯ÔËάÓëÖÇÄÜ»¯¹ÜÀí
PythonÔÚ×Ô¶¯»¯ÔËά·½ÃæÒ²ÓÐ×ÅÏÔÖøµÄÓÅÊÆ¡£½èÖúAnsible¡¢SaltStackµÈ×Ô¶¯»¯ÔËά¹¤¾ß£¬Python¾ç±¾¿ÉÒÔʵÏÖ·þÎñÆ÷µÄ×Ô¶¯ÉèÖᢲ¿?ÊðºÍ¹ÜÀí¡£Õâ¹ØÓÚÈËÂíÊÞÍâÍøµÄÔËά¹ÜÀíÓÈΪÖ÷Òª£¬¿ÉÒÔ´ó´óïÔÌÈ˹¤¸ÉÔ¤£¬Ìá¸ßÔËάЧÂÊ£¬½µµÍÔËÓª±¾Ç®¡£
Python»¹Ö§³ÖÓëÖÖÖÖ¼à¿Ø¹¤¾ß¼¯³É£¬Äܹ»ÊµÊ±¼à¿ØºÍ±¨¾¯£¬ÎªÏµÍ³µÄÎȹÌÔËÐÐÌṩ°ü¹Ü¡£
1ʲôÊǶàÏß³ÌÒ첽ץȡ
¶àÏß³ÌÒ첽ץȡÊÇÒ»ÖÖͨ¹ý²¢Ðд¦Öóͷ£ºÍÒì³ÌÐò¶È£¬Ìá¸ßÊý¾ÝץȡËÙÂʺÍЧÂʵÄÊÖÒÕ¡£Ïà±ÈÓڹŰåµÄͬ²½×¥È¡£¬¶àÏß³ÌÒ첽ץȡ¿ÉÒÔÔÚͳһʱ¼äÄÚ»á¼û¶à¸öÍøÒ³£¬ÏÔÖøÌá¸ßÊý¾Ý»ñÈ¡µÄËÙÂÊ¡£
2.2PythonÈËÂíÊÞÊÞÍâÍøÅÀ³æ¿ò¼ÜµÄ¶àÏß³ÌÒ첽ץȡÓÅÊÆ
¶àÏß³ÌÒ첽ץȡÔÚPythonÈËÂíÊÞÊÞÍâÍøÅÀ³æ¿ò¼ÜÖеÄÓ¦Ó㬾ßÓÐÒÔÏÂÏÔÖøÓÅÊÆ£º
Ìá¸ßץȡËÙÂÊ£ºÍ¨¹ý²¢Ðд¦Öóͷ££¬¿ÉÒÔÔÚ¶Ìʱ¼äÄÚÍê³É´ó×ÚÍøÒ³µÄÊý¾Ýץȡ£¬´ó´óÌá¸ßÊý¾Ý»ñÈ¡µÄЧÂÊ¡£
×ÊԴʹÓÃÂʸߣº¶àÏß³ÌÒ첽ץȡ¿ÉÒÔ³ä·ÖʹÓÃϵͳµÄCPU×ÊÔ´£¬Ìá¸ßÕûÌåµÄ´¦Öóͷ£ÄÜÁ¦¡£
ÎÞаÐÔÇ¿£ºPythonµÄÒì²½±à³ÌÄ£×Ó£¨Èçasyncio£©ºÍ¶àÏ߳̿⣨Èçthreading£©µÄÍŽᣬʹµÃÒ첽ץȡÔÚÉè¼ÆºÍʵÏÖÉÏÔ½·¢ÎÞаºÍ±ã½Ý¡£
ʵÑéЧ¹û
ͨ¹ýʹÓÃÂþÑÜʽʹÃü·ÖÅɼƻ®£¬ÎÒÃÇÄܹ»ÔÚ¶Ìʱ¼äÄÚÍê³É´ó×ÚÊý¾ÝµÄÊÕÂ޺ʹ¦Öóͷ£¡£ÏêϸЧ¹ûÈçÏ£º
Êý¾ÝÊÕÂÞЧÂÊÏÔÖøÌáÉý£ºÓÉÓÚʹÃüµÄ²¢ÐÐÖ´ÐУ¬Êý¾ÝÊÕÂÞµÄЧÂÊÌá¸ßÁËÔ¼50%¡£ÔÚ¼òµ¥ÅÌËã»úÏ£¬Êý¾ÝÊÕÂÞËÙÂʽÏÂý£¬¶øÔÚÂþÑÜʽϵͳÖУ¬¶à¸öʹÃü½ÚµãµÄ²¢ÐÐÖ´Ðдó´óÌáÉýÁËÊý¾ÝÊÕÂÞËÙÂÊ¡£
ϵͳÎȹÌÐÔÔöÇ¿£ºÔÚÊý¾ÝÊÕÂÞÀú³ÌÖУ¬Ê¹Ãüµ÷ÀíÆ÷Äܹ»ÊµÊ±¼à¿Ø¸÷¸öʹÃü½ÚµãµÄÔËÐÐ״̬£¬²¢ÔÚ·¢Ã÷Èκνڵ㷺Æð¹ÊÕÏʱ£¬×Ô¶¯½«Ê¹ÃüÖØÐ·ÖÅɵ½ÆäËû½Úµã¡£Õâ°ü¹ÜÁËÊý¾ÝÊÕÂÞʹÃüµÄÒ»Á¬ÐÔºÍϵͳµÄÎȹÌÐÔ¡£
¸ß¿ÉÀ©Õ¹ÐÔ£ºËæ×ÅÊý¾ÝÁ¿µÄÔöÌí£¬ÎÒÃÇ¿ÉÒÔÇáËɵØÔöÌí¸ü¶àµÄʹÃü½Úµã£¬ÒÔÓ¦¶Ô¸ü´ó¹æÄ£µÄÊý¾ÝÊÕÂÞʹÃü¡£PythonÈËÂíÊÞÍâÍø¿çÓòÅÀ³æ?µÄÂþÑÜʽʹÃü·ÖÅɼƻ®¾ßÓкÜÇ¿µÄ¿ÉÀ©Õ¹ÐÔ£¬Äܹ»ÎÞа˳Ӧ²»?ͬ¹æÄ£µÄÊý¾Ý²É?¼¯ÐèÇó¡£
¹¹½¨ÍƼöϵͳ
model=NearestNeighbors(metric='cosine',algorithm='brute')model.fit(useritemmatrix.pivot(index='user_id½Ó×ÅÎÒÃǽ«ÉîÈë̽ÌÖÔõÑù½«PythonÈËÂíÊÞÊý¾ÝʵսÖеÄÊÖÒÕÓ¦ÓÃÓÚÏÖʵӪҵ¾öÒé?£¬²¢ÍŽáÏÖʵ°¸Àý£¬½øÒ»²½Õ¹Ê¾ÕâЩÊÖÒÕµÄǿʢ¹¦Ð§ºÍÏÖʵ¼ÛÖµ¡£
У¶Ô£ºÀîè÷ÃÈ(f3J1ePQDlzHhwh44q38w4Ima2E3XrDq)



