কোনও শব্দ বিদ্যমান আছে কি নেই তা নির্ধারণের জন্য কীভাবে উইকশনারের এপিআই ব্যবহার করা যেতে পারে?
কোনও শব্দ বিদ্যমান আছে কি নেই তা নির্ধারণের জন্য কীভাবে উইকশনারের এপিআই ব্যবহার করা যেতে পারে?
উত্তর:
উইকিঅভিধান এপিআই করুক বা না একটি শব্দ বিদ্যমান ক্যোয়ারী ব্যবহার করা যেতে পারে।
বিদ্যমান এবং অ-বিদ্যমান পৃষ্ঠাগুলির উদাহরণ:
http://en.wiktionary.org/w/api.php?action=query&titles=testhttp://en.wiktionary.org/w/api.php?action=query&titles=testx
প্রথম লিঙ্কটি অন্যান্য ধরণের ফর্ম্যাটের উদাহরণ দেয় যা পার্স করা আরও সহজ হতে পারে।
একটি ছোট এক্সএইচটিএমএল ফর্ম্যাটে শব্দের ডেটা পুনরুদ্ধার করতে (অস্তিত্বের চেয়ে বেশি হওয়া দরকার) পৃষ্ঠার মুদ্রণযোগ্য সংস্করণটির জন্য অনুরোধ করুন:
http://en.wiktionary.org/w/index.php?title=test&printable=yeshttp://en.wiktionary.org/w/index.php?title=testx&printable=yes
এরপরে যে কোনও স্ট্যান্ডার্ড এক্সএমএল পার্সার দিয়ে পার্স করা যায়।
https://en.wiktionary.org/w/?curid=[page_id]&printable=yesকরে এক্সএইচটিএমএল পৃষ্ঠায় পুনর্নির্দেশ করতে pageid।
উইকিশনির একটি পৃষ্ঠার নাম যা আপনি সন্ধান করছেন তা কেবল যাচাই করার জন্য কয়েকটি সাবধানতা রয়েছে:
ক্যাভ্যাট # 1 : ইংরাজী উইকিউশনারি সহ সমস্ত উইকিশনির প্রকৃত পক্ষে প্রতিটি ভাষার প্রতিটি শব্দকে অন্তর্ভুক্ত করার লক্ষ্য রয়েছে, সুতরাং আপনি কেবলমাত্র উপরের এপিআই কল ব্যবহার করলে আপনি জানতে পারবেন যে আপনি যে শব্দটির বিষয়ে জিজ্ঞাসা করছেন তা কমপক্ষে একটি ভাষায় একটি শব্দ, তবে অগত্যা ইংরেজি: http://en.wiktionary.org/w/api.php?action=query&titles=dicare
ক্যাভেট # 2 : সম্ভবত একটি শব্দ থেকে অন্য শব্দের পুনর্নির্দেশের উপস্থিতি রয়েছে। এটি কোনও বিকল্প বানান থেকে হতে পারে তবে এটি কোনওরকমের ত্রুটি থেকে হতে পারে। উপরের এপিআই কলটি কোনও পুনঃনির্দেশ এবং নিবন্ধের মধ্যে পার্থক্য করবে না: http://en.wiktionary.org/w/api.php?action=query&titles=profilemetry
গুগল # 3 : ইংরাজী উইকিউশনারি সহ কয়েকটি উইকিশিয়ায় "সাধারণ ভুল বানান" অন্তর্ভুক্ত রয়েছে: http://en.wiktionary.org/w/api.php?action=query&titles=fourty
ক্যাভেট # 4 : কিছু উইকিশন স্ট্রি এনট্রিগুলিকে মঞ্জুরি দেয় যা শব্দটি সম্পর্কে খুব কম বা কোনও তথ্য নেই। এটি বেশ কয়েকটি উইকিশারিতে সাধারণ ছিল তবে ইংরেজি উইকিউশনারি নয়। তবে এটি এখন ইংরাজী উইকিউশনারিতেও ছড়িয়ে পড়েছে বলে মনে হয়: https://en.wiktionary.org/wiki/%E6%99%B6%E7%90%83 (স্টাবটি ভরাট হওয়ার জন্য পারমালিঙ্ক যাতে আপনি এখনও দেখতে পারেন স্টাবটি দেখতে কেমন: https://en.wiktionary.org/w/index.php?title=%E6%99%B6%E7%90%83&oldid=39757161 )
আপনি যদি যা চান তার মধ্যে এটি অন্তর্ভুক্ত না করা হয়, আপনাকে উইকাইটেক্সট নিজেই লোড করে এবং পার্স করতে হবে, এটি একটি তুচ্ছ কাজ নয়।
&prop=infoক্যোয়ারীতে যুক্ত করুন এবং গুণকের জন্য প্রতিক্রিয়াটি পরীক্ষা করুন redirect।
আপনি উইকিউশনারি ডেটার ডাম্প ডাউনলোড করতে পারেন । এফএকিউ- তে আরও তথ্য রয়েছে । আপনার উদ্দেশ্যে, সংজ্ঞা ডাম্প সম্ভবত এক্সএমএল ডাম্পের চেয়ে ভাল পছন্দ।
এটি সত্যিই সহজ রাখতে, ডাম্প থেকে শব্দগুলি এর মতো বের করুন:
bzcat pages-articles.xml.bz2 | grep '<title>[^[:space:][:punct:]]*</title>' | sed 's:.*<title>\(.*\)</title>.*:\1:' > words
আপনি পাইথন ব্যবহার করে থাকেন, আপনি ব্যবহার করতে পারেন WiktionaryParser Suyash Behera দ্বারা।
আপনি এটি দ্বারা ইনস্টল করতে পারেন
sudo pip install wiktionaryparser
ব্যবহারের উদাহরণ:
>>> from wiktionaryparser import WiktionaryParser
>>> parser = WiktionaryParser()
>>> word = parser.fetch('test')
>>> another_word = parser.fetch('test', 'french')
>>> parser.set_default_language('french')
আপনি JWKTL চেষ্টা করে দেখতে পারেন। আমি সবেমাত্র এটি সম্পর্কে জানতে পেরেছি;)
http://en.wikedia.org/wiki/Ubiquitous_ জ্ঞান_প্রক্রিয়া_ল্যাব# উইকশনারি_এপিআই
যেমনটি আগেই উল্লেখ করা হয়েছে, এই পদ্ধতির সাথে সমস্যাটি হ'ল উইকিশনারি সমস্ত ভাষার সমস্ত শব্দ সম্পর্কে তথ্য সরবরাহ করে । সুতরাং উইকিপিডিয়া এপিআই ব্যবহার করে কোনও পৃষ্ঠা বিদ্যমান কিনা তা খতিয়ে দেখার পদ্ধতির কাজ হবে না কারণ অ-ইংরেজি শব্দগুলির জন্য প্রচুর পৃষ্ঠা রয়েছে। এ থেকে উত্তরণের জন্য, আপনার প্রতিটি পৃষ্ঠার শংসাপত্র তৈরি করতে হবে যা ইংরেজী শব্দের বর্ণনায় বর্ণিত একটি বিভাগ আছে কিনা তা খুঁজে বের করতে । উইকিটেক্সট পার্স করা তুচ্ছ কাজ নয় যদিও আপনার ক্ষেত্রে এটি এতটা খারাপ নয়। প্রায় সমস্ত ক্ষেত্রে কভার করতে আপনার কেবল উইকিটেক্সটে Englishশিরোনাম রয়েছে কিনা তা পরীক্ষা করে দেখতে হবে । আপনি যে প্রোগ্রামিং ল্যাঙ্গুয়েজটি ব্যবহার করেন তার উপর নির্ভর করে আপনি উইকাইটেক্সট থেকে এএসটি তৈরির জন্য কিছু সরঞ্জাম খুঁজে পেতে পারেন । এটি বেশিরভাগ কেসকে কভার করবে তবে এগুলির সবকটিই নয় কারণ উইকশনারিতে কিছু সাধারণ ভুল বানান রয়েছে।
বিকল্প হিসাবে, আপনি লিংগুয়া রোবট বা অনুরূপ কিছু ব্যবহার করার চেষ্টা করতে পারেন । লিংগুয়া রোবট উইকশনারি সামগ্রীটি বিশ্লেষণ করে এটি একটি REST এপিআই হিসাবে সরবরাহ করে। খালি খালি প্রতিক্রিয়ার অর্থ শব্দটি বিদ্যমান। দয়া করে নোট করুন, উইকশনারিটির বিপরীতে, এপিআই নিজেই কোনও ভুল বানান অন্তর্ভুক্ত করে না (অন্তত এই উত্তরটি লেখার মুহুর্তে)। দয়া করে নোট করুন যে উইকিউশনারিটিতে কেবল শব্দগুলিই নয়, বহু-শব্দের এক্সপ্রেশন রয়েছে।
আপনি সংশোধনগুলি API ব্যবহার করতে পারেন:
বা পার্স এপিআই:
https://en.wiktionary.org/w/api.php?action=parse&page=test&prop=wikitext&formatversion=2
আরও দস্তাবেজগুলিতে উদাহরণ সরবরাহ করা হয়েছে ।
এখানে ব্যুৎপত্তি এবং উচ্চারণের ডেটা পার্স করার একটি সূচনা:
function parsePronunciationLine(line) {
let val
let type
line.replace(/\{\{\s*a\s*\|UK\s*\}\}\s*\{\{IPA\|\/?([^\/\|]+)\/?\|lang=en\}\}/, (_, $1) => {
val = $1
type = 'uk'
})
line.replace(/\{\{\s*a\s*\|US\s*\}\}\s*\{\{IPA\|\/?([^\/\|]+)\/?\|lang=en\}\}/, (_, $1) => {
val = $1
type = 'us'
})
line.replace(/\{\{enPR|[^\}]+\}\},?\s*\{\{IPA\|\/?([^\/\|]+)\/?\|lang=en}}/, (_, $1) => {
val = $1
type = 'us'
})
line.replace(/\{\{a|GA\}\},?\s*\{\{IPA\|\/?([^\/\|]+)\/?\|lang=en}}/, (_, $1) => {
val = $1
type = 'ga'
})
line.replace(/\{\{a|GA\}\},?.+\{\{IPA\|\/?([^\/\|]+)\/?\|lang=en}}/, (_, $1) => {
val = $1
type = 'ga'
})
// {{a|GA}} {{IPA|/ˈhæpi/|lang=en}}
// * {{a|RP}} {{IPA|/pliːz/|lang=en}}
// * {{a|GA}} {{enPR|plēz}}, {{IPA|/pliz/|[pʰliz]|lang=en}}
if (!val) return
return { val, type }
}
function parseEtymologyPiece(piece) {
let parts = piece.split('|')
parts.shift() // first one is ignored.
let ls = []
if (langs[parts[0]]) {
ls.push(parts.shift())
}
if (langs[parts[0]]) {
ls.push(parts.shift())
}
let l = ls.pop()
let t = parts.shift()
return [ l, t ]
// {{inh|en|enm|poisoun}}
// {{m|enm|poyson}}
// {{der|en|la|pōtio|pōtio, pōtiōnis|t=drink, a draught, a poisonous draught, a potion}}
// {{m|la|pōtō|t=I drink}}
// {{der|en|enm|happy||fortunate, happy}}
// {{cog|is|heppinn||lucky}}
}
আপডেট : এখানে একটি সারকথা সঙ্গে এটি আরো জানুন fleshed হয়।
langs?
langsকয়েক হাজার লাইন, এসও এর পক্ষে খুব বড়।