Јединица 4 / 11

Стратегије проналажења: Топ-к, Хибрид, Ре-ранкинг

Добици:

  • Имплементација хибридне претраге која комбинује топ-к избор и семантичку претрагу и претрагу по кључним речима
  • Повећање тачности прве претраге са поновним рангирањем
  • Учините тешка питања лакшим за претраживање помоћу техника као што су трансформација упита и ХиДЕ

Лепо сте исецкали документе и ставили их у векторску базу података. Сада прави посао: преузимање правих делова када корисник постави питање. Ово се зове проналажење и представља окосницу квалитета РАГ-а. Запамтите фразу "Квалитет преузимања = квалитет РАГ"; Ова јединица је управо уметност побољшања тог квалитета. Покрићемо практичне технике од селекције топ-к до хибридне претраге, од поновног рангирања до трансформације упита.

Топ-к: Колико комада ћемо донети?

Најосновније подешавање: колико комада (к) да се врати из претраге. Ако донесете мање (к=1) постоји велики ризик да пропустите тачан комад; Ако додате превише (к=20), то ће додати буку моделу и цена токена ће се повећати.

Разликовати два концепта. Подсетимо: стопа по којој је исправан комад међу преузетима. Прецизност: стопа по којој је оно што се преузима релевантно. Повећање к повећава памћење, али смањује прецизност. Циљ је уравнотежити то двоје.

топ-к

Утицај

погодна ситуација

1-3

Висока прецизност, ризик од промашаја

Једноставна питања са једним одговором

4-8

Баланце; већина сценарија

Генерални корпоративни РАГ

10-20

Веће присјећање, бука се повећава

Са поновним рангирањем (испод)

Савет: Уобичајени и моћни образац: дохватите широко (к=20), а затим сузите са поновним рангирањем (топ 4). На овај начин нећете ништа пропустити и моделу дајете чист контекст.

Хибридна претрага: моћ две претраге

Семантичка (векторска) претрага обухвата значење, али пропушта ствари: пун код производа („КСР-4471“), ретка скраћеница, право име, број верзије. За ове задатке тачног подударања, старошколско претраживање кључних речи — посебно класични алгоритам назван БМ25 — је веома добро.

Хибридна претрага комбинује то двоје: и семантичка и претрага кључних речи функционишу, комбинујући резултате. Дакле, у питању као што је „Гарантни период на

Спајање се обично врши помоћу РРФ (Реципроцал Ранк Фусион): нумера која је виша на обе листе долази напред.

# Хибридни проналазак (концептуални)сем = вецтор_сеарцх(питање, к=20) # значење кључ = бм25_сеарцх(питање, к=20) # фуллвордресулт = ррф_мерге(сем, кеи)[:8] # споји два, топ 8

Поновно рангирање: Други и паметнији пролаз

Први позив може бити брз, али непристојан. Поновно рангирање оцењује кандидате које је вратила прва претрага једног по једног са снажнијим моделом (обично унакрсним кодером — моделом који заједно чита питање и пасус и оцењује релевантност) и помера оне најрелевантније на врх.

Логика је следећа: прва претрага додељује велики број кандидата за опозив (20 кандидата), реранкер бира најбоља 4 за прецизност. Овај двостепени приступ је много прецизнији од једностепене претраге. То кошта одређено кашњење и додатну обраду; Добитак је значајно повећање квалитета.

# Двостепени проналазак (концептуалних)кандидата = хибрид_сеарцх(питање, к=20) # широк, брзи резултат = реранкер.сцоре(питање, кандидати) # оцена релевантности за контекст сваког кандидата = ратед.ранк()[:4] # прва 4

Трансформисање упита

Понекад проблем није у тражењу, већ у самом питању. Ако корисник пита „шта је са удаљеним радницима?“ ', ово се не може тражити сам (није јасно шта је за удаљене раднике). Ево техника трансформације упита:

  • Поново напишите: Користите историју разговора да бисте поставили питање као самостално: „Шта радници на даљину имају право на годишњи одмор?“
  • Више упита: Генеришите 3 различита израза истог питања, претражите са свим њима, комбинујте резултате. Различите речи налазе различите делове.
  • ХиДЕ (Хипотхетицал Доцумент Ембеддингс): Прво одштампајте „могући одговор“ на модел, а затим га уградите и потражите тај замишљени одговор. Имагинарни одговор се понекад налази боље јер је речима ближи стварном документу.

