ในโครงการนี้ฉันพยายามทำซ้ำระบบการจัดอันดับตามลิงค์ที่พัฒนาโดย Sergey Brin และ Larry Page ในกระดาษปี 1998 ของพวกเขา "การจัดอันดับ Pagerank Citation: นำคำสั่งซื้อไปยังเว็บ" อัลกอริทึมนี้ยังคงเป็นรากฐานสำหรับเครื่องมือค้นหาเว็บของ Google Langville และ Meyer ให้คำแนะนำเพิ่มเติมเกี่ยวกับการก่อสร้างและส่วนประกอบของ PageRank ในกระดาษ "Deeper Inside Inside PageRank" ของพวกเขาในปี 2547
เราเริ่มต้นด้วยการสร้างเมทริกซ์มาร์คอฟซึ่งแต่ละรายการ "เป็นความสามารถในการย้ายจากรัฐฉันไปยังรัฐ J" (Langville และ Meyer 2004) เมทริกซ์ไฮเปอร์ลิงก์นี้จะถูกเปลี่ยนเป็นเมทริกซ์สุ่มลดลงและเมทริกซ์ดั้งเดิม เมทริกซ์มาร์คอฟนี้จะมาบรรจบกันกับ eigenvector ที่โดดเด่น เวกเตอร์นี้เป็นเวกเตอร์ PageRank ซึ่งบ่งบอกถึงความสำคัญของแต่ละหน้าเว็บภายในกราฟ ในการทำเช่นนั้น Brin และ Page ใช้วิธีการใช้พลังงานซึ่งจัดเก็บการวนซ้ำก่อนหน้านี้สำหรับการวนซ้ำแต่ละครั้งและมาบรรจบกันอย่างรวดเร็วสำหรับเมทริกซ์สุ่ม, ลดลงและเมทริกซ์ดั้งเดิม
เยี่ยมชมไฟล์ pagerank.py เพื่อดูการใช้งาน โดยเฉพาะอย่างยิ่งฟังก์ชั่น Power_Method และ Make_Personalization_Vector เป็นแกนหลักของการใช้งาน ฟังก์ชั่น POWER_METHOD ใช้งาน อัลกอริทึมนี้จะถูกวนซ้ำจนกว่าจะมีข้อผิดพลาดต่ำเพียงพอซึ่งมักจะเป็น 1E-6; Eigenvector Yeilds เวกเตอร์ PageRank โปรดทราบว่าเนื่องจากฟังก์ชั่นใช้วิธีการใช้พลังงานกับเมทริกซ์ไฮเปอร์ลิงก์ที่ค่อนข้างเบาบางทำให้การแปลงเป็นเมทริกซ์สุ่ม, ลดลงและเมทริกซ์ดั้งเดิม, รันไทม์ของอัลกอริทึมนั้นน้อยกว่าถ้าเรากำหนดเมทริกซ์หลังอย่างชัดเจน ในขณะเดียวกันวิธีการ Make_Personalization_vector ยอมรับการสืบค้นจากนั้นสร้างเวกเตอร์ของบทความที่กล่าวถึงการสืบค้น สิ่งนี้ช่วยให้ฟังก์ชั่น POWER_METHOD ของเราสามารถจัดอันดับหน้าเป้าหมายได้มากขึ้นซึ่งมักจะเชื่อมโยงกับหน้าเว็บที่เรารู้อยู่แล้วว่ามีความเกี่ยวข้อง
run pagerank.py --data=./lawfareblog.csv.gz --search_query=weapons
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=4.5715e-03 url=www.lawfareblog.com/why-did-you-wait-moral-emptiness-and-drone-strikes
INFO:root:rank=1 pagerank=3.1107e-03 url=www.lawfareblog.com/dc-district-court-dismisses-journalists-drone-lawsuit
INFO:root:rank=2 pagerank=2.0231e-03 url=www.lawfareblog.com/revived-cia-drone-strike-program-comments-new-policy
INFO:root:rank=3 pagerank=1.9667e-03 url=www.lawfareblog.com/us-court-appeals-dc-circuit-dismisses-suit-over-us-drone-strike
INFO:root:rank=4 pagerank=1.1788e-03 url=www.lawfareblog.com/iran-shoots-down-us-drone-domestic-and-international-legal-implications
INFO:root:rank=5 pagerank=1.1620e-03 url=www.lawfareblog.com/slaughterbots-and-other-anticipated-autonomous-weapons-problems
INFO:root:rank=6 pagerank=1.1276e-03 url=www.lawfareblog.com/german-courts-weigh-legal-responsibility-us-drone-strikes
INFO:root:rank=7 pagerank=8.3738e-04 url=www.lawfareblog.com/shift-jsoc-drone-strikes-does-not-mean-cia-has-been-sidelined
INFO:root:rank=8 pagerank=7.8704e-04 url=www.lawfareblog.com/atomwaffen-division-member-pleads-guilty-firearms-charge
INFO:root:rank=9 pagerank=7.8570e-04 url=www.lawfareblog.com/waiving-imminent-threat-test-cia-drone-strikes-pakistanตัวอย่างเพิ่มเติมรวมอยู่ที่ด้านล่างของผลลัพธ์เหล่านี้สำหรับ "โดรน" และ "เป้าหมาย" ที่ช่วยแสดงให้เห็นถึงผลกระทบของระบบใหม่แม้ว่าผลลัพธ์ทั้งหมดในไฟล์นี้จะใช้ระบบการจัดอันดับใหม่
ส่วนที่ 1: การทดสอบการใช้วิธีการใช้พลังงานพื้นฐาน
หลังจากใช้อัลกอริทึมเราสามารถทดสอบอัลกอริทึมพื้นฐานบนกราฟหน้าเว็บ 6 หน้าคล้ายกับที่ใช้ใน Langville และ Meyer 2004 เราได้รับผลลัพธ์ต่อไปนี้: โปรดทราบว่าแท็ก verbose ได้รับการเปิดเพื่อแสดงให้เห็นว่าในคำสั่งดีบั๊กอัลกอริทึมมาบรรจบกันไปทางเทอม Epsilon คงที่ 1E-6 หน้านี้ได้รับการจัดอันดับด้วย URL ที่สี่เป็นอันดับสูงสุดและ URL แรกที่ต่ำที่สุด ผลลัพธ์เหล่านี้ได้รับการตรวจสอบโดยการใช้งานของ Mike Izbicki
[In]: run pagerank.py --data=small.csv.gz --verbose
DEBUG:root:computing indices
DEBUG:root:computing values
DEBUG:root:root=i=0 accuracy=2.7229e-01
DEBUG:root:root=i=1 accuracy=1.3318e-01
DEBUG:root:root=i=2 accuracy=8.1429e-02
DEBUG:root:root=i=3 accuracy=3.7537e-02
DEBUG:root:root=i=4 accuracy=2.4824e-02
DEBUG:root:root=i=5 accuracy=1.2412e-02
DEBUG:root:root=i=6 accuracy=8.0711e-03
DEBUG:root:root=i=7 accuracy=4.3977e-03
DEBUG:root:root=i=8 accuracy=2.7713e-03
DEBUG:root:root=i=9 accuracy=1.5882e-03
DEBUG:root:root=i=10 accuracy=9.7799e-04
DEBUG:root:root=i=11 accuracy=5.7459e-04
DEBUG:root:root=i=12 accuracy=3.4924e-04
DEBUG:root:root=i=13 accuracy=2.0761e-04
DEBUG:root:root=i=14 accuracy=1.2532e-04
DEBUG:root:root=i=15 accuracy=7.4923e-05
DEBUG:root:root=i=16 accuracy=4.5074e-05
DEBUG:root:root=i=17 accuracy=2.6996e-05
DEBUG:root:root=i=18 accuracy=1.6217e-05
DEBUG:root:root=i=19 accuracy=9.7244e-06
DEBUG:root:root=i=20 accuracy=5.8908e-06
DEBUG:root:root=i=21 accuracy=3.5000e-06
DEBUG:root:root=i=22 accuracy=2.0959e-06
DEBUG:root:root=i=23 accuracy=1.2712e-06
INFO:root:rank=0 pagerank=6.8019e-01 url=4
INFO:root:rank=1 pagerank=5.3070e-01 url=6
INFO:root:rank=2 pagerank=4.1114e-01 url=5
INFO:root:rank=3 pagerank=2.0103e-01 url=2
INFO:root:rank=4 pagerank=1.5937e-01 url=3
INFO:root:rank=5 pagerank=1.4440e-01 url=1 ส่วนที่ 2: คำค้นหาการค้นหา ต่อไปเราสามารถใช้อาร์กิวเมนต์บรรทัดคำสั่งจำนวนหนึ่งเพื่อปรับแต่งการค้นหาของเรา อัลกอริทึมจะส่งคืนหน้าเว็บเหล่านั้นที่เกี่ยวข้องกับการสืบค้นของเรามากที่สุด อาร์กิวเมนต์ --search_query ยอมรับสตริงและเปรียบเทียบกับแต่ละลิงก์และกรองลิงก์เหล่านั้นที่ไม่รวมการสืบค้น สำหรับส่วนนี้ฉันใช้ชุดข้อมูลที่จัดทำโดยศาสตราจารย์ Mike Izbicki ที่กราฟไฮเปอร์ลิงก์จากบล็อกป้องกัน www.lawfareblog.com จากจุดนี้ไปข้างหน้าฉันจะไม่ใช้คำสั่ง verbose เพื่อให้ผลลัพธ์กระชับมากขึ้น ผลลัพธ์ด้านล่างนั้นคล้ายคลึงกับที่ได้รับในการดำเนินงานของ Prof. Izbicki
หากเราทำการค้นหา 'โคโรนา' เพื่อค้นหาบทความเกี่ยวกับการระบาด
[In]: run pagerank.py --data=./lawfareblog.csv.gz --search_query=corona
DEBUG:root:computing indices
DEBUG:root:computing values
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=1.0038e-03 url=www.lawfareblog.com/lawfare-podcast-united-nations-and-coronavirus-crisis
INFO:root:rank=1 pagerank=8.9224e-04 url=www.lawfareblog.com/house-oversight-committee-holds-day-two-hearing-government-coronavirus-response
INFO:root:rank=2 pagerank=7.0390e-04 url=www.lawfareblog.com/britains-coronavirus-response
INFO:root:rank=3 pagerank=6.9153e-04 url=www.lawfareblog.com/prosecuting-purposeful-coronavirus-exposure-terrorism
INFO:root:rank=4 pagerank=6.7041e-04 url=www.lawfareblog.com/israeli-emergency-regulations-location-tracking-coronavirus-carriers
INFO:root:rank=5 pagerank=6.6256e-04 url=www.lawfareblog.com/why-congress-conducting-business-usual-face-coronavirus
INFO:root:rank=6 pagerank=6.5046e-04 url=www.lawfareblog.com/congressional-homeland-security-committees-seek-ways-support-state-federal-responses-coronavirus
INFO:root:rank=7 pagerank=6.3620e-04 url=www.lawfareblog.com/paper-hearing-experts-debate-digital-contact-tracing-and-coronavirus-privacy-concerns
INFO:root:rank=8 pagerank=6.1248e-04 url=www.lawfareblog.com/house-subcommittee-voices-concerns-over-us-management-coronavirus
INFO:root:rank=9 pagerank=6.0187e-04 url=www.lawfareblog.com/livestream-house-oversight-committee-holds-hearing-government-coronavirus-responseต่อไปเราจะปรับคำค้นหาของเราเป็น 'ทรัมป์':
[In]: run pagerank.py --data=./lawfareblog.csv.gz --search_query=trump
DEBUG:root:computing indices
DEBUG:root:computing values
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=5.7826e-03 url=www.lawfareblog.com/trump-asks-supreme-court-stay-congressional-subpeona-tax-returns
INFO:root:rank=1 pagerank=5.2338e-03 url=www.lawfareblog.com/document-trump-revokes-obama-executive-order-counterterrorism-strike-casualty-reporting
INFO:root:rank=2 pagerank=5.1297e-03 url=www.lawfareblog.com/trump-administrations-worrying-new-policy-israeli-settlements
INFO:root:rank=3 pagerank=4.6599e-03 url=www.lawfareblog.com/dc-circuit-overrules-district-courts-due-process-ruling-qasim-v-trump
INFO:root:rank=4 pagerank=4.5934e-03 url=www.lawfareblog.com/donald-trump-and-politically-weaponized-executive-branch
INFO:root:rank=5 pagerank=4.3071e-03 url=www.lawfareblog.com/how-trumps-approach-middle-east-ignores-past-future-and-human-condition
INFO:root:rank=6 pagerank=4.0935e-03 url=www.lawfareblog.com/why-trump-cant-buy-greenland
INFO:root:rank=7 pagerank=3.7591e-03 url=www.lawfareblog.com/oral-argument-summary-qassim-v-trump
INFO:root:rank=8 pagerank=3.4509e-03 url=www.lawfareblog.com/dc-circuit-court-denies-trump-rehearing-mazars-case
INFO:root:rank=9 pagerank=3.4484e-03 url=www.lawfareblog.com/second-circuit-rules-mazars-must-hand-over-trump-tax-returns-new-york-prosecutorsในที่สุดเราจะเปลี่ยนคำค้นหาของเราเป็น 'อิหร่าน':
[In]: run pagerank.py --data=./lawfareblog.csv.gz --search_query=iran
DEBUG:root:computing indices
DEBUG:root:computing values
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=5.1297e-03 url=www.lawfareblog.com/trump-administrations-worrying-new-policy-israeli-settlements
INFO:root:rank=1 pagerank=5.0168e-03 url=www.lawfareblog.com/update-military-commissions-continued-health-issues-recusal-motion-and-new-cell-al-iraqi
INFO:root:rank=2 pagerank=4.5746e-03 url=www.lawfareblog.com/praise-presidents-iran-tweets
INFO:root:rank=3 pagerank=4.4174e-03 url=www.lawfareblog.com/how-us-iran-tensions-could-disrupt-iraqs-fragile-peace
INFO:root:rank=4 pagerank=4.3659e-03 url=www.lawfareblog.com/haftar-attacking-tripoli-us-needs-re-engage-libya
INFO:root:rank=5 pagerank=3.4237e-03 url=www.lawfareblog.com/france-makes-play-try-foreign-fighters-iraq
INFO:root:rank=6 pagerank=2.6928e-03 url=www.lawfareblog.com/cyber-command-operational-update-clarifying-june-2019-iran-operation
INFO:root:rank=7 pagerank=2.2567e-03 url=www.lawfareblog.com/document-sens-kaine-and-young-introduce-bill-revoke-iraq-force-authorizations
INFO:root:rank=8 pagerank=1.9391e-03 url=www.lawfareblog.com/aborted-iran-strike-fine-line-between-necessity-and-revenge
INFO:root:rank=9 pagerank=1.8263e-03 url=www.lawfareblog.com/its-not-only-iraq-and-syriaส่วนที่ 3: ความกังวลเกี่ยวกับโครงสร้างของหน้าเว็บ เว็บไซต์ส่วนใหญ่มีโครงสร้างมากมายเนื่องจากหน้าส่วนใหญ่เชื่อมต่อกับหน้าแรกและหน้ากว้างอื่น ๆ เช่น www.lawfareblog.com/topics เนื่องจาก Pagerank ทำการจัดอันดับการเชื่อมโยงเว็บไซต์เหล่านั้นที่หลายหน้าเชื่อมโยงไปถึงบ่อยครั้ง แต่ไม่เสมอไปมีคะแนนสูงกว่าเสมอไป หากเราตรวจสอบ pageranks ที่ใหญ่ที่สุดใน www.lawfareblog.com เราจะเห็นหน้ากว้างเหล่านี้หลายหน้าปรากฏขึ้น:
run pagerank.py --data=./lawfareblog.csv.gz
DEBUG:root:computing indices
DEBUG:root:computing values
INFO:root:rank=0 pagerank=2.8741e-01 url=www.lawfareblog.com/about-lawfare-brief-history-term-and-site
INFO:root:rank=1 pagerank=2.8741e-01 url=www.lawfareblog.com/lawfare-job-board
INFO:root:rank=2 pagerank=2.8741e-01 url=www.lawfareblog.com/litigation-documents-resources-related-travel-ban
INFO:root:rank=3 pagerank=2.8741e-01 url=www.lawfareblog.com/subscribe-lawfare
INFO:root:rank=4 pagerank=2.8741e-01 url=www.lawfareblog.com/our-comments-policy
INFO:root:rank=5 pagerank=2.8741e-01 url=www.lawfareblog.com/upcoming-events
INFO:root:rank=6 pagerank=2.8741e-01 url=www.lawfareblog.com/support-lawfare
INFO:root:rank=7 pagerank=2.8741e-01 url=www.lawfareblog.com/snowden-revelations
INFO:root:rank=8 pagerank=2.8741e-01 url=www.lawfareblog.com/topics
INFO:root:rank=9 pagerank=2.8741e-01 url=www.lawfareblog.com/documents-related-mueller-investigation
แต่โดยทั่วไปแล้วหน้าเหล่านี้จะไม่มีประโยชน์หากเราต้องการเรียนรู้ว่าเนื้อหาที่ได้รับความนิยมมากที่สุดของบล็อกคืออะไร ในการรวบรวมข้อมูลเกี่ยวกับบทความซึ่งโดยทั่วไปจะมีหน้าเว็บที่เชื่อมโยงน้อยกว่าหน้าเว็บที่กว้างกว่าเราสามารถใช้อาร์กิวเมนต์ --filter_ratio มันลบ "หน้าทั้งหมดที่มีลิงก์มากกว่าการปันส่วนที่ระบุ" (ศ. Izbicki) ตอนนี้เราสามารถประเมินบทความที่สำคัญที่สุด:
run pagerank.py --data=./lawfareblog.csv.gz --filter_ratio=0.2
DEBUG:root:computing indices
DEBUG:root:computing values
INFO:root:rank=0 pagerank=3.4696e-01 url=www.lawfareblog.com/trump-asks-supreme-court-stay-congressional-subpeona-tax-returns
INFO:root:rank=1 pagerank=2.9521e-01 url=www.lawfareblog.com/livestream-nov-21-impeachment-hearings-0
INFO:root:rank=2 pagerank=2.9040e-01 url=www.lawfareblog.com/opening-statement-david-holmes
INFO:root:rank=3 pagerank=1.5179e-01 url=www.lawfareblog.com/lawfare-podcast-ben-nimmo-whack-mole-game-disinformation
INFO:root:rank=4 pagerank=1.5099e-01 url=www.lawfareblog.com/todays-headlines-and-commentary-1964
INFO:root:rank=5 pagerank=1.5099e-01 url=www.lawfareblog.com/todays-headlines-and-commentary-1963
INFO:root:rank=6 pagerank=1.5071e-01 url=www.lawfareblog.com/lawfare-podcast-week-was-impeachment
INFO:root:rank=7 pagerank=1.4957e-01 url=www.lawfareblog.com/todays-headlines-and-commentary-1962
INFO:root:rank=8 pagerank=1.4367e-01 url=www.lawfareblog.com/cyberlaw-podcast-mistrusting-google
INFO:root:rank=9 pagerank=1.4240e-01 url=www.lawfareblog.com/lawfare-podcast-bonus-edition-gordon-sondland-vs-committee-no-bull
ตอนที่ 4: Eigengaps Eigengap ของ P Barbar Matrix นั้นล้อมรอบด้วย
[In]: run pagerank.py --data=./lawfareblog.csv.gz --verbose
[In]: run pagerank.py --data=./lawfareblog.csv.gz --verbose --alpha=0.99999
[In]: run pagerank.py --data=./lawfareblog.csv.gz --verbose --filter_ratio=0.2
[In]: run pagerank.py --data=./lawfareblog.csv.gz --verbose --filter_ratio=0.2 --alpha=0.99999
ในขณะที่คำสั่งสามคำแรกใช้การวนซ้ำ 15, 11 และ 22 คำสั่งสุดท้ายใช้เวลา 684 การวนซ้ำ นี่เป็นเพราะเมทริกซ์ P ที่ผ่านการกรองมี eigengap ที่เล็กกว่าดังนั้นในขอบเขตของอัลฟ่าที่ใหญ่กว่าจึงใช้เวลานานกว่าจะมาบรรจบกัน การเปลี่ยนแปลงในค่าอัลฟ่านี้ยังส่งผลให้เกิดการจัดอันดับ Pagerank ที่แตกต่างกัน ก่อนอื่นผลลัพธ์ของคำสั่งที่สามซึ่งกรองกราฟ P แต่ไม่ได้ใช้อัลฟ่าขนาดใหญ่:
[In]: run pagerank.py --data=./lawfareblog.csv.gz --verbose --filter_ratio=0.2
INFO:root:rank=0 pagerank=3.4696e-01 url=www.lawfareblog.com/trump-asks-supreme-court-stay-congressional-subpeona-tax-returns
INFO:root:rank=1 pagerank=2.9521e-01 url=www.lawfareblog.com/livestream-nov-21-impeachment-hearings-0
INFO:root:rank=2 pagerank=2.9040e-01 url=www.lawfareblog.com/opening-statement-david-holmes
INFO:root:rank=3 pagerank=1.5179e-01 url=www.lawfareblog.com/lawfare-podcast-ben-nimmo-whack-mole-game-disinformation
INFO:root:rank=4 pagerank=1.5099e-01 url=www.lawfareblog.com/todays-headlines-and-commentary-1964
INFO:root:rank=5 pagerank=1.5099e-01 url=www.lawfareblog.com/todays-headlines-and-commentary-1963
INFO:root:rank=6 pagerank=1.5071e-01 url=www.lawfareblog.com/lawfare-podcast-week-was-impeachment
INFO:root:rank=7 pagerank=1.4957e-01 url=www.lawfareblog.com/todays-headlines-and-commentary-1962
INFO:root:rank=8 pagerank=1.4367e-01 url=www.lawfareblog.com/cyberlaw-podcast-mistrusting-google
INFO:root:rank=9 pagerank=1.4240e-01 url=www.lawfareblog.com/lawfare-podcast-bonus-edition-gordon-sondland-vs-committee-no-bull
จากนั้นผลลัพธ์ของคำสั่งที่สี่ซึ่งกรองกราฟ P และใช้อัลฟ่าขนาดใหญ่:
[In]: run pagerank.py --data=./lawfareblog.csv.gz --verbose --filter_ratio=0.2 --alpha=0.99999
INFO:root:rank=0 pagerank=7.0149e-01 url=www.lawfareblog.com/covid-19-speech-and-surveillance-response
INFO:root:rank=1 pagerank=7.0149e-01 url=www.lawfareblog.com/lawfare-live-covid-19-speech-and-surveillance
INFO:root:rank=2 pagerank=1.0552e-01 url=www.lawfareblog.com/cost-using-zero-days
INFO:root:rank=3 pagerank=3.1755e-02 url=www.lawfareblog.com/lawfare-podcast-former-congressman-brian-baird-and-daniel-schuman-how-congress-can-continue-function
INFO:root:rank=4 pagerank=2.2040e-02 url=www.lawfareblog.com/events
INFO:root:rank=5 pagerank=1.6027e-02 url=www.lawfareblog.com/water-wars-increased-us-focus-indo-pacific
INFO:root:rank=6 pagerank=1.6026e-02 url=www.lawfareblog.com/water-wars-drill-maybe-drill
INFO:root:rank=7 pagerank=1.6023e-02 url=www.lawfareblog.com/water-wars-disjointed-operations-south-china-sea
INFO:root:rank=8 pagerank=1.6020e-02 url=www.lawfareblog.com/water-wars-song-oil-and-fire
INFO:root:rank=9 pagerank=1.6020e-02 url=www.lawfareblog.com/water-wars-sinking-feeling-philippine-china-relations ส่วนที่ 1: การใช้วิธีการใช้พลังงานขั้นพื้นฐาน เวกเตอร์การปรับเปลี่ยนเป็นวิธีทางเลือกในการกรองผ่านการสืบค้น เวกเตอร์การปรับเปลี่ยนส่วนบุคคลกำหนดว่าหน้าเว็บใดที่เชื่อมโยงกับส่วนใหญ่จากหน้าเว็บที่เกี่ยวกับการสืบค้นเอง สิ่งนี้แตกต่างจากอาร์กิวเมนต์ --search_query ก่อนหน้าซึ่งกำหนด PageRank โดยรวมจากนั้นกรองสำหรับการแข่งขันอันดับสูงสุดที่เกี่ยวข้องกับการสืบค้น เพื่อแสดงให้เห็นถึงสิ่งนี้เราสามารถเปรียบเทียบการจัดอันดับของแบบสอบถามเดียวกันเมื่อใช้เวกเตอร์การปรับเปลี่ยนส่วนบุคคลเมื่อเทียบกับอาร์กิวเมนต์ --search_query
[In]: run pagerank.py --data=./lawfareblog.csv.gz --filter_ratio=0.2 --personalization_vector_query=corona
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=6.3213e-01 url=www.lawfareblog.com/covid-19-speech-and-surveillance-response
INFO:root:rank=1 pagerank=6.3211e-01 url=www.lawfareblog.com/lawfare-live-covid-19-speech-and-surveillance
INFO:root:rank=2 pagerank=1.4962e-01 url=www.lawfareblog.com/chinatalk-how-party-takes-its-propaganda-global
INFO:root:rank=3 pagerank=1.1626e-01 url=www.lawfareblog.com/brexit-not-immune-coronavirus
INFO:root:rank=4 pagerank=1.1626e-01 url=www.lawfareblog.com/rational-security-my-corona-edition
INFO:root:rank=5 pagerank=8.8833e-02 url=www.lawfareblog.com/trump-cant-reopen-country-over-state-objections
INFO:root:rank=6 pagerank=8.5443e-02 url=www.lawfareblog.com/prosecuting-purposeful-coronavirus-exposure-terrorism
INFO:root:rank=7 pagerank=8.5443e-02 url=www.lawfareblog.com/britains-coronavirus-response
INFO:root:rank=8 pagerank=7.1883e-02 url=www.lawfareblog.com/lawfare-podcast-united-nations-and-coronavirus-crisis
INFO:root:rank=9 pagerank=6.8968e-02 url=www.lawfareblog.com/house-oversight-committee-holds-day-two-hearing-government-coronavirus-response [In]: run pagerank.py --data=./lawfareblog.csv.gz --filter_ratio=0.2 --search_query=corona
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=8.1320e-03 url=www.lawfareblog.com/house-oversight-committee-holds-day-two-hearing-government-coronavirus-response
INFO:root:rank=1 pagerank=7.7908e-03 url=www.lawfareblog.com/lawfare-podcast-united-nations-and-coronavirus-crisis
INFO:root:rank=2 pagerank=5.2262e-03 url=www.lawfareblog.com/livestream-house-oversight-committee-holds-hearing-government-coronavirus-response
INFO:root:rank=3 pagerank=3.9584e-03 url=www.lawfareblog.com/britains-coronavirus-response
INFO:root:rank=4 pagerank=3.8114e-03 url=www.lawfareblog.com/prosecuting-purposeful-coronavirus-exposure-terrorism
INFO:root:rank=5 pagerank=3.3973e-03 url=www.lawfareblog.com/paper-hearing-experts-debate-digital-contact-tracing-and-coronavirus-privacy-concerns
INFO:root:rank=6 pagerank=3.3633e-03 url=www.lawfareblog.com/cyberlaw-podcast-how-israel-fighting-coronavirus
INFO:root:rank=7 pagerank=3.3557e-03 url=www.lawfareblog.com/israeli-emergency-regulations-location-tracking-coronavirus-carriers
INFO:root:rank=8 pagerank=3.2160e-03 url=www.lawfareblog.com/congress-needs-coronavirus-failsafe-its-too-late
INFO:root:rank=9 pagerank=3.1036e-03 url=www.lawfareblog.com/why-congress-conducting-business-usual-face-coronavirus ส่วนที่ 2: การค้นหาบทความที่เกี่ยวข้อง แต่อย่าพูดถึงคำถามของเราว่า เวกเตอร์การปรับเปลี่ยนส่วนบุคคลนั้นมีประโยชน์อย่างยิ่งเพราะมันติดตามบทความที่เกี่ยวข้องกับการสืบค้นมากที่สุด ซึ่งหมายความว่าหากเราต้องการเรียนรู้เกี่ยวกับผลกระทบทางอ้อมแบบสอบถามของเราอาจมีเรายังสามารถใช้ข้อความค้นหาเวกเตอร์การปรับเปลี่ยนส่วนบุคคลเดียวกัน ในขณะเดียวกันเราสามารถใช้อาร์กิวเมนต์ --search_query เพื่อนำเสนอเฉพาะบทความเหล่านั้นเท่านั้นที่ไม่รวมถึงการสืบค้นเอง เนื่องจากเครื่องหมายลบจะไม่อยู่ในโมเดล Gensim ผลลัพธ์เหล่านี้จะผ่านไปโดยไม่ต้องค้นหาคำที่เกี่ยวข้อง ฉันได้รับผลลัพธ์ต่อไปนี้สำหรับ 'Corona':
[In]: run pagerank.py --data=./lawfareblog.csv.gz --filter_ratio=0.2 --personalization_vector_query=corona --search_query=-corona
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=6.3213e-01 url=www.lawfareblog.com/covid-19-speech-and-surveillance-response
INFO:root:rank=1 pagerank=6.3211e-01 url=www.lawfareblog.com/lawfare-live-covid-19-speech-and-surveillance
INFO:root:rank=2 pagerank=1.4962e-01 url=www.lawfareblog.com/chinatalk-how-party-takes-its-propaganda-global
INFO:root:rank=3 pagerank=8.8833e-02 url=www.lawfareblog.com/trump-cant-reopen-country-over-state-objections
INFO:root:rank=4 pagerank=6.8562e-02 url=www.lawfareblog.com/lawfare-podcast-mom-and-dad-talk-clinical-trials-pandemic
INFO:root:rank=5 pagerank=6.5838e-02 url=www.lawfareblog.com/fault-lines-foreign-policy-quarantined
INFO:root:rank=6 pagerank=6.1389e-02 url=www.lawfareblog.com/limits-world-health-organization
INFO:root:rank=7 pagerank=5.5939e-02 url=www.lawfareblog.com/chinatalk-dispatches-shanghai-beijing-and-hong-kong
INFO:root:rank=8 pagerank=5.4060e-02 url=www.lawfareblog.com/trump-asks-supreme-court-stay-congressional-subpeona-tax-returns
INFO:root:rank=9 pagerank=4.9363e-02 url=www.lawfareblog.com/us-moves-dismiss-case-against-company-linked-ira-troll-farmในขณะที่บทความเหล่านี้ส่วนใหญ่ยังคงเกี่ยวข้องกับ coronavirus แต่ก็มีบางหัวข้อที่มีการสัมผัสมากกว่า ตัวอย่างเช่นมีการได้ยินการป้องกันขีปนาวุธที่สำคัญอันดับที่ 9 ซึ่งอาจเกิดขึ้นในระหว่างการระบาดใหญ่และได้รับอิทธิพลจากมัน แต่เห็นได้ชัดว่าไม่เกี่ยวข้องโดยตรงกับ coronavirus
ส่วนที่ 3: การค้นหาบทความที่เกี่ยวข้อง แต่อย่าพูดถึงคำถามของเรา (ต่อ) เราสามารถดูตัวอย่างอื่นของบทความข้างต้นที่บทความเกี่ยวข้องกัน แต่ไม่ได้พูดถึงคำถามอย่างชัดเจน สำหรับ 'อิหร่าน' เราได้รับผลลัพธ์ต่อไปนี้:
[In]: run pagerank.py --data=./lawfareblog.csv.gz --filter_ratio=0.2 --personalization_vector_query=iran --search_query=-iran
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=3.9977e-01 url=www.lawfareblog.com/omphalos
INFO:root:rank=1 pagerank=2.4971e-01 url=www.lawfareblog.com/haftar-attacking-tripoli-us-needs-re-engage-libya
INFO:root:rank=2 pagerank=2.4398e-01 url=www.lawfareblog.com/cancellation-algerias-elections-opportunity-democratization
INFO:root:rank=3 pagerank=2.3989e-01 url=www.lawfareblog.com/yemen-houthi-strategy-has-promise-and-risk
INFO:root:rank=4 pagerank=2.3954e-01 url=www.lawfareblog.com/how-trumps-approach-middle-east-ignores-past-future-and-human-condition
INFO:root:rank=5 pagerank=2.1294e-01 url=www.lawfareblog.com/trump-asks-supreme-court-stay-congressional-subpeona-tax-returns
INFO:root:rank=6 pagerank=1.5762e-01 url=www.lawfareblog.com/livestream-nov-21-impeachment-hearings-0
INFO:root:rank=7 pagerank=1.5762e-01 url=www.lawfareblog.com/opening-statement-david-holmes
INFO:root:rank=8 pagerank=1.1823e-01 url=www.lawfareblog.com/trump-administrations-worrying-new-policy-israeli-settlements
INFO:root:rank=9 pagerank=8.0923e-02 url=www.lawfareblog.com/senate-examines-threats-homeland
ฉันคิดว่านี่เป็นส่วนขยายที่น่าสนใจโดยเฉพาะอย่างยิ่งที่จะเรียนรู้เพิ่มเติมเกี่ยวกับอิทธิพลระหว่างประเทศของอิหร่าน อิหร่านเติบโตอย่างช้าๆในฐานะผู้เล่นระดับภูมิภาคในตะวันออกกลางและบางส่วนของแอฟริกาเหนือในช่วงไม่กี่ทศวรรษที่ผ่านมา ผลกระทบนั้นค่อนข้างชัดเจนในบทความที่อยู่ในอันดับสูงสุดเนื่องจากมีบทความเกี่ยวกับแอลจีเรียลิเบียและอิสราเอล การปรากฏตัวของบทความสองสามเรื่องเกี่ยวกับความสัมพันธ์ของอิหร่านกับสหรัฐอเมริกายังพูดถึงการทิ้งระเบิดและความตึงเครียดที่เกิดขึ้นในต้นปี 2563 ผลลัพธ์เหล่านี้บ่งชี้ว่า http://www.lawfareblog.com/ พิจารณาความสัมพันธ์แบบอเมริกันและการเมืองตะวันออกกลางในภูมิภาค
นี่คือตัวอย่างเพิ่มเติมที่เน้นระบบการจัดอันดับที่อัปเดต: ผลลัพธ์เหล่านี้มีไว้สำหรับ "โดรน":
run pagerank.py --data=./lawfareblog.csv.gz --search_query=drones
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=4.5715e-03 url=www.lawfareblog.com/why-did-you-wait-moral-emptiness-and-drone-strikes
INFO:root:rank=1 pagerank=3.1107e-03 url=www.lawfareblog.com/dc-district-court-dismisses-journalists-drone-lawsuit
INFO:root:rank=2 pagerank=2.0231e-03 url=www.lawfareblog.com/revived-cia-drone-strike-program-comments-new-policy
INFO:root:rank=3 pagerank=1.9667e-03 url=www.lawfareblog.com/us-court-appeals-dc-circuit-dismisses-suit-over-us-drone-strike
INFO:root:rank=4 pagerank=1.7738e-03 url=www.lawfareblog.com/whats-point-charging-foreign-state-linked-hackers
INFO:root:rank=5 pagerank=1.2885e-03 url=www.lawfareblog.com/video-justice-department-announces-indictment-two-chinese-government-hackers
INFO:root:rank=6 pagerank=1.1973e-03 url=www.lawfareblog.com/daisy-chain-associated-forces-potential-use-force-niger-against-al-mourabitoun
INFO:root:rank=7 pagerank=1.1788e-03 url=www.lawfareblog.com/iran-shoots-down-us-drone-domestic-and-international-legal-implications
INFO:root:rank=8 pagerank=1.1620e-03 url=www.lawfareblog.com/slaughterbots-and-other-anticipated-autonomous-weapons-problems
INFO:root:rank=9 pagerank=1.1506e-03 url=www.lawfareblog.com/dhss-joint-task-forces-next-chapterผลลัพธ์เหล่านี้มีไว้สำหรับ "เป้าหมาย":
run pagerank.py --data=./lawfareblog.csv.gz --search_query=targets
INFO:gensim.models.keyedvectors:precomputing L2-norms of word weight vectors
INFO:root:rank=0 pagerank=6.0299e-03 url=www.lawfareblog.com/update-military-commissions-big-september-911-case
INFO:root:rank=1 pagerank=5.0168e-03 url=www.lawfareblog.com/update-military-commissions-continued-health-issues-recusal-motion-and-new-cell-al-iraqi
INFO:root:rank=2 pagerank=4.6573e-03 url=www.lawfareblog.com/targeting-al-baghdadi-and-selective-notification-congress-assessing-issues
INFO:root:rank=3 pagerank=3.2598e-03 url=www.lawfareblog.com/federal-judge-dismisses-military-commissions-defendants-8th-amendment-claim
INFO:root:rank=4 pagerank=3.2329e-03 url=www.lawfareblog.com/military-commissions-judge-rules-against-government-privilege-claim-nashiri-case
INFO:root:rank=5 pagerank=3.2204e-03 url=www.lawfareblog.com/week-military-commissions-98-session-kangaroo-lapel-pin-edition
INFO:root:rank=6 pagerank=3.1839e-03 url=www.lawfareblog.com/military-commission-judge-bars-government-using-defendants-statements-fbi-clean-teams-911-case
INFO:root:rank=7 pagerank=3.1759e-03 url=www.lawfareblog.com/last-week-military-commissions-defense-moves-classification-review-process
INFO:root:rank=8 pagerank=3.1533e-03 url=www.lawfareblog.com/court-military-commissions-review-upholds-life-sentence-al-bahlul
INFO:root:rank=9 pagerank=2.9309e-03 url=www.lawfareblog.com/summary-dc-circuit-vacates-military-judges-rulings-al-nashiri