വാക്യം-ടു-ഫിൽട്ടർ മാപ്പിംഗുകൾ: ഉൽപ്പന്ന ഫിൽട്ടറുകൾക്കായുള്ള സെമാന്റിക് തിരയൽ
ഞങ്ങളുടെ ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ സിസ്റ്റത്തെ പ്രവർത്തിപ്പിക്കുന്ന വാക്യം-ടു-ഫിൽട്ടർ മാപ്പിംഗുകൾ എങ്ങനെ സൃഷ്ടിക്കുകയും വികസിപ്പിക്കുകയും ചെയ്യുന്നു എന്ന് ഈ ലേഖനം വിശദീകരിക്കുന്നു. ഈ മാപ്പിംഗുകൾ തിരയൽ ക്വറികളിൽ നിന്നുള്ള സ്വാഭാവിക ഭാഷാ വാക്യങ്ങളെ ഘടനാപരമായ ഉൽപ്പന്ന ഫിൽട്ടറുകളുമായി ബന്ധിപ്പിക്കുന്നു.
പ്രശ്നം: സ്വാഭാവിക ഭാഷയിൽ നിന്ന് ഫിൽട്ടറുകൾ വേർതിരിച്ചെടുക്കൽ
ഉപയോക്താക്കൾ "mini pc with 16gb ram" എന്ന് തിരയുമ്പോൾ, നമുക്ക് ഇവ വേർതിരിച്ചെടുക്കേണ്ടതുണ്ട്:
-
ഫോം ഫാക്ടർ: മിനി പിസി
-
മെയിൻ മെമ്മറി: 16
എന്നാൽ ഉപയോക്താക്കൾ ഒരേ ഉദ്ദേശ്യം പല വിധത്തിൽ പ്രകടിപ്പിക്കുന്നു:
-
"16gb ram mini pc"
-
"mini computer 16 gb memory"
-
"small pc 16gb"
-
"compact desktop with 16 gigs"
ഈ വാക്യ വ്യത്യാസങ്ങളെല്ലാം ശരിയായ ഫിൽട്ടർ മൂല്യങ്ങളിലേക്ക് മാപ്പ് ചെയ്യുന്ന ഒരു സിസ്റ്റം നമുക്ക് ആവശ്യമാണ്.
രണ്ട്-ഘട്ട പ്രക്രിയ
ഞങ്ങൾ വാക്യ മാപ്പിംഗുകൾ രണ്ട് ഘട്ടങ്ങളായി സൃഷ്ടിക്കുന്നു:
- ഘട്ടം 3a: പെർമ്യൂട്ടേഷനുകളും ഫീച്ചർ-നിർദ്ദിഷ്ട നിയമങ്ങളും ഉപയോഗിച്ച് ഉൽപ്പന്ന സവിശേഷതകളിൽ നിന്ന് അടിസ്ഥാന വാക്യങ്ങൾ സൃഷ്ടിക്കുക
- ഘട്ടം 4: എംബെഡിംഗുകൾ ഉപയോഗിച്ച് സെമാന്റിക് സാമ്യത വഴി വികസിപ്പിക്കുക
ഈ ഹൈബ്രിഡ് സമീപനം നിയമ-അധിഷ്ഠിത കൃത്യതയെ സെമാന്റിക് വഴക്കവുമായി സംയോജിപ്പിക്കുന്നു.
ഘട്ടം 3a: അടിസ്ഥാന വാക്യ നിർമ്മാണം
ഫീച്ചർ മെറ്റാഡാറ്റ
ഓരോ ഉൽപ്പന്ന സവിശേഷതയ്ക്കും ഫീച്ചർ സീക്വൻസിൽ മെറ്റാഡാറ്റ ഉണ്ട്:
-
ഹെഡ്ഡിംഗ്: വിഭാഗത്തിന്റെ പേര് (ഉദാ., പ്രോസസ്സർ സവിശേഷതകൾക്ക് "Processing")
-
യൂണിറ്റ്: അളവെടുപ്പ് യൂണിറ്റ് (ഉദാ., മെമ്മറിക്ക് "GB", ഫ്രീക്വൻസിക്ക് "GHz")
ഈ മെറ്റാഡാറ്റ വാക്യ നിർമ്മാണത്തെ നയിക്കുന്നു.
പെർമ്യൂട്ടേഷൻ-അധിഷ്ഠിത നിർമ്മാണം
ഓരോ ഫീച്ചർ മൂല്യത്തിനും, ഞങ്ങൾ ഇവയുടെ എല്ലാ പെർമ്യൂട്ടേഷനുകളും സൃഷ്ടിക്കുന്നു:
-
ഹെഡ്ഡിംഗ്: "processor"
-
ഫീച്ചർ കീ: "series"
-
മൂല്യം: "i5"
-
യൂണിറ്റ്: (സീരീസിന് ഒന്നുമില്ല)
ഇത് ഇവ സൃഷ്ടിക്കുന്നു:
-
"processor series i5"
-
"series processor i5"
-
"i5 processor series"
-
"i5 series processor"
-
"processor i5"
-
"series i5"
-
"i5"
എല്ലാ പെർമ്യൂട്ടേഷനുകളും വാക്ക് ക്രമം പരിഗണിക്കാതെ ക്വറികളുമായി ഞങ്ങൾ പൊരുത്തപ്പെടുന്നുവെന്ന് ഉറപ്പാക്കുന്നു.
മൂല്യം + യൂണിറ്റ് കോമ്പിനേഷനുകൾ
യൂണിറ്റുകളുള്ള സവിശേഷതകൾക്കായി (മെമ്മറി, സ്റ്റോറേജ്, ഫ്രീക്വൻസി), ഞങ്ങൾ സ്പേസ്ഡ്, നോൺ-സ്പേസ്ഡ് വകഭേദങ്ങൾ സൃഷ്ടിക്കുന്നു:
-
"16 gb" (സ്പേസുള്ളത്)
-
"16gb" (സ്പേസ് ഇല്ലാത്തത്)
ഇവ മറ്റ് ഘടകങ്ങളുമായി സംയോജിക്കുന്നു:
-
"16gb ram"
-
"ram 16gb"
-
"processor 16gb"
പോർട്ട് സഫിക്സ് നിയമങ്ങൾ
കണക്റ്റിവിറ്റി സവിശേഷതകൾക്കായി (USB, HDMI, DisplayPort), ഞങ്ങൾ പോർട്ട് സഫിക്സുകൾ ചേർക്കുന്നു:
-
"usb port"
-
"usb ports"
-
"2 usb ports"
-
"hdmi port"
ഇത് "mini pc with 2 hdmi ports" പോലുള്ള ക്വറികളുമായി പൊരുത്തപ്പെടുന്നു.
ഫീച്ചർ-നിർദ്ദിഷ്ട നിയമങ്ങൾ
ഓരോ ഫീച്ചർ തരത്തിനും ഇഷ്ടാനുസൃത വാക്യ നിർമ്മാണം ഉണ്ട്:
പ്രോസസ്സർ സീരീസ് (i3, i5, N-series):
-
കോർ പ്രോസസ്സർ പദവികൾ വകഭേദങ്ങൾ സൃഷ്ടിക്കുന്നു: നിർമ്മാതാവിന്റെ പേര്, കോർ ബ്രാൻഡ്, സംയോജിത രൂപങ്ങൾ
-
N-സീരീസ് പ്രോസസ്സറുകൾ (N100, മുതലായവ) സമാനമായ പാറ്റേൺ കോമ്പിനേഷനുകൾ സൃഷ്ടിക്കുന്നു
-
ഓരോന്നും "processor" എന്നതിനൊപ്പം ഒന്നിലധികം പെർമ്യൂട്ടേഷനുകൾ സൃഷ്ടിക്കുന്നു
മെയിൻ മെമ്മറി:
-
സംഖ്യാ മൂല്യങ്ങൾ സ്പേസ്ഡ്, നോൺ-സ്പേസ്ഡ് GB വകഭേദങ്ങൾ സൃഷ്ടിക്കുന്നു ("16gb","16 gb")
-
"ram", "memory" ക്വാളിഫയറുകൾ യാന്ത്രികമായി ചേർക്കുന്നു ("16gb memory","16 gb ram")
SSD സ്റ്റോറേജ്:
-
സംഖ്യാ മൂല്യങ്ങൾ GB വകഭേദങ്ങൾ സൃഷ്ടിക്കുന്നു ("512gb", "512 gb")
-
≥ 1024 മൂല്യങ്ങൾക്ക് TB വകഭേദങ്ങൾ യാന്ത്രികമായി സൃഷ്ടിക്കുന്നു (ഉദാ., 1024GB → 1TB)
-
"ssd", "storage" ക്വാളിഫയറുകൾ യാന്ത്രികമായി ചേർക്കുന്നു ("512gb ssd", "512 gb storage")
ഫോം ഫാക്ടർ:
-
മിനി പിസി → നോൺ-സ്പേസ്ഡ് രൂപം ഉൾപ്പെടെ ഒന്നിലധികം വകഭേദങ്ങൾ
-
ഓൾ-ഇൻ-വൺ → "all in one", "aio", ചുരുക്കിയ രൂപങ്ങൾ
-
തിൻ ക്ലയന്റ് → സ്പേസിംഗ് ഉള്ള/ഇല്ലാത്ത വകഭേദങ്ങൾ
-
ഇൻഡസ്ട്രിയൽ പിസി → ചുരുക്കിയതും പൂർണ്ണവുമായ രൂപങ്ങൾ
ജനറേഷൻ:
- സംഖ്യാ ജനറേഷൻ മൂല്യങ്ങൾ ഇങ്ങനെയാകുന്നു: "12th gen", "12th generation", "gen 12"
കോറുകൾ:
-
2 → "dual core"
-
4 → "quad core"
-
6 → "hexa core"
-
8 → "octa core"
-
എല്ലാം "[n] core processor" വകഭേദങ്ങൾ സൃഷ്ടിക്കുന്നു
ഈഥർനെറ്റ്:
-
"1000" → ["gigabit ethernet", "gbe", "1gbps"]
-
"2500" → ["2.5gbe", "2.5 gigabit", "2.5gbps"]
ഓപ്പറേറ്റിംഗ് സിസ്റ്റം:
-
"Windows 11" → ["windows", "windows 11", "win 11"]
-
"Ubuntu" → ["linux", "ubuntu"]
-
"FreeDOS" → ["freedos", "no os", "without os"]
സ്റ്റാൻഡ്-അലോൺ മൂല്യങ്ങൾക്കുള്ള വൈറ്റ്ലിസ്റ്റ്
തെറ്റായ പൊരുത്തങ്ങൾ തടയാൻ ചില നിർദ്ദിഷ്ട സവിശേഷതകൾ മാത്രമേ സ്റ്റാൻഡ്-അലോൺ മൂല്യ പൊരുത്തം അനുവദിക്കൂ:
-
സീരീസ്: "i3", "i5", "N100" (എന്നാൽ ഒറ്റ അക്ഷരങ്ങളല്ല)
-
പ്രോസസ്സർ മോഡൽ: "N100", "1335U"
-
ഓപ്പറേറ്റിംഗ് സിസ്റ്റം: "Windows", "Linux", "Ubuntu"
-
ജനറേഷൻ: "12th", "13th", "14th"
-
പ്രോസസ്സർ ബ്രാൻഡ്: "Intel", "ARM"
ഉദാഹരണത്തിന്, ക്വറി "2 hdmi ports" ആയിരിക്കുമ്പോൾ "2" എന്നത് "2 cores" എന്നതുമായി പൊരുത്തപ്പെടരുത്. ലെങ്ത് പരിശോധന ഒറ്റ അക്ഷരങ്ങളോ വളരെ ചെറിയ അവ്യക്തമായ മൂല്യങ്ങളോ സ്റ്റാൻഡ്-അലോൺ ആയി പൊരുത്തപ്പെടുന്നത് തടയുന്നു. ഈഥർനെറ്റ് അല്ലെങ്കിൽ പോർട്ടുകൾ പോലുള്ള വ്യക്തമായ യൂണിറ്റ് ഘടകങ്ങളുള്ള സവിശേഷതകൾ, അവയുടെ യൂണിറ്റിനൊപ്പം യോഗ്യത നേടുമ്പോൾ മാത്രമേ സ്റ്റാൻഡ്-അലോൺ കോമ്പിനേഷനുകൾ സൃഷ്ടിക്കൂ.
കൊളിഷൻ തടയൽ
മെമ്മറി, സ്റ്റോറേജ് മൂല്യങ്ങൾ ഓവർലാപ്പ് ചെയ്യുന്നു (രണ്ടിനും 64, 128, 256 മുതലായവയുണ്ട്). ഘട്ടം 4 വ്യക്തത വരുത്താൻ മൂല്യ-പരിധി നിയമങ്ങൾ നടപ്പിലാക്കുന്നു:
-
≤ 64 GB: മെയിൻ മെമ്മറി (RAM)
-
≥ 128 GB: SSD സ്റ്റോറേജ്
-
65-127 GB ശ്രേണി: ഒഴിവാക്കി (അവ്യക്തം)
വ്യക്തമായ ക്വാളിഫയറുകളുള്ള ("ram"/"memory" അല്ലെങ്കിൽ "ssd"/"storage") വാക്യങ്ങൾ ഈ നിയമത്തെ അസാധുവാക്കുകയും ഏത് മൂല്യവുമായി പൊരുത്തപ്പെടുകയും ചെയ്യാം.
കൂടാതെ, വളരെയധികം ബന്ധമില്ലാത്ത ഫിൽട്ടറുകളുമായി പൊരുത്തപ്പെടുന്ന അവ്യക്തമായ പൊതു പദങ്ങൾ പോസ്റ്റ്-പ്രോസസ്സിംഗ് വഴി കൊളിഷൻ റെസല്യൂഷൻ സമയത്ത് ഒഴിവാക്കുന്നു: "connectivity", "audio", "display", "processor", "physical" പോലുള്ള പദങ്ങൾ ഒന്നിലധികം വശങ്ങളിലുടനീളം വളരെയധികം അവ്യക്തത സൃഷ്ടിക്കുന്നു.
ഘട്ടം 4: സെമാന്റിക് വികാസം
N-ഗ്രാം എക്സ്ട്രാക്ഷൻ
യഥാർത്ഥ തിരയൽ ക്വറികളിൽ നിന്ന് ഇടയ്ക്കിടെ വരുന്ന വാക്യങ്ങൾ ഞങ്ങൾ വേർതിരിച്ചെടുക്കുന്നു, ഒറ്റ വാക്കുകൾ (1-ഗ്രാമുകൾ "mini" പോലുള്ളവ) മുതൽ നീളമുള്ള സീക്വൻസുകൾ വരെ (6-ഗ്രാമുകൾ "mini pc with 16gb ram ssd" പോലുള്ളവ). കുറഞ്ഞത് 3 തവണയെങ്കിലും ദൃശ്യമാകുന്ന വാക്യങ്ങൾ മാത്രം നിലനിർത്തുന്നു. ഈ ഫിൽട്ടറിംഗ് സമീപനം യഥാർത്ഥ ഉപയോക്തൃ ഭാഷാ രീതികൾ സംരക്ഷിക്കുന്നതോടൊപ്പം ശബ്ദം കുറയ്ക്കുന്നു.
ഫിൽട്ടർ തിരയൽ വാചക നിർമ്മാണം
ഓരോ ഫിൽട്ടർ മൂല്യത്തിനും, ഞങ്ങൾ തിരയൽ വാചകങ്ങൾ സൃഷ്ടിക്കുന്നു:
മെയിൻ മെമ്മറി: 16:
-
"16gb ram memory"
-
"16 main memory"
-
"main memory 16"
SSD സ്റ്റോറേജ്: 512:
-
"512gb storage ssd"
-
"512 ssd storage"
-
"ssd storage 512"
ഈ തിരയൽ വാചകങ്ങൾ എംബെഡിംഗ് സ്പേസിൽ ഫിൽട്ടറിനെ പ്രതിനിധീകരിക്കുന്നു.
എംബെഡിംഗും പൊരുത്തപ്പെടുത്തലും
ഞങ്ങൾ ക്വറി വാക്യങ്ങളെയും ഫിൽട്ടർ തിരയൽ വാചകങ്ങളെയും എംബെഡിംഗുകളാക്കി മാറ്റുന്നു, തുടർന്ന് അവ തമ്മിലുള്ള കോസൈൻ സാമ്യത കണക്കാക്കുന്നു. കോൺഫിഗർ ചെയ്ത പരിധിക്ക് മുകളിലുള്ള സാമ്യത സ്കോറുകളുള്ള വാക്യങ്ങൾ ആ ഫിൽട്ടറിന്റെ മാപ്പിംഗിലേക്ക് ചേർക്കുന്നു.
മാനുവൽ സീഡ് വാക്യങ്ങൾ
വികാസത്തിന് മുമ്പ് ഞങ്ങൾ ഉയർന്ന ആത്മവിശ്വാസമുള്ള മാനുവൽ സീഡുകൾ കുത്തിവയ്ക്കുന്നു:
"Series:i5": [
"i5",
"core i5",
"intel i5",
"intel core i5",
"i5 processor",
"cpu i5",
]
ഈ സീഡുകൾ ഓരോ ഫിൽട്ടറിനും ശരിയാണെന്ന് ഞങ്ങൾക്കറിയാവുന്ന പ്രധാന വാക്യങ്ങളെ പ്രതിനിധീകരിക്കുന്നു. പരമാവധി സാമ്യത സ്കോറുകളോടെ അവ ഉൾപ്പെടുത്തുന്നതിലൂടെ, സമാനമായ അർത്ഥങ്ങളുള്ള ബന്ധപ്പെട്ട വാക്യങ്ങൾ കണ്ടെത്താൻ അവ വികാസ അൽഗോരിതത്തെ നയിക്കുന്നു. ഈ സീഡുകൾക്ക് എല്ലായ്പ്പോഴും സാമ്യത 1.0 ലഭിക്കുകയും വികാസത്തെ നയിക്കുകയും ചെയ്യുന്നു.
ഇൻക്രിമെന്റൽ എംബെഡിംഗ്
വാക്യങ്ങൾക്കും ഫിൽട്ടർ തിരയൽ വാചകങ്ങൾക്കുമായി ഞങ്ങൾ എംബെഡിംഗുകൾ കാഷെ ചെയ്യുന്നു. പുതിയ ക്വറികൾ വരുമ്പോൾ:
- നിലവിലുള്ള എംബെഡിംഗുകൾ ലോഡ് ചെയ്യുക
- പുതിയ വാക്യങ്ങൾ മാത്രം എംബെഡ് ചെയ്യുക
- കാഷെയിൽ ചേർക്കുക
ഇത് മാറ്റമില്ലാത്ത ഡാറ്റ വീണ്ടും എംബെഡ് ചെയ്യുന്നത് ഒഴിവാക്കുന്നു. വിശദാംശങ്ങൾക്ക് എംബെഡിംഗ് സ്ട്രാറ്റജി കാണുക.
കൊളിഷൻ റെസല്യൂഷൻ
സാമ്യത പൊരുത്തപ്പെടുത്തൽ പൂർത്തിയായ ശേഷം, മെമ്മറി, സ്റ്റോറേജ് ഫിൽട്ടറുകൾ തമ്മിലുള്ള കൊളിഷനുകൾ ഞങ്ങൾ പരിഹരിക്കുന്നു:
നമ്പർ-അധിഷ്ഠിത വ്യക്തത:
-
നമ്പറുകൾ അടങ്ങിയ അവ്യക്തമായ വാക്യങ്ങൾക്ക്: വാക്യത്തിന് ≤ 64 മൂല്യമുണ്ടെങ്കിൽ, മെമ്മറിക്ക് മാത്രം സൂക്ഷിക്കുക; > 64 ആണെങ്കിൽ, സ്റ്റോറേജിന് മാത്രം സൂക്ഷിക്കുക
-
ഇത് "16gb" SSD സ്റ്റോറേജ് ഫിൽട്ടറുകളുമായും "512gb" മെമ്മറി ഫിൽട്ടറുകളുമായും പൊരുത്തപ്പെടുന്നത് തടയുന്നു
വ്യക്തമായ ക്വാളിഫയറുകൾ നിയമങ്ങളെ അസാധുവാക്കുന്നു:
-
"ram", "memory", "cpu", "processor" കീവേഡുകളുള്ള വാക്യങ്ങൾ → മെമ്മറി മാത്രം
-
"ssd", "storage", "disk", "nvme", "drive" കീവേഡുകളുള്ള വാക്യങ്ങൾ → സ്റ്റോറേജ് മാത്രം
-
ഉദാഹരണം: "processor 8gb" സംഖ്യാ ആണെങ്കിലും മെമ്മറിയിലേക്ക് മാപ്പ് ചെയ്യുന്നു
അവ്യക്തമായ പദങ്ങൾ:
- ഒന്നിലധികം ബന്ധമില്ലാത്ത ഫിൽട്ടറുകളുമായി പൊരുത്തപ്പെടുന്ന "connectivity", "audio", "display" പോലുള്ള വാക്യങ്ങൾ ഒഴിവാക്കുക
ഔട്ട്പുട്ട് ഫോർമാറ്റ്
അന്തിമ മാപ്പിംഗുകൾ സാമ്യത അനുസരിച്ച് (ഏറ്റവും ഉയർന്നത് ആദ്യം), തുടർന്ന് നീളം അനുസരിച്ച് (ഏറ്റവും ചെറുത് ആദ്യം) അടുക്കുന്നു:
{
"Main Memory:16": [
{"phrase": "16gb ram", "similarity": 1.0},
# ... (നിർവ്വഹണ വിശദാംശങ്ങൾ ഒഴിവാക്കി)
ഫിൽട്ടർ എക്സ്ട്രാക്ഷനുമായുള്ള സംയോജനം
ഈ മാപ്പിംഗുകൾ ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ അൽഗോരിതത്തെ പ്രവർത്തിപ്പിക്കുന്നു:
- ക്വറി വരുന്നു: "mini pc with 16gb ram"
- വാക്യങ്ങൾ വേർതിരിച്ചെടുക്കുക: ["mini pc", "16gb ram", "mini", "pc", "16gb", "ram"]
- മാപ്പിംഗുകൾ ഉപയോഗിച്ച് വാക്യങ്ങളെ ഫിൽട്ടറുകളുമായി പൊരുത്തപ്പെടുത്തുക
- ഫിൽട്ടറുകൾ തിരികെ നൽകുക:
{"Form Factor": ["Mini PC"], "Main Memory": ["16"]}
വിശദാംശങ്ങൾക്ക് ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ അൽഗോരിതം കാണുക.
സംഭരണവും വിതരണവും
വാക്യ മാപ്പിംഗുകൾ JSON ഫയലുകളായി സംഭരിക്കപ്പെടുകയും സിസ്റ്റത്തിലുടനീളം ഉപയോഗിക്കുകയും ചെയ്യുന്നു:
-
അടിസ്ഥാന മാപ്പിംഗ് ഫയൽ: ഘട്ടം 3a-യിൽ സൃഷ്ടിച്ചത്, നിയമ-അധിഷ്ഠിത വാക്യങ്ങൾ അടങ്ങിയിരിക്കുന്നു
-
വികസിപ്പിച്ച മാപ്പിംഗ് ഫയൽ: ഘട്ടം 4-ൽ സൃഷ്ടിച്ചത്, സെമാന്റിക് വികാസ ഫലങ്ങൾ അടങ്ങിയിരിക്കുന്നു
വികസിപ്പിച്ച മാപ്പിംഗുകൾ ഇവ ഉപയോഗിക്കുന്നു:
-
ക്വറി പേജ് നിർമ്മാണം: ക്വറി വാചകത്തിൽ നിന്ന് ഫിൽട്ടറുകൾ വേർതിരിച്ചെടുക്കുക
-
തിരയൽ സേവനം: തത്സമയ ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ API
-
ഉൽപ്പന്ന പൊരുത്തപ്പെടുത്തൽ: വേർതിരിച്ചെടുത്ത ഫിൽട്ടറുകൾ ഉപയോഗിച്ച് ഉൽപ്പന്നങ്ങൾ ഫിൽട്ടർ ചെയ്യുക
പ്രകടന സവിശേഷതകൾ
അടിസ്ഥാന നിർമ്മാണം (ഘട്ടം 3a):
-
പ്രോസസ്സിംഗ് സമയം ഫിൽട്ടർ മൂല്യങ്ങളുടെ എണ്ണത്തിനനുസരിച്ച് വർദ്ധിക്കുന്നു
-
വലിയ തോതിലുള്ള അടിസ്ഥാന വാക്യ വകഭേദങ്ങൾ സൃഷ്ടിക്കുന്നു
-
നിർമ്മാണ സമയത്ത് മെമ്മറി ഉപയോഗം മിതമായി തുടരുന്നു
സെമാന്റിക് വികാസം (ഘട്ടം 4):
-
പ്രോസസ്സിംഗ് സമയം ക്വറി അളവും എംബെഡിംഗ് വലുപ്പവും അനുസരിച്ച് വർദ്ധിക്കുന്നു
-
ഔട്ട്പുട്ടിൽ അടിസ്ഥാന നിർമ്മാണത്തേക്കാൾ ഗണ്യമായി കൂടുതൽ വാക്യങ്ങൾ അടങ്ങിയിരിക്കുന്നു
-
എംബെഡിംഗുകളുടെ സംഭരണം കാരണം മെമ്മറി ആവശ്യകതകൾ വർദ്ധിക്കുന്നു
സാമ്യത കണക്കുകൂട്ടൽ കാരണം വികാസം CPU-ബദ്ധമാണ്. BLAS ത്വരിതപ്പെടുത്തലോടുകൂടിയ NumPy ഉപയോഗിക്കുന്നത് മാട്രിക്സ് പ്രവർത്തനങ്ങളെ ഗണ്യമായി വേഗത്തിലാക്കുന്നു.
SEO പൈപ്പ്ലൈനുമായുള്ള സംയോജനം
വാക്യ മാപ്പിംഗ് നിർമ്മാണം SEO പൈപ്പ്ലൈനിലെ ഘട്ടങ്ങൾ 3a ഉം 4 ഉം ആണ്:
- ഘട്ടം 0: ഉറവിട ഡാറ്റ എംബെഡ് ചെയ്യുക - ഉൽപ്പന്നങ്ങൾ, ഭാഗങ്ങൾ, ലേഖനങ്ങൾ
- ഘട്ടം 1: ക്വറികൾ ഫെച്ച് ചെയ്യുക - GSC, Google Ads, തത്സമയം, Algolia
- ഘട്ടം 2: ക്വറികൾ സംയോജിപ്പിക്കുക - എല്ലാ ഉറവിടങ്ങളും ലയിപ്പിക്കുക
- ഘട്ടം 3a: അടിസ്ഥാന വാക്യ മാപ്പിംഗുകൾ സൃഷ്ടിക്കുക ← നിങ്ങൾ ഇവിടെയാണ്
- ഘട്ടം 3b: ക്വറികൾ എംബെഡ് ചെയ്യുക - വെക്റ്ററുകളാക്കി മാറ്റുക
- ഘട്ടം 4: വാക്യ മാപ്പിംഗുകൾ വികസിപ്പിക്കുക ← നിങ്ങൾ ഇവിടെയാണ്
- ഘട്ടം 5: ക്വറികൾ ക്ലസ്റ്റർ ചെയ്യുക - പേജുകളായി ഗ്രൂപ്പുചെയ്യുക
- ഘട്ടം 6: ഉൽപ്പന്നങ്ങൾ പൊരുത്തപ്പെടുത്തുക - ക്വറി-ഉൽപ്പന്ന പൊരുത്തപ്പെടുത്തൽ
- ഘട്ടം 7: ക്വറി പേജുകൾ നിർമ്മിക്കുക - HTML സൃഷ്ടിക്കുക
- ഘട്ടം 8: ബന്ധപ്പെട്ട തിരയലുകൾ സൃഷ്ടിക്കുക - ബന്ധപ്പെട്ട ക്വറികൾ കണ്ടെത്തുക
- ഘട്ടം 11: Valkey-ലേക്ക് മൈഗ്രേറ്റ് ചെയ്യുക - തിരയൽ സേവനത്തിലേക്ക് ലോഡ് ചെയ്യുക
പൂർണ്ണമായ ഒഴുക്കിനായി SEO പൈപ്പ്ലൈൻ അവലോകനം കാണുക.
എന്തുകൊണ്ട് രണ്ട് ഘട്ടങ്ങൾ?
അടിസ്ഥാന നിർമ്മാണം (ഘട്ടം 3a) നൽകുന്നത്:
-
കൃത്യത: നിയമ-അധിഷ്ഠിത വാക്യങ്ങൾ നമ്മൾ പ്രതീക്ഷിക്കുന്നതുമായി കൃത്യമായി പൊരുത്തപ്പെടുന്നു
-
കവറേജ്: എല്ലാ വാക്ക് ക്രമങ്ങളും ഉൾക്കൊള്ളുന്നുവെന്ന് പെർമ്യൂട്ടേഷനുകൾ ഉറപ്പാക്കുന്നു
-
നിയന്ത്രണം: ഫീച്ചർ-നിർദ്ദിഷ്ട നിയമങ്ങൾ ഡൊമെയ്ൻ അറിവ് കൈകാര്യം ചെയ്യുന്നു
സെമാന്റിക് വികാസം (ഘട്ടം 4) നൽകുന്നത്:
-
വഴക്കം: നമ്മൾ മുൻകൂട്ടി കണ്ടിട്ടില്ലാത്ത വാക്യങ്ങൾ കണ്ടെത്തുന്നു
-
യഥാർത്ഥ ഉപയോക്തൃ ഭാഷ: യഥാർത്ഥ തിരയൽ ക്വറികളിൽ നിന്ന് പഠിക്കുന്നു
-
പര്യായപദങ്ങൾ: തുല്യമായ വാക്യങ്ങൾ കണ്ടെത്തുന്നു ("16gb" എന്നതിന് "16 gigs")
ഒരുമിച്ച്, അവ കൃത്യതയും റീകോളും സന്തുലിതമാക്കുന്നു.
റഫറൻസുകൾ
സാങ്കേതിക ആശയങ്ങൾ
-
പെർമ്യൂട്ടേഷൻ - വിക്കിപീഡിയ
-
കോസൈൻ സാമ്യത - വിക്കിപീഡിയ
-
N-ഗ്രാം - വിക്കിപീഡിയ
-
NumPy - ഔദ്യോഗിക ഡോക്യുമെന്റേഷൻ
-
BLAS - വിക്കിപീഡിയ
മോഡൽ ഡോക്യുമെന്റേഷൻ
-
all-mpnet-base-v2 - ഹഗ്ഗിംഗ് ഫേസ്
-
സെന്റൻസ് ട്രാൻസ്ഫോർമറുകൾ - ഔദ്യോഗിക ഡോക്യുമെന്റേഷൻ
ബന്ധപ്പെട്ട ലേഖനങ്ങൾ
-
എംബെഡിംഗ് സ്ട്രാറ്റജി - ഞങ്ങൾ എംബെഡിംഗുകൾ എങ്ങനെ സൃഷ്ടിക്കുന്നു
-
ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ അൽഗോരിതം - ഫിൽട്ടറുകൾ വേർതിരിച്ചെടുക്കാൻ മാപ്പിംഗുകൾ ഉപയോഗിക്കുന്നത്
-
SEO പൈപ്പ്ലൈൻ അവലോകനം - പൂർണ്ണമായ പൈപ്പ്ലൈൻ ആർക്കിടെക്ചർ
-
ക്വറി ക്ലസ്റ്ററിംഗ് - സമാനമായ ക്വറികൾ ഗ്രൂപ്പുചെയ്യൽ
-
ഉൽപ്പന്ന പൊരുത്തപ്പെടുത്തൽ - സെമാന്റിക് പൊരുത്തപ്പെടുത്തൽ
സംഗ്രഹം
ഞങ്ങൾ വാക്യം-ടു-ഫിൽട്ടർ മാപ്പിംഗുകൾ രണ്ട് ഘട്ടങ്ങളായി സൃഷ്ടിക്കുന്നു:
ഘട്ടം 3a (അടിസ്ഥാന നിർമ്മാണം):
-
ഹെഡ്ഡിംഗ്, കീ, മൂല്യം, യൂണിറ്റ് എന്നിവയുടെ എല്ലാ പെർമ്യൂട്ടേഷനുകളും സൃഷ്ടിക്കുക
-
ഫീച്ചർ-നിർദ്ദിഷ്ട നിയമങ്ങൾ പ്രയോഗിക്കുക (പ്രോസസ്സർ സീരീസ്, മെമ്മറി, സ്റ്റോറേജ്, ഫോം ഫാക്ടർ)
-
കണക്റ്റിവിറ്റി സവിശേഷതകൾക്കായി പോർട്ട് സഫിക്സുകൾ ചേർക്കുക
-
നിർദ്ദിഷ്ട സവിശേഷതകൾക്കായി സ്റ്റാൻഡ്-അലോൺ മൂല്യങ്ങൾ വൈറ്റ്ലിസ്റ്റ് ചെയ്യുക
-
നിയമങ്ങളിൽ നിന്നുള്ള അടിസ്ഥാന വാക്യ സെറ്റ് ഔട്ട്പുട്ട് ചെയ്യുക
ഘട്ടം 4 (സെമാന്റിക് വികാസം):
-
യഥാർത്ഥ തിരയൽ ക്വറികളിൽ നിന്ന് n-ഗ്രാം വാക്യങ്ങൾ വേർതിരിച്ചെടുക്കുക
-
വാക്യങ്ങളും ഫിൽട്ടർ തിരയൽ വാചകങ്ങളും എംബെഡ് ചെയ്യുക
-
പരിധിക്ക് മുകളിലുള്ള സാമ്യത സ്കോറുകളുള്ള വാക്യങ്ങൾ പൊരുത്തപ്പെടുത്തുക
-
വികാസത്തെ നയിക്കാൻ മാനുവൽ സീഡ് വാക്യങ്ങൾ കുത്തിവയ്ക്കുക
-
മെമ്മറി/സ്റ്റോറേജ് കൊളിഷനുകൾ പരിഹരിക്കുക
-
വികസിപ്പിച്ചതും വ്യക്തത വരുത്തിയതുമായ വാക്യ സെറ്റ് ഔട്ട്പുട്ട് ചെയ്യുക
ഫലം സമഗ്രമായ ഒരു മാപ്പിംഗാണ്, അത് പ്രതീക്ഷിക്കുന്ന വാക്യങ്ങളും (നിയമങ്ങളിലൂടെ) അപ്രതീക്ഷിത വ്യതിയാനങ്ങളും (സെമാന്റിക് സാമ്യതയിലൂടെ) കൈകാര്യം ചെയ്യുന്നു. ക്വറി പേജുകൾ, തിരയൽ, ഉൽപ്പന്ന പൊരുത്തപ്പെടുത്തൽ എന്നിവയിലുടനീളം ഫിൽട്ടർ എക്സ്ട്രാക്ഷനെ ഈ മാപ്പിംഗുകൾ പ്രവർത്തിപ്പിക്കുന്നു.