# Вишеструке (концептуалне) варијанте = модел.урет("Изразите ово питање на 3 различита начина: " + питање)тум_сонуц = []за в у варијантама: алл_сонуц += вецтор_интермедиате(в, к=6)цонтект = сингулар_анд_ордер(тум_ресулт)[:6]

Слабо проналажење / јако враћање

Слаб (једностепена, само семантика, константа к=3):

ресулт = вецтор_сеарцх(куестион, к=3)# Проблем: код производа је промашен, не може се унети тачан део 3 у тешка питања.

Моћан (хибрид + широки + поновно рангирање + више упита ако је потребно):

кандидати = хибрид_сеарцх(реврите(питање, прошлост), к=20)цонтект = реранкер.сцоре(питање, кандидати).фирст(4)# И тачно подударање и значење су ухваћени; Иде на најбоља 4 модела.

Три мини кућишта

Случај 1 — Код производа је избачен. Чиста семантичка претрага тима за подршку није могла да пронађе „РТКС-9080“ дословно у питању „Грешка управљачког програма РТКС-9080“; Доносио је друге производе са сличним називима. Када је додата хибридна претрага, дошло је до тачног подударања кода и стопа враћања тачних чланака је порасла са 58% на 92%.

Случај 2 — Разлика у поновном рангирању. Паралегал је радио са к=5, али тачна ставка је већину времена 7-10. Остао је у редовима. Када је уведено к=20 + поновно рангирање, стопа тачних чланака међу прва 3 порасла је са 61% на 94%; Латенција је повећана за само 300 мс — прихватљив компромис.

Случај 3 — Накнадно питање без контекста. У ХР асистенту, корисник пита „шта је са хонорарним радницима?“ Када сам питао, систем је донео небитне делове. Преписивањем упита (извлачење контекста „годишњег одмора“ из прошлости и додавањем „Запослени са непуним радним временом имају право на годишњи одмор“), стопа тачних одговора порасла је са 40% на 86%.

Уобичајене грешке

  • Ослањајући се искључиво на семантичку претрагу: пропуштена је шифра производа, скраћеница, прави назив; Додајте хибрид.
  • Одржавање к премалим: Тачан комад не може ући на листу; учинити широким и сузити га поновним рангирањем.
  • Никада не размишљам о поновном рангирању: Прва претрага је непристојна; Други паметни пролаз значајно побољшава квалитет.
  • Тражење додатних питања каква јесте: Питање без контекста тражи бесмислено; преписати.
  • Слепо повећање к (без поновног рангирања): Модел је испуњен шумом, одговор је изобличен и цена се повећава.
Пазите: Свака техника додаје цену и кашњење. Више упита значи троструку претрагу, поновно рангирање значи додатни позив модела. Почните са једноставним хибридом + разумним к прво; Измерите и додајте тешке технике тамо где је заиста потребно. Сабирање без мерења.

Укратко

  • Топ-к је равнотежа између присећања и прецизности; Генерално, 4-8 је добар почетак.
  • Хибридна претрага комбинује семантичку претрагу са претраживањем по кључним речима (БМ25); Опоравља тачна подударања.
  • Поновно рангирање поново оцењује кандидате из широке почетне претраге са робусним моделом и бира оне најбоље.
  • Трансформација упита (поновно писање, више упита, ХиДЕ) чини тешка питања без контекста претражива.
  • Снажан образац: широк дохват → спајање са хибридом → уски са поновним рангирањем; али сваку технику додајте мерењем.

Задатак апликације

Припремите 6 тешких питања са подацима из претходних јединица: најмање 2 која захтевају тачно подударање (шифра производа, скраћеница, датум), 2 семантичка (иста тема са различитим речима), 2 додатна питања без контекста. (1) Прво замислите свако питање као чисту семантичку претрагу и ручно означите који делови ће се појавити. (2) Поново процијените иста питања уз додавање хибрида и поновног рангирања. (3) Препишите додатна питања без контекста. Забележите у облику табеле која техника чини разлику у којој врсти питања.

контролна листа

  • [ ] Знам да је топ-к баланс прецизности опозива и разуман почетни распон.
  • [ ] Могу да објасним зашто хибридна претрага обнавља тачна подударања.
  • [ ] Могу да применим двостепену логику поновног рангирања (широко → паметно уско).
  • [ ] Препознајем потребу за преписивањем додатних питања без контекста.
  • [ ] Потврђујем да сам тешке технике додао мерењем, а не мерењем.