2011-06-19 8 views
6

मैं से http://www.semantilog.org/wn2sql.htmlWordNet

MySQL में WordNet स्थापित करने कर रहा हूँ मैं प्रिंसटन वेबपेज के रूप में एक ही तरीके से डेटा प्रदर्शित करना चाहते हैं का उपयोग कर एक साधारण शब्दकोश बनाना वो करें? मैं PHP का उपयोग कर रहा हूँ।

+1

आपको प्रारंभ करना चाहिए, – Ibu

+0

@ hakre मुझे लगता है कि शुरू करने का एक अच्छा तरीका प्रिंसटन ऐसा करता है। मुझे Sysnet (अर्थशास्त्री संबंध, आदि) प्रदर्शित करने की जरूरत नहीं है। – Chad

उत्तर

11

जो मैं वेबसाइट पर दस्तावेज़ से एकत्र करता हूं, ऐसा लगता है कि आपको तीन तालिकाओं से पूछने की आवश्यकता है।

सबसे पहले आप यह wordno, एक अद्वितीय संख्या प्रत्येक शब्द है है प्राप्त करने के लिए शब्द तालिका क्वेरी। यह ऐसा कुछ दिखता है।

//assuming you've connected to your MySQL db 
$word=$_GET['s']; //This variable stores the value given through url 
if (ctype_alpha($word)){ // If it's alphabetical 
    $word_clean=mysql_real_escape_string($word); //Sanitize it for MySQL 
}else{ 
    //Not a valid word, error handle 
    exit(); 
} 
$query='SELECT wordno FROM word WHERE lemma=`$word_clean` LIMIT 1'; 
$result=mysql_query($query); 

इसके बाद, हम आदेश synsetno, प्राप्त करने के लिए भावना तालिका क्वेरी करने के लिए की जरूरत है which'll उत्पादन शब्द के विभिन्न होश। उदाहरण के लिए:

$query='SELECT synsetno FROM sense WHERE wordno=`$wordno`'; 

प्रत्येक के लिए परिणाम आपको मिलेगा: (संज्ञा) और (क्रिया) कर सकते हैं, प्रत्येक एक अद्वितीय संख्या है जो की तर्ज पर कुछ synsetno

MySQL क्वेरी हो जाएगा हो सकता है उस क्वेरी से, आपको परिभाषा प्रत्येक अर्थ के प्राप्त करने के लिए आपको synset तालिका से पूछना होगा। कर सकते हैं (संज्ञा) और कर सकते हैं (क्रिया) अलग परिभाषाएं हैं। प्रत्येक synsetno के लिए क्वेरी।

$query='SELECT definition FROM synset WHERE synsetno=`$synset`'; 

और प्रतिष्ठा! आप अपने आप को एक बहुत अच्छा शब्दकोश है। यह सीपीयू पर दर्द है, हालांकि, तीन तालिकाओं से पूछना है, प्रत्येक रिकॉर्ड के एक टन के साथ।

+0

यह मुझे शुरू करने के लिए पर्याप्त है। धन्यवाद! – Chad

+0

क्या आप मुझे बता सकते हैं कि किसी शब्द के लिए उदाहरण वाक्य कैसे प्राप्त करें? – SexyBeast

+0

आप sense.wordno = word.wordno पर synin * शब्द से जुड़ने के अर्थ में शामिल हो सकते हैं। Sense.synsetno = synset.synsetno पर synin जॉइन सिंकसेट शब्द .लेममा 'व्हील' ऑर्डर 'अर्थ' द्वारा। 'tagcnt' DESC' – astroanu