വാക്യം-ടു-ഫിൽട്ടർ മാപ്പിംഗുകൾ: ഉൽപ്പന്ന ഫിൽട്ടറുകൾക്കായുള്ള സെമാന്റിക് തിരയൽ

ഞങ്ങളുടെ ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ സിസ്റ്റത്തെ പ്രവർത്തിപ്പിക്കുന്ന വാക്യം-ടു-ഫിൽട്ടർ മാപ്പിംഗുകൾ എങ്ങനെ സൃഷ്ടിക്കുകയും വികസിപ്പിക്കുകയും ചെയ്യുന്നു എന്ന് ഈ ലേഖനം വിശദീകരിക്കുന്നു. ഈ മാപ്പിംഗുകൾ തിരയൽ ക്വറികളിൽ നിന്നുള്ള സ്വാഭാവിക ഭാഷാ വാക്യങ്ങളെ ഘടനാപരമായ ഉൽപ്പന്ന ഫിൽട്ടറുകളുമായി ബന്ധിപ്പിക്കുന്നു.

പ്രശ്നം: സ്വാഭാവിക ഭാഷയിൽ നിന്ന് ഫിൽട്ടറുകൾ വേർതിരിച്ചെടുക്കൽ

ഉപയോക്താക്കൾ "mini pc with 16gb ram" എന്ന് തിരയുമ്പോൾ, നമുക്ക് ഇവ വേർതിരിച്ചെടുക്കേണ്ടതുണ്ട്:

  • ഫോം ഫാക്ടർ: മിനി പിസി

  • മെയിൻ മെമ്മറി: 16

എന്നാൽ ഉപയോക്താക്കൾ ഒരേ ഉദ്ദേശ്യം പല വിധത്തിൽ പ്രകടിപ്പിക്കുന്നു:

  • "16gb ram mini pc"

  • "mini computer 16 gb memory"

  • "small pc 16gb"

  • "compact desktop with 16 gigs"

ഈ വാക്യ വ്യത്യാസങ്ങളെല്ലാം ശരിയായ ഫിൽട്ടർ മൂല്യങ്ങളിലേക്ക് മാപ്പ് ചെയ്യുന്ന ഒരു സിസ്റ്റം നമുക്ക് ആവശ്യമാണ്.

രണ്ട്-ഘട്ട പ്രക്രിയ

ഞങ്ങൾ വാക്യ മാപ്പിംഗുകൾ രണ്ട് ഘട്ടങ്ങളായി സൃഷ്ടിക്കുന്നു:

  1. ഘട്ടം 3a: പെർമ്യൂട്ടേഷനുകളും ഫീച്ചർ-നിർദ്ദിഷ്ട നിയമങ്ങളും ഉപയോഗിച്ച് ഉൽപ്പന്ന സവിശേഷതകളിൽ നിന്ന് അടിസ്ഥാന വാക്യങ്ങൾ സൃഷ്ടിക്കുക
  2. ഘട്ടം 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 ലഭിക്കുകയും വികാസത്തെ നയിക്കുകയും ചെയ്യുന്നു.

ഇൻക്രിമെന്റൽ എംബെഡിംഗ്

വാക്യങ്ങൾക്കും ഫിൽട്ടർ തിരയൽ വാചകങ്ങൾക്കുമായി ഞങ്ങൾ എംബെഡിംഗുകൾ കാഷെ ചെയ്യുന്നു. പുതിയ ക്വറികൾ വരുമ്പോൾ:

  1. നിലവിലുള്ള എംബെഡിംഗുകൾ ലോഡ് ചെയ്യുക
  2. പുതിയ വാക്യങ്ങൾ മാത്രം എംബെഡ് ചെയ്യുക
  3. കാഷെയിൽ ചേർക്കുക

ഇത് മാറ്റമില്ലാത്ത ഡാറ്റ വീണ്ടും എംബെഡ് ചെയ്യുന്നത് ഒഴിവാക്കുന്നു. വിശദാംശങ്ങൾക്ക് എംബെഡിംഗ് സ്ട്രാറ്റജി കാണുക.

കൊളിഷൻ റെസല്യൂഷൻ

സാമ്യത പൊരുത്തപ്പെടുത്തൽ പൂർത്തിയായ ശേഷം, മെമ്മറി, സ്റ്റോറേജ് ഫിൽട്ടറുകൾ തമ്മിലുള്ള കൊളിഷനുകൾ ഞങ്ങൾ പരിഹരിക്കുന്നു:

