2010-01-04 8 views
10

मैं Google Sets की तरह कुछ के लिए देख रहा हूँ, लेकिन आप API रूप में। Google Sets स्क्रैप की अनुमति नहीं है, न ही यह एक API है।दिए गए शब्द से संबंधित शब्दों को पुनः प्राप्त करने के लिए एक अच्छा तरीका क्या है?

उदाहरण के लिए, मैं "इलेक्ट्रॉनिक्स" के लिए खोज करना चाहते हैं और यह "सीडी प्लेयर, टेलीविजन, टेलीफोन, कंप्यूटर, आदि ..." वापस होगा। संभवतः, Google सेट्स की तरह, इसमें कुछ शब्द लगते हैं।

कोई भी विचार? क्या कोई खुला एपीआई है, या इस तरह के डेटा निकालने का दूसरा तरीका है?

+0

मैं इस सवाल को बंद करने के रूप में विषय से हटकर है क्योंकि 1) यह एक उपकरण का अनुरोध मतदान कर रहा हूँ, और 2) लिंक सभी मर चुके हैं – YvesLeBorg

+0

मैं इसे बंद करने के लिए नहीं है, क्योंकि 1) यह नहीं है मतदान कर रहा हूँ एक उपकरण का अनुरोध करें, और 2) मैंने प्रश्न को बंद करने के लिए मतदान करने के बजाए मृत लिंक को ठीक करने के लिए 2 मिनट बिताए, और अंततः 3) यहां पांच साल बाद मैं एक नए उत्तर में जोड़ने के लिए कुछ विकल्पों के साथ हूं। – TheSoftwareJedi

उत्तर

6

बिग विशाल कोश एपीआई पर एक नज़र डालें:

http://words.bighugelabs.com/api.php

http://blog.programmableweb.com/2008/09/04/big-huge-thesaurus-api-access-145000-words-and-phrases/

उम्मीद है कि इस काम करेंगे .... आप भी WordNet की जांच कर सकते हैं, लेकिन आप एक वेब सेवा करना चाहते हैं आपको अपना खुद का होस्ट करना होगा (लेकिन इसके लिए कोड है!): http://wnws.sourceforge.net/

1

जैसा लगता है कि आप जो खोज रहे हैं वह एक थिसॉरस नहीं है क्योंकि आप समान शब्दों के साथ वैकल्पिक शब्दों की तलाश नहीं कर रहे हैं लेकिन आप वास्तव में शब्दों की तलाश में हैं कि सभी के पास कुछ स्पर्शिक संबंध हैं।

इस अपने आप को आज़माया नहीं लेकिन यह एक अच्छी जगह शुरू करने के लिए हो सकता है

http://www.wait-till-i.com/2008/11/13/yahoo-boss-keyword-extraction-api-wrappers-jsphp/

2

हो सकता है कि Wordnet आप मदद कर सकते हैं: http://wordnet.princeton.edu/

चेहरे में Wordnet एक है अंग्रेजी का बड़ा शब्दावली डेटाबेस, यहां शब्द वैचारिक-अर्थपूर्ण और शब्दावली संबंधों के माध्यम से जुड़े हुए हैं।

0

इसके लिए कोई मजबूत एपीआई ऑनलाइन नहीं है, लेकिन यदि आप महत्वाकांक्षी हैं तो आप इसे स्वयं बना सकते हैं।

1) एक वेब क्रॉलर कि कम से कम एक लाख वेब पृष्ठों क्रॉल कर सकते हैं बनाएँ। एक बार यह उस बिंदु तक पहुंचने के बाद आप इसे रोक सकते हैं। शीर्षक और पाठ से संज्ञा/संज्ञा वाक्यांशों को निकालने के लिए एनएलपी पार्सर का उपयोग करें, और उन्हें लोचदार खोज जैसे खोज सूचकांक में संग्रहित करें। , तब

tags: ["ruby", "rails", "programming", "dev"] 
tags: ["mlb", "baseball", "fans", "stadium", "miguel cabrera"] 

