چطور به اپلیکیشنی که با هوش مصنوعی ساخته‌اید قابلیت جست‌وجو اضافه کنید (تا مردم واقعاً بتوانند چیزها را پیدا کنند)

برای افزودن جست‌وجو به اپلیکیشنی که با هوش مصنوعی ساخته شده، از یک کادر فیلتر شروع کنید که هرچه تایپ می‌کنید فهرست را محدودتر می‌کند، به آن بگویید کدام فیلدها را جست‌وجو کند، برای مرور کردن فیلترهای دسته‌بندی اضافه کنید، و جست‌وجوی مبتنی بر هوش مصنوعی را برای غلط‌های تایپی یا پرس‌وجوهای مبتنی بر معنا نگه دارید.

لحظه‌ای هست که هر اپلیکیشن ساخته‌شده با هوش مصنوعی، اگر واقعاً به‌درد‌بخور باشد، به آن می‌رسد: پر می‌شود. اپلیکیشن دستور آشپزی که با دوازده دستور غذا لذت‌بخش بود، با سیصد تا تبدیل به یک کار طاقت‌فرسا می‌شود. رهگیر مشتری‌ای که با هشت مشتری مرتب بود، با دویست تا تبدیل به اسکرول کردن بی‌پایان می‌شود. چیزی خراب نشده. اپلیکیشن استفاده شده، که کل هدف همین است — اما حالا کاری که مردم برایش آمده‌اند، یعنی پیدا کردن یک آیتم خاص، خیلی طول می‌کشد.

این همان نشانه‌ای‌ست که وقت آن رسیده به اپلیکیشنتان جست‌وجو اضافه کنید — کادری که با تایپ چند حرف، یک فهرست بلند را به همان یک آیتمی که دنبالش هستید محدود می‌کند. نه به این خاطر که جست‌وجو چیز چشمگیری‌ست، بلکه چون اسکرول کردن به معنای پیدا کردن نیست. بیایید ببینیم چطور می‌شود این کار را بدون افراط انجام داد، چون نسخه‌ی پیشرفته‌اش معمولاً اولین قدمِ اشتباه است.

کِی وقتش می‌رسد که به اپلیکیشنتان جست‌وجو اضافه کنید؟

متوجه می‌شوید چون اسکرول کردن بیشتر از حد لازم طول می‌کشد — فهرستتان از چند آیتم مرتب به صدها تا رشد کرده، و پیدا کردن یک چیز خاص یعنی رد شدن از کنار همه‌ی بقیه. چیزی خراب نشده تا به این‌جا رسیده باشید؛ اپلیکیشن استفاده شده، که کل هدف همین است.

نمونه‌ی واقعی این مسئله را ببینید. یک آرایشگر سگ اپلیکیشنی ساخت تا مشتری‌هایش را رهگیری کند — اسم، اسم سگ، نژاد، یادداشت‌هایی درباره‌ی این‌که کدام سگ‌ها از سشوار متنفرند. برای چند ماه اول، فهرستی تمیز بود که با یک نگاه می‌شد دیدش. اما وقتی به دویست مشتری رسید، وسط این‌که یک مشتری جلوی چشمش ایستاده بود، اپلیکیشن را باز می‌کرد و باید از کنار صد اسم رد می‌شد تا برسد به «مامانِ بلا».

اپلیکیشن دقیقاً همان کاری را می‌کرد که او خواسته بود. فقط فهرست دیگر راه مفیدی برای پیدا کردن یک چیز درونش نبود. جست‌وجو دقیقاً همین را حل می‌کند: «اسکرول کن تا پیدایش کنی» را تبدیل می‌کند به «چند حرف تایپ کن، همان‌جاست».

اگر اپلیکیشن شما فهرستی از هر چیزی نشان می‌دهد — سفارش‌ها، دستور غذاها، مشتری‌ها، محصولات، یادداشت‌ها — و آن فهرست پیوسته رشد می‌کند، دیر یا زود به این نقطه می‌رسید. خبر خوب این‌که ساده‌ترین نسخه‌ی جست‌وجو، این مسئله را برای تقریباً همه حل می‌کند.

چطور به اپلیکیشن ساخته‌شده با هوش مصنوعی جست‌وجو اضافه کنیم؟