നമ്പർ-അധിഷ്ഠിത വ്യക്തത:

  • നമ്പറുകൾ അടങ്ങിയ അവ്യക്തമായ വാക്യങ്ങൾക്ക്: വാക്യത്തിന് ≤ 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},
# ... (നിർവ്വഹണ വിശദാംശങ്ങൾ ഒഴിവാക്കി)

ഫിൽട്ടർ എക്സ്ട്രാക്ഷനുമായുള്ള സംയോജനം

ഈ മാപ്പിംഗുകൾ ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ അൽഗോരിതത്തെ പ്രവർത്തിപ്പിക്കുന്നു:

  1. ക്വറി വരുന്നു: "mini pc with 16gb ram"
  2. വാക്യങ്ങൾ വേർതിരിച്ചെടുക്കുക: ["mini pc", "16gb ram", "mini", "pc", "16gb", "ram"]
  3. മാപ്പിംഗുകൾ ഉപയോഗിച്ച് വാക്യങ്ങളെ ഫിൽട്ടറുകളുമായി പൊരുത്തപ്പെടുത്തുക
  4. ഫിൽട്ടറുകൾ തിരികെ നൽകുക: {"Form Factor": ["Mini PC"], "Main Memory": ["16"]}

വിശദാംശങ്ങൾക്ക് ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ അൽഗോരിതം കാണുക.

സംഭരണവും വിതരണവും

വാക്യ മാപ്പിംഗുകൾ JSON ഫയലുകളായി സംഭരിക്കപ്പെടുകയും സിസ്റ്റത്തിലുടനീളം ഉപയോഗിക്കുകയും ചെയ്യുന്നു:

  • അടിസ്ഥാന മാപ്പിംഗ് ഫയൽ: ഘട്ടം 3a-യിൽ സൃഷ്ടിച്ചത്, നിയമ-അധിഷ്ഠിത വാക്യങ്ങൾ അടങ്ങിയിരിക്കുന്നു

  • വികസിപ്പിച്ച മാപ്പിംഗ് ഫയൽ: ഘട്ടം 4-ൽ സൃഷ്ടിച്ചത്, സെമാന്റിക് വികാസ ഫലങ്ങൾ അടങ്ങിയിരിക്കുന്നു

വികസിപ്പിച്ച മാപ്പിംഗുകൾ ഇവ ഉപയോഗിക്കുന്നു:

  • ക്വറി പേജ് നിർമ്മാണം: ക്വറി വാചകത്തിൽ നിന്ന് ഫിൽട്ടറുകൾ വേർതിരിച്ചെടുക്കുക

  • തിരയൽ സേവനം: തത്സമയ ഫിൽട്ടർ എക്സ്ട്രാക്ഷൻ API

  • ഉൽപ്പന്ന പൊരുത്തപ്പെടുത്തൽ: വേർതിരിച്ചെടുത്ത ഫിൽട്ടറുകൾ ഉപയോഗിച്ച് ഉൽപ്പന്നങ്ങൾ ഫിൽട്ടർ ചെയ്യുക

പ്രകടന സവിശേഷതകൾ

അടിസ്ഥാന നിർമ്മാണം (ഘട്ടം 3a):

  • പ്രോസസ്സിംഗ് സമയം ഫിൽട്ടർ മൂല്യങ്ങളുടെ എണ്ണത്തിനനുസരിച്ച് വർദ്ധിക്കുന്നു

  • വലിയ തോതിലുള്ള അടിസ്ഥാന വാക്യ വകഭേദങ്ങൾ സൃഷ്ടിക്കുന്നു

  • നിർമ്മാണ സമയത്ത് മെമ്മറി ഉപയോഗം മിതമായി തുടരുന്നു

സെമാന്റിക് വികാസം (ഘട്ടം 4):

  • പ്രോസസ്സിംഗ് സമയം ക്വറി അളവും എംബെഡിംഗ് വലുപ്പവും അനുസരിച്ച് വർദ്ധിക്കുന്നു

  • ഔട്ട്പുട്ടിൽ അടിസ്ഥാന നിർമ്മാണത്തേക്കാൾ ഗണ്യമായി കൂടുതൽ വാക്യങ്ങൾ അടങ്ങിയിരിക്കുന്നു

  • എംബെഡിംഗുകളുടെ സംഭരണം കാരണം മെമ്മറി ആവശ്യകതകൾ വർദ്ധിക്കുന്നു