टैग मैदान पर एक आयामी खोज करते हैं:

आईई: खोज अनुक्रमणिका के लिए, एक "टैग" क्षेत्र है कि एक वेब पेज के लिए सभी संज्ञा पद शामिल है। इसलिए यदि आप "एमएलबी" शब्द की खोज करते हैं, तो यह एमएलबी के समान वेब पेज में सबसे लोकप्रिय शब्द लौटाएगा।

0

यदि कोई मौजूदा एपीआई पर्याप्त नहीं है, तो ऐसी कई वेब सेवाएं हैं जो आपको सामग्री को मैश करने और उनके साथ साफ-सुथरा चीजें करने की अनुमति देती हैं, जिनमें सबसे शक्तिशाली YQL है। आप किसी भी वेब पेज से सामग्री निकालने के लिए YQL का उपयोग कर सकते हैं और मूल रूप से इसे अपनी व्यक्तिगत वेब सेवा में बदल सकते हैं।

मान लें कि आप WordNet को संबंधित शब्दों के स्रोत के रूप में उपयोग करना चाहते हैं, और आप जेएसओएन प्रारूप में "ग्रोक" से संबंधित शब्दों की एक सूची प्राप्त करना चाहते हैं।

  1. लुक अप "grok" पर WordNet यूआरएल हड़पने के लिए:

    http://wordnetweb.princeton.edu/perl/webwn?s=grok

  2. तत्व (रों) का निरीक्षण कि (इस मामले में <ul>) संबंधित शब्दों को रोकने के लिए यहाँ है कैसे XPath प्राप्त करें। जवाब में JSON के रूप में निकाली गई सामग्री को स्वरूपित करने

    select * from html where url="http://wordnetweb.princeton.edu/perl/webwn?s=grok" and xpath="//ul"

  3. 'JSON' बटन पर क्लिक:

  4. YQL Console में अपने YQL बयान के निर्माण के लिए जानकारी आप चरण 1-2 में एकत्र हुए का उपयोग करें । वैकल्पिक रूप से, आप डायग्नोस्टिक डेटा को बाहर करने और JSON प्रतिक्रिया के आकार को कम करने के लिए "डायग्नोस्टिक्स" को अनचेक भी कर सकते हैं।

  5. निकाली गई सामग्री का पूर्वावलोकन करने के लिए 'टेस्ट' बटन पर क्लिक करें। आप देखेंगे कि सामग्री जेएसओएन के रूप में स्वरूपित है, वस्तुओं के सरणी में संग्रहीत संबंधित शब्दों के साथ। लौटाया गया डेटा सही नहीं है क्योंकि इसमें कुछ श्वेत शोर भी है (जिस सामग्री की आपको आवश्यकता नहीं है), लेकिन यह काम करने योग्य है।

आप परिणाम से खुश हैं, तो "वेब सेवा" URL "बाकी QUERY" के तहत पृष्ठ के तल पर आप के लिए प्रदान की जाती है। आप इस यूआरएल को अपने $.ajax() कॉल में उपयोग कर सकते हैं - आपको यूआरएल में "ग्रोक" को प्रतिस्थापित करने की ज़रूरत है, जिसे आप देखना चाहते हैं।

नोट: यदि चरण 1 में वेब फॉर्म जीईटी के बजाय POST का उपयोग करता है, तो यह scrape the results of a form POST भी संभव है।

हालांकि, इस दृष्टिकोण के साथ कुछ सीमाएं हैं। मुख्य हैं:

  • यह आपके नियंत्रण से बाहर कुछ पर निर्भर है, जो कभी भी अच्छी बात नहीं है। उदाहरण के लिए, यदि HTML संरचना बदलती है, तो आपकी क्वेरी संभवतः टूट जाएगी।

  • अक्सर बार लौटाए गए जेएसओएन ऑब्जेक्ट की तुलना में अधिक जटिल होगा, आपको सटीक डेटा प्राप्त करने के लिए अतिरिक्त पोस्ट-प्रोसेसिंग तर्क की आवश्यकता होती है।