ನುಡಿಗಟ್ಟು-ಫಿಲ್ಟರ್ ಮ್ಯಾಪಿಂಗ್ಗಳು: ಉತ್ಪನ್ನ ಫಿಲ್ಟರ್ಗಳಿಗೆ ಶಬ್ದಾರ್ಥಕ ಹುಡುಕಾಟ

ಈ ಲೇಖನವು ನಮ್ಮ ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವ ವ್ಯವಸ್ಥೆಯನ್ನು ಚಾಲನೆಗೊಳಿಸುವ ನುಡಿಗಟ್ಟು-ಫಿಲ್ಟರ್ ಮ್ಯಾಪಿಂಗ್ಗಳನ್ನು ನಾವು ಹೇಗೆ ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ವಿಸ್ತರಿಸುತ್ತೇವೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ಈ ಮ್ಯಾಪಿಂಗ್ಗಳು ಹುಡುಕಾಟ ಪ್ರಶ್ನೆಗಳಿಂದ ಬರುವ ನೈಸರ್ಗಿಕ ಭಾಷೆಯ ನುಡಿಗಟ್ಟುಗಳನ್ನು ರಚನಾತ್ಮಕ ಉತ್ಪನ್ನ ಫಿಲ್ಟರ್ಗಳಿಗೆ ಸಂಪರ್ಕಿಸುತ್ತವೆ.

ಸಮಸ್ಯೆ: ನೈಸರ್ಗಿಕ ಭಾಷೆಯಿಂದ ಫಿಲ್ಟರ್ಗಳನ್ನು ಹೊರತೆಗೆಯುವುದು

ಬಳಕೆದಾರರು "mini pc with 16gb ram" ಎಂದು ಹುಡುಕಿದಾಗ, ನಾವು ಇವುಗಳನ್ನು ಹೊರತೆಗೆಯಬೇಕಾಗುತ್ತದೆ:

  • ಫಾರಂ ಫ್ಯಾಕ್ಟರ್: Mini PC

  • ಮುಖ್ಯ ಮೆಮೊರಿ: 16

ಆದರೆ ಬಳಕೆದಾರರು ಒಂದೇ ಉದ್ದೇಶವನ್ನು ಹಲವು ರೀತಿಗಳಲ್ಲಿ ವ್ಯಕ್ತಪಡಿಸುತ್ತಾರೆ:

  • "16gb ram mini pc"

  • "mini computer 16 gb memory"

  • "small pc 16gb"

  • "compact desktop with 16 gigs"

ಈ ಎಲ್ಲಾ ನುಡಿಗಟ್ಟು ವ್ಯತ್ಯಾಸಗಳನ್ನು ಸರಿಯಾದ ಫಿಲ್ಟರ್ ಮೌಲ್ಯಗಳಿಗೆ ನಕ್ಷೆ ಮಾಡುವ ವ್ಯವಸ್ಥೆ ನಮಗೆ ಬೇಕು.

ಎರಡು-ಹಂತದ ಪ್ರಕ್ರಿಯೆ

ನಾವು ನುಡಿಗಟ್ಟು ಮ್ಯಾಪಿಂಗ್ಗಳನ್ನು ಎರಡು ಹಂತಗಳಲ್ಲಿ ರಚಿಸುತ್ತೇವೆ:

  1. ಹಂತ 3a: ಕ್ರಮಪಲ್ಲಟನೆಗಳು ಮತ್ತು ವೈಶಿಷ್ಟ್ಯ-ನಿರ್ದಿಷ್ಟ ನಿಯಮಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಉತ್ಪನ್ನ ವೈಶಿಷ್ಟ್ಯಗಳಿಂದ ಮೂಲ ನುಡಿಗಟ್ಟುಗಳನ್ನು ರಚಿಸಿ
  2. ಹಂತ 4: ಎಂಬೆಡ್ಡಿಂಗ್ಗಳು ಬಳಸಿಕೊಂಡು ಶಬ್ದಾರ್ಥಕ ಹೋಲಿಕೆಯಿಂದ ವಿಸ್ತರಿಸಿ

ಈ ಹೈಬ್ರಿಡ್ ವಿಧಾನವು ನಿಯಮ-ಆಧಾರಿತ ನಿಖರತೆಯನ್ನು ಶಬ್ದಾರ್ಥಕ ನಮ್ಯತೆಯೊಂದಿಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ.

ಹಂತ 3a: ಮೂಲ ನುಡಿಗಟ್ಟು ನಿರ್ಮಾಣ

ವೈಶಿಷ್ಟ್ಯ ಮೆಟಾಡೇಟಾ