സാമ്യത കണക്കുകൂട്ടൽ കാരണം വികാസം CPU-ബദ്ധമാണ്. BLAS ത്വരിതപ്പെടുത്തലോടുകൂടിയ NumPy ഉപയോഗിക്കുന്നത് മാട്രിക്സ് പ്രവർത്തനങ്ങളെ ഗണ്യമായി വേഗത്തിലാക്കുന്നു.

SEO പൈപ്പ്ലൈനുമായുള്ള സംയോജനം

വാക്യ മാപ്പിംഗ് നിർമ്മാണം SEO പൈപ്പ്ലൈനിലെ ഘട്ടങ്ങൾ 3a ഉം 4 ഉം ആണ്:

  1. ഘട്ടം 0: ഉറവിട ഡാറ്റ എംബെഡ് ചെയ്യുക - ഉൽപ്പന്നങ്ങൾ, ഭാഗങ്ങൾ, ലേഖനങ്ങൾ
  2. ഘട്ടം 1: ക്വറികൾ ഫെച്ച് ചെയ്യുക - GSC, Google Ads, തത്സമയം, Algolia
  3. ഘട്ടം 2: ക്വറികൾ സംയോജിപ്പിക്കുക - എല്ലാ ഉറവിടങ്ങളും ലയിപ്പിക്കുക
  4. ഘട്ടം 3a: അടിസ്ഥാന വാക്യ മാപ്പിംഗുകൾ സൃഷ്ടിക്കുക ← നിങ്ങൾ ഇവിടെയാണ്
  5. ഘട്ടം 3b: ക്വറികൾ എംബെഡ് ചെയ്യുക - വെക്റ്ററുകളാക്കി മാറ്റുക
  6. ഘട്ടം 4: വാക്യ മാപ്പിംഗുകൾ വികസിപ്പിക്കുക ← നിങ്ങൾ ഇവിടെയാണ്
  7. ഘട്ടം 5: ക്വറികൾ ക്ലസ്റ്റർ ചെയ്യുക - പേജുകളായി ഗ്രൂപ്പുചെയ്യുക
  8. ഘട്ടം 6: ഉൽപ്പന്നങ്ങൾ പൊരുത്തപ്പെടുത്തുക - ക്വറി-ഉൽപ്പന്ന പൊരുത്തപ്പെടുത്തൽ
  9. ഘട്ടം 7: ക്വറി പേജുകൾ നിർമ്മിക്കുക - HTML സൃഷ്ടിക്കുക
  10. ഘട്ടം 8: ബന്ധപ്പെട്ട തിരയലുകൾ സൃഷ്ടിക്കുക - ബന്ധപ്പെട്ട ക്വറികൾ കണ്ടെത്തുക
  11. ഘട്ടം 11: Valkey-ലേക്ക് മൈഗ്രേറ്റ് ചെയ്യുക - തിരയൽ സേവനത്തിലേക്ക് ലോഡ് ചെയ്യുക

പൂർണ്ണമായ ഒഴുക്കിനായി SEO പൈപ്പ്ലൈൻ അവലോകനം കാണുക.

എന്തുകൊണ്ട് രണ്ട് ഘട്ടങ്ങൾ?

അടിസ്ഥാന നിർമ്മാണം (ഘട്ടം 3a) നൽകുന്നത്:

  • കൃത്യത: നിയമ-അധിഷ്ഠിത വാക്യങ്ങൾ നമ്മൾ പ്രതീക്ഷിക്കുന്നതുമായി കൃത്യമായി പൊരുത്തപ്പെടുന്നു

  • കവറേജ്: എല്ലാ വാക്ക് ക്രമങ്ങളും ഉൾക്കൊള്ളുന്നുവെന്ന് പെർമ്യൂട്ടേഷനുകൾ ഉറപ്പാക്കുന്നു

  • നിയന്ത്രണം: ഫീച്ചർ-നിർദ്ദിഷ്ട നിയമങ്ങൾ ഡൊമെയ്ൻ അറിവ് കൈകാര്യം ചെയ്യുന്നു