با یک کادر فیلتر شروع کنید — یک فیلد متنی بالای فهرستتان که هرچه تایپ می‌کنید، همه‌ی موارد نامرتبط را پنهان می‌کند — نه هوشمندترین «جست‌وجوی هوش‌مصنوعی» ممکن. این تمام قدم اول است، و برای اغلب اپلیکیشن‌ها تنها قدمی‌ست که لازم دارید.

وقتی از یک سازنده‌ی هوش‌مصنوعی می‌خواهید جست‌وجو بسازد، وسوسه‌انگیز است که هوشمندترین نسخه‌ی ممکن را بخواهید: چیزی که منظورتان را می‌فهمد، مترادف‌ها را مدیریت می‌کند، بر اساس ارتباط رتبه‌بندی می‌کند. جلوی این وسوسه را بگیرید. نسخه‌ی هوشمند کندتر است، اجرایش گران‌تر تمام می‌شود، و درست از آب درآوردنش سخت‌تر است، و تقریباً مطمئناً هنوز به آن نیاز ندارید.

کلمه‌ی «بلا» را تایپ کنید و فهرست به بلاها محدود می‌شود. همین. فوری‌ست، اجرایش تقریباً رایگان است، و دقیقاً همان چیزی‌ست که مردم واقعاً منظورشان است وقتی می‌گویند «می‌خواهم بتوانم جست‌وجو کنم».

از سازنده‌تان دقیقاً همین را بخواهید: «یک کادر جست‌وجو بالای این فهرست اضافه کن که آن را به موارد منطبق با آن‌چه تایپ می‌کنم فیلتر کند.» شگفت‌زده خواهید شد از این‌که چند بار این، کل پروژه بوده است.

جست‌وجو واقعاً باید به کدام فیلدها نگاه کند؟

فقط آن دو یا سه فیلدی که واقعاً چیزی را که دنبالش هستید مشخص می‌کنند — نه هر فیلدی روی هر آیتم. گفتن همین به سازنده‌تان، یک دستورالعملی‌ست که جست‌وجو را از یک چیز کلافه‌کننده به یک چیز خوب تبدیل می‌کند، و اغلب آدم‌ها از آن رد می‌شوند.

به‌طور پیش‌فرض، ممکن است سازنده همه‌چیز را جست‌وجو کند — هر فیلد روی هر آیتم. این کامل به نظر می‌رسد اما معمولاً بدتر است. تصور کنید در آن فهرست مشتری‌ها جست‌وجو می‌کنید و نتایجی می‌گیرید چون کلمه‌ی «کوچک» در یک یادداشت درباره‌ی اندازه‌ی سگ ظاهر شده. حالا دارید نتایجی را الک می‌کنید که از نظر فنی مطابقت دارند اما منظورتان نبوده‌اند.

پس درباره‌ی این‌که کدام فیلدها اهمیت دارند مشخص باشید. برای آن آرایشگر، این یعنی اسم مشتری و اسم سگ — نه یادداشت‌ها، نه نژاد، نه سابقه‌ی نوبت‌ها. برای یک اپلیکیشن دستور غذا، یعنی عنوان دستور غذا و شاید ماده‌ی اصلی، نه کل دستورالعمل. به سازنده‌تان بگویید: «جست‌وجو فقط باید عنوان و فیلد نام را نگاه کند.» جست‌وجوی دو فیلد درست همیشه بهتر از جست‌وجوی هر دوازده‌تاست.

اول باید جست‌وجو بسازید یا فیلتر؟

اغلب، فیلترها — چون خیلی از چیزی که مردم «جست‌وجو» می‌نامند، در واقع «یک زیرمجموعه به من نشان بده» است، و کادر جست‌وجو ابزار درستی برای آن نیست. این چیزی‌ست که سازنده‌های غیرفنی را غافلگیر می‌کند.

یک فروشنده‌ی دست دوم با سیصد قلم موجودی معمولاً نمی‌خواهد تایپ کند — می‌خواهد روی «فروخته‌شده» یا «موجود» یا «این هفته لیست‌شده» ضربه بزند. این یک فیلتر است: چند دکمه یا یک منوی کشویی که فهرست را بر اساس دسته‌بندی‌ای که از قبل ثبت می‌کنید محدود می‌کند. ساختن فیلترها معمولاً از جست‌وجو ساده‌تر است و در استفاده‌ی روزانه مفیدتر، چون مردم بیشتر بر اساس وضعیت مرور می‌کنند تا این‌که دنبال یک چیز خاص با اسم بگردند.