ಪ್ರತಿಯೊಂದು ಉತ್ಪನ್ನ ವೈಶಿಷ್ಟ್ಯವೂ ವೈಶಿಷ್ಟ್ಯ ಅನುಕ್ರಮದಲ್ಲಿ (feature sequence) ಮೆಟಾಡೇಟಾವನ್ನು ಹೊಂದಿರುತ್ತದೆ:

  • ಶೀರ್ಷಿಕೆ: ವರ್ಗದ ಹೆಸರು (ಉದಾ., ಪ್ರೊಸೆಸರ್ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ "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")

ಫಾರಂ ಫ್ಯಾಕ್ಟರ್:

  • ಮಿನಿ PC → ಸ್ಥಳ-ರಹಿತ ರೂಪ ಸೇರಿದಂತೆ ಬಹು ರೂಪಾಂತರಗಳು

  • ಆಲ್-ಇನ್-ವನ್ → "all in one", "aio", ಸಂಕ್ಷಿಪ್ತ ರೂಪಗಳು

  • ಥಿನ್ ಕ್ಲೈಂಟ್ → ಸ್ಥಳ ಸಹಿತ/ರಹಿತ ರೂಪಾಂತರಗಳು

  • ಇಂಡಸ್ಟ್ರಿಯಲ್ PC → ಸಂಕ್ಷಿಪ್ತ ಮತ್ತು ಪೂರ್ಣ ರೂಪಗಳು

ಜನರೇಷನ್:

  • ಸಂಖ್ಯಾತ್ಮಕ ಜನರೇಷನ್ ಮೌಲ್ಯಗಳು: "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},
# ... (implementation details omitted)

ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವಿಕೆಯೊಂದಿಗೆ ಏಕೀಕರಣ

ಈ ಮ್ಯಾಪಿಂಗ್ಗಳು ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಶಕ್ತಗೊಳಿಸುತ್ತವೆ:

  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, live, 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-ಗ್ರಾಮ್ ನುಡಿಗಟ್ಟುಗಳನ್ನು ಹೊರತೆಗೆಯಿರಿ

  • ನುಡಿಗಟ್ಟುಗಳು ಮತ್ತು ಫಿಲ್ಟರ್ ಹುಡುಕಾಟ ಪಠ್ಯಗಳನ್ನು ಎಂಬೆಡ್ ಮಾಡಿ

  • ಮಿತಿಗಿಂತ ಹೆಚ್ಚಿನ ಹೋಲಿಕೆ ಅಂಕಗಳನ್ನು ಹೊಂದಿರುವ ನುಡಿಗಟ್ಟುಗಳನ್ನು ಹೊಂದಿಸಿ

  • ವಿಸ್ತರಣೆಗೆ ಮಾರ್ಗದರ್ಶನ ನೀಡಲು ಹಸ್ತಚಾಲಿತ ಸೀಡ್ ನುಡಿಗಟ್ಟುಗಳನ್ನು ಸೇರಿಸಿ

  • ಮೆಮೊರಿ/ಸಂಗ್ರಹ ಸಂಘರ್ಷಗಳನ್ನು ಪರಿಹರಿಸಿ

  • ವಿಸ್ತೃತ ಮತ್ತು ಅಸ್ಪಷ್ಟತೆ-ನಿವಾರಿತ ನುಡಿಗಟ್ಟು ಸೆಟ್ ಅನ್ನು ಔಟ್ಪುಟ್ ಮಾಡಿ

ಪರಿಣಾಮವು ಸಮಗ್ರ ಮ್ಯಾಪಿಂಗ್ ಆಗಿದ್ದು, ಇದು ನಿರೀಕ್ಷಿತ ನುಡಿಗಟ್ಟುಗಳನ್ನು (ನಿಯಮಗಳ ಮೂಲಕ) ಮತ್ತು ಅನಿರೀಕ್ಷಿತ ವ್ಯತ್ಯಾಸಗಳನ್ನು (ಶಬ್ದಾರ್ಥಕ ಹೋಲಿಕೆಯ ಮೂಲಕ) ನಿರ್ವಹಿಸುತ್ತದೆ. ಈ ಮ್ಯಾಪಿಂಗ್ಗಳು ಪ್ರಶ್ನೆ ಪುಟಗಳು, ಹುಡುಕಾಟ ಮತ್ತು ಉತ್ಪನ್ನ ಹೊಂದಾಣಿಕೆಯಲ್ಲಿ ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವಿಕೆಯನ್ನು ಶಕ್ತಗೊಳಿಸುತ್ತವೆ.


← ದಾಖಲಾತಿ ಸೂಚ್ಯಂಕಕ್ಕೆ ಹಿಂತಿರುಗಿ