സെമാന്റിക് വികാസം (ഘട്ടം 4) നൽകുന്നത്:

  • വഴക്കം: നമ്മൾ മുൻകൂട്ടി കണ്ടിട്ടില്ലാത്ത വാക്യങ്ങൾ കണ്ടെത്തുന്നു

  • യഥാർത്ഥ ഉപയോക്തൃ ഭാഷ: യഥാർത്ഥ തിരയൽ ക്വറികളിൽ നിന്ന് പഠിക്കുന്നു

  • പര്യായപദങ്ങൾ: തുല്യമായ വാക്യങ്ങൾ കണ്ടെത്തുന്നു ("16gb" എന്നതിന് "16 gigs")

ഒരുമിച്ച്, അവ കൃത്യതയും റീകോളും സന്തുലിതമാക്കുന്നു.

റഫറൻസുകൾ

സാങ്കേതിക ആശയങ്ങൾ

മോഡൽ ഡോക്യുമെന്റേഷൻ

ബന്ധപ്പെട്ട ലേഖനങ്ങൾ

സംഗ്രഹം

ഞങ്ങൾ വാക്യം-ടു-ഫിൽട്ടർ മാപ്പിംഗുകൾ രണ്ട് ഘട്ടങ്ങളായി സൃഷ്ടിക്കുന്നു:

ഘട്ടം 3a (അടിസ്ഥാന നിർമ്മാണം):

  • ഹെഡ്ഡിംഗ്, കീ, മൂല്യം, യൂണിറ്റ് എന്നിവയുടെ എല്ലാ പെർമ്യൂട്ടേഷനുകളും സൃഷ്ടിക്കുക

  • ഫീച്ചർ-നിർദ്ദിഷ്ട നിയമങ്ങൾ പ്രയോഗിക്കുക (പ്രോസസ്സർ സീരീസ്, മെമ്മറി, സ്റ്റോറേജ്, ഫോം ഫാക്ടർ)

  • കണക്റ്റിവിറ്റി സവിശേഷതകൾക്കായി പോർട്ട് സഫിക്സുകൾ ചേർക്കുക

  • നിർദ്ദിഷ്ട സവിശേഷതകൾക്കായി സ്റ്റാൻഡ്-അലോൺ മൂല്യങ്ങൾ വൈറ്റ്ലിസ്റ്റ് ചെയ്യുക

  • നിയമങ്ങളിൽ നിന്നുള്ള അടിസ്ഥാന വാക്യ സെറ്റ് ഔട്ട്പുട്ട് ചെയ്യുക

ഘട്ടം 4 (സെമാന്റിക് വികാസം):

  • യഥാർത്ഥ തിരയൽ ക്വറികളിൽ നിന്ന് n-ഗ്രാം വാക്യങ്ങൾ വേർതിരിച്ചെടുക്കുക

  • വാക്യങ്ങളും ഫിൽട്ടർ തിരയൽ വാചകങ്ങളും എംബെഡ് ചെയ്യുക

  • പരിധിക്ക് മുകളിലുള്ള സാമ്യത സ്കോറുകളുള്ള വാക്യങ്ങൾ പൊരുത്തപ്പെടുത്തുക

  • വികാസത്തെ നയിക്കാൻ മാനുവൽ സീഡ് വാക്യങ്ങൾ കുത്തിവയ്ക്കുക

  • മെമ്മറി/സ്റ്റോറേജ് കൊളിഷനുകൾ പരിഹരിക്കുക

  • വികസിപ്പിച്ചതും വ്യക്തത വരുത്തിയതുമായ വാക്യ സെറ്റ് ഔട്ട്പുട്ട് ചെയ്യുക

ഫലം സമഗ്രമായ ഒരു മാപ്പിംഗാണ്, അത് പ്രതീക്ഷിക്കുന്ന വാക്യങ്ങളും (നിയമങ്ങളിലൂടെ) അപ്രതീക്ഷിത വ്യതിയാനങ്ങളും (സെമാന്റിക് സാമ്യതയിലൂടെ) കൈകാര്യം ചെയ്യുന്നു. ക്വറി പേജുകൾ, തിരയൽ, ഉൽപ്പന്ന പൊരുത്തപ്പെടുത്തൽ എന്നിവയിലുടനീളം ഫിൽട്ടർ എക്സ്ട്രാക്ഷനെ ഈ മാപ്പിംഗുകൾ പ്രവർത്തിപ്പിക്കുന്നു.


← ഡോക്യുമെന്റേഷൻ സൂചികയിലേക്ക് മടങ്ങുക