Topic.pdf

‫ﭘﺮوژه ﭘﺎﻳﺎﻧﻲ درس ﺑﺎزﻳﺎﺑﻲ ﭘﻴﺸﺮﻓﺘﻪ اﻃﻼﻋﺎت‬
‫رﺗﺒﻪﺑﻨﺪي ﭘﮋوﻫﺶﮔﺮان ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ ‪ ‬‬
‫•‬
‫زﻣﺎن ﺗﺤﻮﻳﻞ ﺣﻀﻮري ﭘﺮوژه‪ :‬ﭘﻨﺞ ﺷﻨﺒﻪ ‪ 23‬ﺗﻴﺮﻣﺎه‪ -‬ﺳﺎﻋﺖ ‪ 9‬ﻛﻼس ‪ 103‬ﺑﻪ دﻟﻴﻞ ﻣﺤﺪودﻳﺖ در زﻣﺎن اﻋﻼم ﻧﻤﺮات اﻳﻦ زﻣﺎن ﻗﺎﺑﻞ‬
‫ﺗﻤﺪﻳﺪ ﻧﻴﺴﺖ‪ .‬‬
‫•‬
‫ﭘﺮوژه ﺷﺎﻣﻞ ﮔﺮوهﻫﺎي ‪ 4‬ﻧﻔﺮه اﺳﺖ و ‪ 4‬ﻧﻤﺮه از ‪ 20‬ﻧﻤﺮه درس را ﺷﺎﻣﻞ ﻣﻲﺷﻮد‪ .‬‬
‫•‬
‫اﻋﻀﺎي ﮔﺮوه و ﻧﺎم ﮔﺮوه ﺗﺎ ﭘﺎﻳﺎن روز ‪ 2‬ﺗﻴﺮﻣﺎه ﺑﻪ ‪ [email protected]‬اﻋﻼم ﮔﺮدد‪ .‬زﻣﺎن ﺗﺤﻮﻳﻞ ﺣﻀﻮري ﺑﺮاي‬
‫ﻫﺮ ﮔﺮوه ﺑﻪ اﻃﻼع ﺧﻮاﻫﺪ رﺳﻴﺪ‪ .‬‬
‫•‬
‫اﻓﺮادي ﻛﻪ اﻳﻦ ﭘﺮوژه را ﺑﻪ ﻫﺮ دﻟﻴﻞ ﺗﺤﻮﻳﻞ ﻧﺪﻫﻨﺪ ﻣﺴﺘﻘﻞ از ﺑﺨﺶﻫﺎي دﻳﮕﺮ ﻧﻤﺮه ﭘﺎﺳﻲ درﻳﺎﻓﺖ ﻧﺨﻮاﻫﻨﺪ ﻛﺮد‪ .‬‬
‫•‬
‫ﻫﺮ ﺳﻮاﻟﻲ در ﻣﻮرد ﭘﺮوژه دارﻳﺪ ﻣﺴﺘﻘﻴﻤﺎ ﺑﺎ اﻳﻤﻴﻞ ‪ [email protected]‬ﺗﻤﺎس ﺑﮕﻴﺮﻳﺪ‪ .‬‬
‫•‬
‫ﺷﺮح ﭘﺮوژه‪:‬‬
‫ﻣﺪﻟﺴﺎزي ﺗﻌﺎﻣﻞ اﻓﺮاد در ﺷﺒﻜﻪﻫﺎي اﺟﺘﻤﺎﻋﻲ اﺑﺰار ﻣﻨﺎﺳﺒﻲ ﺑﺮاي ﺷﻨﺎﺳﺎﻳﻲ ﺣﻮزه ﻓﻌﺎﻟﻴﺖ‪ ،‬ﻋﻼﻳﻖ و واﺑﺴﺘﮕﻲ آنﻫﺎ ﺑﻪ ﻳﻚ ﻣﻮﺿﻮع داده ﺷﺪه‬
‫اﺳﺖ‪.‬ﻫﺪف از اﻳﻦ ﭘﺮوژه اراﺋﻪ ﻳﻚ رﺗﺒﻪﺑﻨﺪي ﺑﺮاي ﭘﮋوﻫﺶﮔﺮان ﺣﻮزه ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ اﺳﺖ‪.‬‬
‫ﻣﻴﻜﺮو ﺑﻼگﻫﺎ ﻳﻜﻲ از ﺷﺒﻜﻪﻫﺎي ﻣﻬﻢ اﺟﺘﻤﺎﻋﻲ در وب ﻫﺴﺘﻨﺪ ﻛﻪ اﻓﺮاد ﺑﻪ ﺑﻴﺎن و دﻧﺒﺎل ﻛﺮدن ﻣﻮﺿﻮﻋﺎت ﻣﻮرد ﻋﻼﻗﻪ ﻣﻲﭘﺮدازﻧﺪ‪ .‬در اﻳﻦ ﭘﺮوژه‬
‫ﻣﻴﻜﺮو ﺑﻼگ‪ Twitter 1‬ﻣﻮرد ﺑﺮرﺳﻲ ﻗﺮار ﻣﻲﮔﻴﺮد‪.‬‬
‫در اﻳﻦ ﻣﻴﻜﺮوﺑﻼگ‪ ،‬ﻫﺮ ﻳﻚ از اﻋﻀﺎ ﻣﻲﺗﻮاﻧﺪ ﺣﺎﻟﺖ‪ 2‬ﺧﻮد را ﺑﺎ ﺗﻌﺪاد ﻣﺤﺪودي ﻛﺎراﻛﺘﺮ ﺑﻴﺎن ﻧﻤﺎﻳﺪ و از ﻃﺮف دﻳﮕﺮ ﭘﺮوﻓﺎﻳﻞ اﻓﺮاد ﻣﺨﺘﻠﻒ را دﻧﺒﺎل‬
‫‪3‬‬
‫ﻧﻤﺎﻳﺪ‪.‬‬
‫ﻣﺸﺎﺑﻪ ﺑﺎ ﻣﻔﻬﻮم ﭘﻴﻮﻧﺪ ﺑﻴﻦ ﺻﻔﺤﺎت ﻛﻪ در درس ﺑﻴﺎن ﺷﺪ‪ ،‬ﭘﻴﻮﻧﺪ ﺑﻴﻦ اﻓﺮاد ﻧﻴﺰ ﻣﻲﺗﻮاﻧﺪ ﺑﺮاي ﻳﺎﻓﺘﻦ اﻓﺮاد ﻣﺸﻬﻮر و ﺗﺎﺛﻴﺮﮔﺬار ﺑﻪ ﻛﺎر ﺑﺮده ﺷﻮد‪ .‬ﺑﻪ‬
‫ﺑﻴﺎن دﻳﮕﺮ اﮔﺮ ﺷﺨﺼﻲ ﻣﻮرد ﺗﻮﺟﻪ ﺗﻌﺪاد زﻳﺎدي از اﻓﺮاد ﻗﺮار دارد ﺑﺎﻟﻄﺒﻊ ﺷﺨﺼﻲ ﺗﺎﺛﻴﺮﮔﺬار ﺧﻮاﻫﺪ ﺑﻮد‪.‬در اﻳﻦ ﭘﺮوژه ﻫﺪف ﻣﺎ ﺷﻨﺎﺳﺎﻳﻲ ﭘﮋوﻫﺶ‪-‬‬
‫ﮔﺮان ﺣﻮزه ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ اﺳﺖ ﻛﻪ ﺑﻴﺸﺘﺮﻳﻦ ﺷﻬﺮت و ﺗﺎﺛﻴﺮﮔﺬاري را در اﻳﻦ ﺣﻮزه دارﻧﺪ‪ .‬اﻳﻦ ﭘﺮوژه ﺷﺎﻣﻞ دو ﺑﺨﺶ اﺳﺖ‪.‬‬
‫‪ -1‬ﺑﺨﺶ اول‪ :‬ﻓﺮاﻳﻨﺪ ﺟﻤﻊآوري اﻓﺮاد ) ﺳﻪ ﻧﻤﺮه(‬
‫در اﻳﻦ ﺑﺨﺶ ﺑﺎ اﺳﺘﻔﺎده از واﺳﻂﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻛﻪ ﻣﻌﺮﻓﻲ ﺧﻮاﻫﻨﺪ ﺷﺪ ﺑﻪ ﺟﻤﻊآوري اﻓﺮاد و اﻃﻼﻋﺎت آنﻫﺎ ﻣﻲﭘﺮدازﻳﺪ‪ .‬ﭼﺎﻟﺸﻲ ﻛﻪ در اﻳﻦ‬
‫ﺑﺨﺶ ﺑﺎ آن ﻣﻮاﺟﻪ ﻫﺴﺘﻴﻢ اﻳﻦ اﺳﺖ ﻛﻪ ﻣﺎ ﺻﺮﻓﺎ اﻃﻼﻋﺎت اﻓﺮادي را ﺟﻤﻊآوري ﻣﻲﻛﻨﻴﻢ ﻛﻪ ﭘﮋوﻫﺶﮔﺮ در ﺣﻮزه ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺎﺷﻨﺪ‪ .‬در اﺻﻄﻼح‬
‫ﺑﻪ اﻳﻦ ﻧﻮع ﻓﺮاﻳﻨﺪ ﺟﻤﻊآوري اﻃﻼﻋﺎت‪ ،‬ﭘﻴﻤﺎﻳﺶ ﻣﺘﻤﺮﻛﺰ‪ 4‬ﮔﻔﺘﻪ ﻣﻲﺷﻮد‪ .‬ﻧﻤﻮﻧﻪ ﻛﻮﭼﻜﻲ از ﮔﺮاف اﻓﺮاد در ﺷﺒﻜﻪ ‪ Twitter‬در ﺷﻜﻞ زﻳﺮ ﻧﻤﺎﻳﺶ‬
‫داده ﺷﺪه اﺳﺖ‪.‬‬
‫‪ ‬‬
‫‪1‬‬
‫‪ http://twitter.com/ ‬‬
‫‪ Status ‬‬
‫‪3‬‬
‫‪ Follow ‬‬
‫‪4‬‬
‫‪ Focused Crawling ‬‬
‫‪2‬‬
‫‪Follow‬‬
‫‪64‬‬
‫‪Paper‬‬
‫‪Druin:Allison.html‬‬
‫‪15‬‬
‫‪Paper‬‬
‫‪35‬‬
‫‪Paper‬‬
‫‪Watts:Duncan_J=.htm‬‬
‫‪111‬‬
‫‪Paper‬‬
‫‪DBLP PAGE‬‬
‫‪Vries:Arjen_P=_de.html‬‬
‫‪Follow‬‬
‫‪DBLP PAGE‬‬
‫‪Balog:Krisztian.html‬‬
‫‪DBLP PAGE‬‬
‫‪Follow‬‬
‫‪8 Paper‬‬
‫‪Follow‬‬
‫‪Smirnova:Elena.html‬‬
‫‪DBLP PAGE‬‬
‫ﺑﺮاي اﻳﻦ ﻛﻪ اﻳﻦ ﻣﺮﺣﻠﻪ را اﻧﺠﺎم دﻫﻴﺪ ﻟﻴﺴﺘﻲ ﺻﻔﺤﺎت ﻛﻨﻔﺮاﻧﺲﻫﺎي ﻣﻌﺮوف در ﺣﻮزه ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ ﺟﻤﻊآوري ﺷﺪه اﺳﺖ ﻛﻪ در ﺟﺪول زﻳﺮ‬
‫ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ‪ .‬ﺻﻔﺤﺎت ﻣﺬﻛﻮر ﺻﻔﺤﺎت ‪ Seed‬ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ‪ .‬ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﺎﻳﺪ ﺑﺎ ﺷﺮوع از اﻳﻦ ﺻﻔﺤﺎت اﻓﺮادي را ﻛﻪ اﻳﻦ ﺻﻔﺤﺎت را‬
‫دﻧﺒﺎل ﻣﻲﻛﺮدهاﻧﺪ ﺑﺎرﮔﺬاري ﻧﻤﺎﻳﺪ‪ .‬اﻳﻦ اﻓﺮاد ﺑﺎ اﺣﺘﻤﺎل ﺧﻮﺑﻲ ﭘﮋوﻫﺶﮔﺮان ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ ﻫﺴﺘﻨﺪ‪.‬‬
‫در ﻣﺮﺣﻠﻪ دوم‪ ،‬ﻟﻴﻨﻚﻫﺎي ﺧﺮوﺟﻲ از اﻓﺮاد ﺟﻤﻊآوري ﺷﺪه را دﻧﺒﺎل ﻧﻤﺎﻳﻴﺪ ﺗﺎ اﻓﺮاد ﺟﺪﻳﺪ را در ‪ Twitter‬ﻛﺸﻒ ﻧﻤﺎﻳﻴﺪ‪ .‬در ﻫﺮ ﻣﺮﺣﻠﻪ اﻃﻼﻋﺎت‬
‫ﻳﻚ ﻓﺮد را ﺑﻪ ﺷﺮﻃﻲ ﻧﮕﻬﺪاري ﻛﻨﻴﺪ ﻛﻪ آن ﺷﺨﺺ از اﻓﺮاد ﻓﻌﺎل در ﺣﻮزه ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﺎﺷﺪ‪.‬‬
‫‪Topic‬‬
‫‪Information Retrieval‬‬
‫‪programming languages‬‬
‫‪computer graphics‬‬
‫‪operating systems‬‬
‫‪Databases‬‬
‫‪People/HashTag‬‬
‫‪sigir2010‬‬
‫‪sigir2011‬‬
‫‪ecir2011‬‬
‫‪WSDM2011‬‬
‫‪wsdm2010‬‬
‫‪ACMICMR‬‬
‫‪www2011india‬‬
‫‪PLDI‬‬
‫‪oopsla2008‬‬
‫‪oopsla2009‬‬
‫‪oopsla2007‬‬
‫‪siggraph_ic‬‬
‫‪sosp09‬‬
‫‪sigmod2010‬‬
‫‪sigmod2011‬‬
‫‪Followers‬‬
‫‪10‬‬
‫‪23‬‬
‫‪147‬‬
‫‪169‬‬
‫‪104‬‬
‫‪34‬‬
‫‪308‬‬
‫‪133‬‬
‫‪62‬‬
‫‪21‬‬
‫‪35‬‬
‫‪1,485‬‬
‫‪87‬‬
‫‪56‬‬
‫‪47‬‬
‫‪Following‬‬
‫‪0‬‬
‫‪0‬‬
‫‪3‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪0‬‬
‫‪122‬‬
‫‪64‬‬
‫‪54‬‬
‫‪31‬‬
‫‪1,309‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪Data mining‬‬
‫‪Computer Architecture‬‬
‫‪Communications‬‬
‫‪#PODS‬‬
‫‪ijcai11‬‬
‫‪kdd_news‬‬
‫‪KDD2011‬‬
‫‪hpca16‬‬
‫‪IEEEGlobeCom‬‬
‫‪10‬‬
‫‪385‬‬
‫‪243‬‬
‫‪11‬‬
‫‪67‬‬
‫‪0‬‬
‫‪74‬‬
‫‪185‬‬
‫‪33‬‬
‫‪0‬‬
‫ﺑﺮاي آﻧﻜﻪ ﺑﺘﻮاﻧﻴﺪ ﻣﺴﻴﺮ ﺑﺎزﻳﺎﺑﻲ اﻓﺮاد را ﻛﻨﺘﺮل ﻧﻤﺎﻳﻴﺪ از ﻓﺎﻳﻞ ﭘﺎﻳﮕﺎه داده ‪ DBLP‬اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪ .‬اﻳﻦ ﭘﺎﻳﮕﺎه داده ﺣﺎوي ﻧﺎم و ﻣﻘﺎﻻت اﻓﺮادي اﺳﺖ‬
‫ﻛﻪ در ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ ﺑﻪ ﭘﮋوﻫﺶ ﻣﻲﭘﺮدازﻧﺪ‪ .‬اﻃﻼﻋﺎت ‪ DBLP‬در ﻗﺎﻟﺐ ﻳﻚ ﻓﺎﻳﻞ اراﺋﻪ ﺷﺪه اﺳﺖ و از آدرس ‐‪http://dblp.uni‬‬
‫‪ trier.de/xml/dblp.xml.gz ‬ﻗﺎﺑﻞ ﺑﺎرﮔﺬاري اﺳﺖ‪ .‬ﻛﺎﻓﻲ اﺳﺖ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺑﻪ ﺷﺮﻃﻲ اﻃﻼﻋﺎت ﻳﻚ ﻓﺮد را ﺑﺎرﮔﺬاري ﻧﻤﺎﻳﺪ ﻛﻪ ﻧﺎم ﻓﺮد در‬
‫ﻓﺎﻳﻞ ‪ DBLP‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫در ﭘﺎﻳﺎن ﺑﺨﺶ اول اﻃﻼﻋﺎت زﻳﺮ ﺑﻪ ﻋﻨﻮان ﺗﺤﻮﻳﻞ دادﻧﻲ ﻻزم اﺳﺖ‪ .‬اﻛﻴﺪا ﭘﻴﺸﻨﻬﺎد ﻣﻲﺷﻮد اﻃﻼﻋﺎت زﻳﺮ را در ﭘﺎﻳﮕﺎه داده ﻧﮕﻪداري ﻛﻨﻴﺪ و در روز‬
‫ﺗﺤﻮﻳﻞ ‪ Dump‬ﭘﺎﻳﮕﺎه داده ﺑﻪ ﻋﻨﻮان ﺧﺮوﺟﻲ ﻣﺮﺣﻠﻪ اول ﺗﺤﻮﻳﻞ داده ﺷﻮد‪.‬‬
‫‪ -1‬ﻧﺎم ﭘﮋوﻫﺶﮔﺮ و آدرس ﺻﻔﺤﻪ ‪ Twitter‬و آدرس ‪ DBLP‬ﻣﺮﺑﻮط‬
‫‪ -2‬ﻟﻴﺴﺖ ‪ Follower‬ﻫﺎ ‪ Following‬ﻫﺎي ﻫﺮ ﭘﮋوﻫﺶﮔﺮ‬
‫‪ Twitt1000 -3‬اﺧﻴﺮ ﻫﺮ ﭘﮋوﻫﺶﮔﺮ‬
‫ﺑﻪ ﻫﻤﺮاه ﭘﺎﻳﮕﺎه داده‪ ،‬ﻣﺴﺘﻨﺪات ﻻزم ﺑﺮاي اﻳﻦ ﻣﺮﺣﻠﻪ ﻧﻴﺰ ﺗﺤﻮﻳﻞ داده ﺷﻮد‪ .‬اﻳﻦ ﻣﺴﺘﻨﺪات ﺷﺎﻣﻞ ﺗﻮﺿﻴﺢ در ﻣﻮرد اﺳﻜﻴﻤﺎي ﭘﺎﻳﮕﺎه داده و ﺣﺠﻢ‬
‫اﻃﻼﻋﺎت ﺟﻤﻊآوري ﺷﺪه ﺑﺎﺷﺪ‪ .‬ﻧﻤﺮه اﻳﻦ ﺑﺨﺶ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺣﺠﻢ اﻃﻼﻋﺎت واﻛﺸﻲ ﺷﺪه در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد‪ .‬ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ ﻫﺮ ﮔﺮوﻫﻲ ﻛﻪ‬
‫ﺗﻌﺪاد ﺑﻴﺸﺘﺮي از اﻓﺮاد را ﺟﻤﻊآوري ﻧﻤﺎﻳﺪ ﻧﻤﺮه ﺑﻴﺸﺘﺮي درﻳﺎﻓﺖ ﺧﻮاﻫﺪ ﻛﺮد‪.‬‬
‫‪ -2‬ﺑﺨﺶ دوم‪ :‬ﻓﺮاﻳﻨﺪ رﺗﺒﻪﺑﻨﺪي اﻓﺮاد ) ‪ 1‬ﻧﻤﺮه(‬
‫در اﻳﻦ ﺑﺨﺶ ﻫﺪف اﺳﺘﺨﺮاج ﮔﺮاف اﻓﺮاد و ﭘﻴﺎدهﺳﺎزي اﻟﮕﻮرﻳﺘﻢ ‪ PageRank‬در ﺣﺎﻟﺖ ﭘﺎﻳﻪ ﺑﺮاي رﺗﺒﻪﺑﻨﺪي اﻓﺮاد اﺳﺖ‪ .‬ﺑﺮاي ﮔﺮوهﻫﺎﻳﻲ ﻛﻪ ﻋﻼوه‬
‫ﺑﺮ ‪ PageRank‬از روش ‪ HITS‬ﺑﺮاي رﺗﺒﻪﺑﻨﺪي اﺳﺘﻔﺎده ﻧﻤﺎﻳﻨﺪ ‪ 1‬ﻧﻤﺮه اﺿﺎﻓﻪ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬
‫اﺳﺘﻔﺎده از ‪:API‬‬
‫ﺑﺮاي دﺳﺘﺮﺳﻲ ﺑﻪ اﻃﻼﻋﺎت ‪ Twitter‬ﻣﻲﺗﻮاﻧﻴﺪ از ‪ API‬ﻫﺎي ﻣﺨﺘﻠﻔﻲ اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪ .‬در ﻣﻘﺎﻻت اراﺋﻪ ﺷﺪه از دو ‪ API‬اﺻﻠﻲ اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ‬
‫ﻛﻪ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬
‫‪ http://dev.twitter.com -1‬‬
‫‪http://twitter4j.org/en/index.html -2‬‬
‫ﻟﻴﻨﻚ دوم ﻳﻚ ﻛﺘﺎﺑﺨﺎﻧﻪ ‪ Java‬اﺳﺖ ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از آن ﻣﻲﺗﻮان ﺑﻪ ﺟﺴﺘﺠﻮي اﻓﺮاد در ‪ Twitter‬ﭘﺮداﺧﺖ‪.‬‬
‫از آﻧﺠﺎﻳﻲ ﻛﻪ ‪ Twitter‬ﻓﻴﻠﺘﺮ ﻣﻲﺑﺎﺷﺪ ﺑﺮاي دﺳﺘﺮﺳﻲ ﺑﻪ آن ﺑﺎﻳﺪ از ‪ Proxy‬اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪ .‬ﻧﻤﻮﻧﻪاي از ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ اﺳﺘﻔﺎده از اﻳﻦ ‪Library‬‬
‫در ﺳﺎﻳﺖ درس ﻗﺮار داده ﺷﺪه اﺳﺖ‪.‬‬