یک قاعده‌ی خوب: برای «تقریباً می‌دانم اسمش چیست» کادر جست‌وجو اضافه کنید، و برای «این نوع را به من نشان بده» فیلتر. آرایشگر سگ ما در نهایت هر دو را می‌خواست — یک کادر جست‌وجو برای رفتن سریع به یک مشتری با اسم وقتی کسی جلویش ایستاده، و یک فیلتر برای «موعدشان برای آرایش گذشته» تا با یک نگاه ببیند بعدازظهر شلوغ به کی باید پیامک بزند. داده‌ی یکسان، دو راه کاملاً متفاوت برای رسیدن به آن.

اگر فقط می‌توانید یکی را اول بسازید، ببینید مردم واقعاً چطور از اپلیکیشن استفاده می‌کنند. اگر پیوسته می‌پرسند «همه‌ی X کجاست»، آن‌ها فیلتر می‌خواهند، نه کادر جست‌وجو.

وقتی جست‌وجو چیزی پیدا نمی‌کند، چه چیزی باید نمایش داده شود؟

یک پیام ساده و مشخص — چیزی مثل «هیچ مشتری‌ای با ‘zelda’ مطابقت ندارد — املا را بررسی کنید یا جست‌وجو را پاک کنید» — نه یک صفحه‌ی خالی، که به نظر می‌رسد «اپلیکیشن خراب شده». نشده؛ فقط تطابقی وجود ندارد، و اغلب آدم‌ها فراموش می‌کنند برای این حالت برنامه‌ریزی کنند.

پیش‌فرض معمولاً یک صفحه‌ی خالی‌ست. پس به سازنده‌تان بگویید حالت خالی باید چه بگوید. همین یک جمله، تفاوت بین کاربری‌ست که فکر می‌کند اپلیکیشن شما خراب است، و کاربری که فکر می‌کند خودش چیز اشتباهی تایپ کرده.

همین‌طور مطمئن شوید راه واضحی برای پاک کردن جست‌وجو و برگشت به کل فهرست وجود دارد. یک «x» کوچک در کادر، یا یک لینک «پاک کردن». مردم بیشتر از آن‌چه فکرش را بکنید، در یک جست‌وجو گیر می‌افتند که نمی‌توانند از آن فرار کنند.

کِی به جست‌وجوی مبتنی بر هوش مصنوعی نیاز دارید به‌جای یک کادر فیلتر؟

دو نشانه‌ی مشخص، نه یک احساس: غلط‌های تایپی، و معنا. اگر مردم «stephanie» را جست‌وجو می‌کنند و «Stefanie» را از دست می‌دهند، تطبیق باگذشتی می‌خواهید که خطاهای نزدیک را تحمل کند — از سازنده‌تان بخواهید «جست‌وجویی که حتی وقتی املا کمی اشتباه است، باز هم نتیجه پیدا کند». و اگر واقعاً به «یادداشت‌هایی درباره‌ی مشکلات صورت‌حساب را برایم پیدا کن» نیاز دارید، نه «کلمه‌ی صورت‌حساب را پیدا کن»، این همان نوع هوشمند و مبتنی بر هوش مصنوعی جست‌وجوست — ارزش هزینه و پیچیدگی اضافه را دارد وقتی مشکلی را حل می‌کند که کادر ساده نمی‌تواند.

فقط از آن‌جا شروع نکنید. با کادری شروع کنید که فیلتر می‌کند، وقتی غلط‌های تایپی مزاحم شدند تطبیق باگذشت اضافه کنید، و فقط وقتی «تطبیق کلمات» دیگر کافی نیست، سراغ نسخه‌ی هوشمند بروید. اغلب اپلیکیشن‌ها هرگز نیاز ندارند از قدم اول جلوتر بروند.

پس قبل از این‌که چیزی بسازید، یک هفته خودتان را در حال استفاده از اپلیکیشن خودتان تماشا کنید. آن چیزی که پیوسته برای پیدا کردنش اسکرول می‌کنید — یک مشتری، یک سفارش، یک دستور غذا — دقیقاً همان چیزی‌ست که کادر جست‌وجویتان برایش است. اول آن یک چیز را بسازید، و مسئله را برای تقریباً هرکسی که از اپلیکیشن استفاده می‌کند حل خواهید کرد.