ክፍል 4 / 11

የማውጣት ስልቶች፡ Top-k፣ Hybrid፣ እንደገና ደረጃ መስጠት

ትርፍ፡

  • top-k ምርጫን እና የትርጉም እና የቁልፍ ቃል ፍለጋን የሚያጣምር ድብልቅ ፍለጋን በመተግበር ላይ
  • በዳግም ደረጃ አሰጣጥ የመጀመሪያውን ፍለጋ ትክክለኛነት መጨመር
  • እንደ መጠይቅ ትራንስፎርሜሽን እና ሃይዲኢ ባሉ ቴክኒኮች አስቸጋሪ ጥያቄዎችን የበለጠ መፈለግ

ሰነዶቹን በጥሩ ሁኔታ ቆርጠህ ወደ ቬክተር ዳታቤዝ አስገባሃቸው። አሁን ትክክለኛው ስራ፡ ተጠቃሚው ጥያቄ ሲጠይቅ ትክክለኛዎቹን ቁርጥራጮች ማምጣት። ይህ መልሶ ማግኘት ይባላል እና የ RAG ጥራት የጀርባ አጥንት ነው. "የመልሶ ጥራት = RAG ጥራት" የሚለውን ሐረግ አስታውስ; ይህ ክፍል በትክክል ያንን ጥራት የማሻሻል ጥበብ ነው። ተግባራዊ ቴክኒኮችን ከ top-k ምርጫ እስከ ድቅል ፍለጋ፣ ከዳግም ደረጃ እስከ መጠይቅ ሽግግር ድረስ እንሸፍናለን።

Top-k: ስንት ቁርጥራጮች እናመጣለን?

በጣም መሠረታዊው መቼት፡ ከፍለጋው ምን ያህል ቁርጥራጮች (k) እንደሚመለሱ። ያነሰ (k=1) ካመጣህ ትክክለኛውን ቁራጭ የማጣት ከፍተኛ አደጋ አለ; በጣም ብዙ (k=20) ካከሉ, በአምሳያው ላይ ጫጫታ ይጨምራል እና የማስመሰያው ዋጋ ይጨምራል.

በሁለት ጽንሰ-ሐሳቦች መካከል ያለውን ልዩነት መለየት. ያስታውሱ፡ ትክክለኛው ቁራጭ ከተገኙት መካከል የሚገኝበት ፍጥነት። ትክክለኛነት፡ የተወሰደው መጠን ተገቢ ነው። k መጨመር ማስታወስን ይጨምራል ነገር ግን ትክክለኛነትን ይቀንሳል። ግቡ ሁለቱን ማመጣጠን ነው።

top-k

ተጽዕኖ

ተስማሚ ሁኔታ

1-3

ከፍተኛ ትክክለኛነት ፣ የመሳት አደጋ

ቀላል, አንድ-መልስ ጥያቄዎች

4-8

ሚዛን; አብዛኞቹ ሁኔታዎች

አጠቃላይ የኮርፖሬት RAG

10-20

ከፍተኛ ማስታወስ, ጫጫታ ይጨምራል

ከዳግም ደረጃ ጋር (ከታች)

ጠቃሚ ምክር፡ የጋራ እና ኃይለኛ ስርዓተ-ጥለት፡ ሰፊ (k=20) አምጥቶ፣ ከዚያ በድጋሚ ደረጃ ጠባብ (ከላይ 4)። በዚህ መንገድ ምንም ነገር አያመልጥዎትም እና ለአምሳያው ንጹህ አውድ ይሰጣሉ።

ድብልቅ ፍለጋ፡ የሁለት ፍለጋዎች ኃይል

የትርጉም (የቬክተር) ፍለጋ ትርጉሙን ይይዛል ነገር ግን ያመለጡታል፡ ሙሉ የምርት ኮድ ("XR-4471")፣ ብርቅዬ ምህጻረ ቃል፣ ትክክለኛ ስም፣ የስሪት ቁጥር። ለእነዚህ ትክክለኛ ተዛማጅ ተግባራት፣ የድሮ ትምህርት ቤት ቁልፍ ቃል ፍለጋ -በተለይ BM25 የሚባለው ክላሲክ አልጎሪዝም በጣም ጥሩ ነው።

ድብልቅ ፍለጋ ሁለቱን ያጣምራል፡ ሁለቱም የትርጉም እና የቁልፍ ቃል ፍለጋዎች ይሰራሉ፣ ውጤቱን በማጣመር። ስለዚህ እንደ "የዋስትና ጊዜ የ

መቀላቀል ብዙውን ጊዜ በ RRF (Reciprocal Rank Fusion) ይከናወናል፡ በሁለቱም ዝርዝሮች ከፍ ያለ ትራክ ወደፊት ይመጣል።

# ድብልቅ መልሶ ማግኘት (ፅንሰ-ሀሳብ) ሴም = ቬክተር_ፍለጋ(ጥያቄ፣ k=20) # ትርጉም ቁልፍ = bm25_ፍለጋ(ጥያቄ፣ k=20) # fullwordresult = rrf_merge(ሴም፣ ቁልፍ)[፡8] # ሁለቱን አዋህድ፣ ከፍተኛ 8

እንደገና ደረጃ መስጠት፡ ሁለተኛ እና ስማርት ማለፊያ

የመጀመሪያው ጥሪ ፈጣን ግን ባለጌ ሊሆን ይችላል። እጩዎቹ በመጀመሪያው ፍለጋ አንድ በአንድ ይበልጥ ኃይለኛ በሆነ ሞዴል (ብዙውን ጊዜ መስቀል-ኢንኮደር - ጥያቄውን እና ምንባቡን አንድ ላይ ያነበበ እና አስፈላጊነቱን የሚያስመዘግብ ሞዴል) እና በጣም ተዛማጅ የሆኑትን ወደ ላይ የሚያንቀሳቅሰውን እንደገና ደረጃ መስጠት።

አመክንዮው ይህ ነው-የመጀመሪያው ፍለጋ ብዙ ቁጥር ያላቸውን እጩዎች ለማስታወስ (20 እጩዎች) ይመድባል, በድጋሚ ደረጃ ሰጭው ትክክለኛውን 4 ለትክክለኛነት ይመርጣል. ይህ ባለ ሁለት ደረጃ አካሄድ ከአንድ ደረጃ ፍለጋ የበለጠ ትክክለኛ ነው። የተወሰነ መዘግየት እና ተጨማሪ ሂደትን ያስከፍላል; ትርፉ በጥራት ላይ ከፍተኛ ጭማሪ ነው.

# ባለ ሁለት ደረጃ መልሶ ማግኛ (ፅንሰ-ሀሳብ) እጩዎች = ድብልቅ_ፍለጋ (ጥያቄ ፣ k=20) # ሰፊ ፣ quickscore = reranker.score(ጥያቄ ፣እጩዎች) # ተዛማጅነት ለእያንዳንዱ እጩ አውድ = rated.rank()[:4] # ከፍተኛ 4

መጠይቁን በመቀየር ላይ

አንዳንድ ጊዜ ችግሩ በፍለጋ ውስጥ አይደለም, ነገር ግን በጥያቄው ውስጥ. ተጠቃሚው "ስለ የርቀት ሰራተኞችስ?" ", ይህ ብቻውን መፈለግ አይቻልም (ለሩቅ ሰራተኞች ምን እንደሆነ ግልጽ አይደለም). የጥያቄ ለውጥ ቴክኒኮች እነኚሁና፡

  • እንደገና ይፃፉ፡ ጥያቄውን ብቻውን ለማድረግ የውይይት ታሪክን ይጠቀሙ፡ "የርቀት ሰራተኞች የዓመት ፈቃድ የማግኘት መብት ያላቸው ምንድን ናቸው?"
  • ባለብዙ-መጠይቅ-የተመሳሳዩን ጥያቄ 3 የተለያዩ መግለጫዎችን ይፍጠሩ ፣ ከሁሉም ጋር ይፈልጉ ፣ ውጤቱን ያጣምሩ። የተለያዩ ቃላት የተለያዩ ቁርጥራጮችን ያገኛሉ.
  • HyDE (ግምታዊ የሰነድ መክተቻዎች): በመጀመሪያ ለአምሳያው "ሊሆን የሚችል መልስ" ያትሙ እና ያንን ምናባዊ መልስ ያስገቡ እና ይፈልጉ። ምናባዊው መልስ አንዳንድ ጊዜ በተሻለ ሁኔታ ተገኝቷል ምክንያቱም በቃላት ወደ እውነተኛው ሰነድ ቅርብ ነው.

# ባለብዙ መጠይቅ (ፅንሰ-ሀሳብ) ተለዋዋጮች = model.uret ("ይህንን ጥያቄ በ3 የተለያዩ መንገዶች ግለጽ፡" +ጥያቄ) tum_sonuc = [] ለ v በተለዋዋጮች፡ all_sonuc += vector_intermediate(v, k=6)context = ነጠላ_እና_ትዕዛዝ(tum_ውጤት)[:6]

ደካማ መልሶ ማግኘት / ጠንካራ መልሶ ማግኘት

ደካማ (ነጠላ ደረጃ፣ ትርጉም ብቻ፣ ቋሚ k=3)

result = vector_search(ጥያቄ፣ k=3)# ችግር፡ የምርት ኮድ ጠፋ፣ በአስቸጋሪ ጥያቄዎች ውስጥ ትክክለኛውን ክፍል 3 ማስገባት አይቻልም።

ኃይለኛ (ድብልቅ + ሰፊ + እንደገና ደረጃ መስጠት + አስፈላጊ ከሆነ ብዙ መጠይቅ)

እጩዎች = hybrid_search (እንደገና ይጻፉ (ጥያቄ, ያለፈ), k = 20) አውድ = reranker.score (ጥያቄ, እጩዎች) .መጀመሪያ (4) # ሁለቱም ትክክለኛ ግጥሚያ እና ትርጉሞች ተይዘዋል; ወደ ምርጥ 4 ሞዴሎች ይሄዳል.

ሶስት ሚኒ ጉዳዮች

ጉዳይ 1 - የምርት ኮድ አመለጠ። በድጋፍ ቡድን ላይ ያለ ንጹህ የትርጉም ፍለጋ "RTX-9080" በሚለው ጥያቄ ውስጥ "RTX-9080" በቃላት ማግኘት አልቻለም; ተመሳሳይ ስም ያላቸው ሌሎች ምርቶችን እያመጣ ነበር. ድብልቅ ፍለጋ ሲታከል ትክክለኛ የኮድ ማዛመድ ተከስቷል እና ትክክለኛ መጣጥፎችን የመመለሻ መጠን ከ 58% ወደ 92% አድጓል።

ጉዳይ 2 - የዳግም-ደረጃ ልዩነት. የሕግ ባለሙያ ከ k=5 ጋር ይሠራ ነበር ነገር ግን ትክክለኛው ንጥል ብዙ ጊዜ 7-10 ነው። እሱ በደረጃዎች ውስጥ ይቆይ ነበር. k=20 + ድጋሚ ደረጃ መስጠት ሲጀምር፣ በ 3 ውስጥ ያለው ትክክለኛው መጣጥፍ መጠን ከ61% ወደ 94% አድጓል። መዘግየት በ300ሚሴ ብቻ ጨምሯል - ተቀባይነት ያለው ስምምነት።

ጉዳይ 3 - ያለ አውድ የመከታተያ ጥያቄ። በHR ረዳት ውስጥ ተጠቃሚው "ስለ የትርፍ ሰዓት ቆጣሪዎችስ?" ስጠይቅ ስርዓቱ አግባብነት የሌላቸውን ክፍሎች አመጣ። መጠይቁን እንደገና በመጻፍ ("የዓመታዊ እረፍት" አውድ ካለፈው በመሳብ እና "የትርፍ ጊዜ ሰራተኞች የዓመት ፈቃድ አላቸው" በማከል ትክክለኛው የመልስ መጠን ከ 40% ወደ 86% አድጓል።

የተለመዱ ስህተቶች

  • በትርጉም ፍለጋ ላይ ብቻ መተማመን፡ የምርት ኮድ፣ ምህጻረ ቃል፣ ትክክለኛ ስም ጠፍተዋል፤ ድቅል አክል.
  • K በጣም ትንሽ ማቆየት: ትክክለኛው ቁራጭ ዝርዝሩን ማስገባት አይችልም; ሰፋ ያድርጉት እና በእንደገና ደረጃ ያጠቡት.
  • ስለ ድጋሚ ደረጃ ማሰብ ፈጽሞ አታስብ: መጀመሪያ ፍለጋ ባለጌ ነው; ሁለተኛው ብልጥ ማለፊያ ጥራቱን በእጅጉ ያሻሽላል.
  • እንደ ሁኔታው ​​ተከታይ ጥያቄዎችን መፈለግ፡- ዐውደ-ጽሑፍ የሌለው ጥያቄ ትርጉም የሌለውን ይፈልጋል። እንደገና ጻፍ።
  • በጭፍን መጨመር k (ያለ ድጋሚ ደረጃ): ሞዴሉ በድምፅ ተሞልቷል, ምላሹ የተዛባ እና ዋጋው ይጨምራል.
ይጠንቀቁ: እያንዳንዱ ዘዴ ዋጋን እና መዘግየትን ይጨምራል. ባለ ብዙ መጠይቅ ማለት ባለ 3 ጊዜ ፍለጋ ማለት ነው ፣ እንደገና ደረጃ መስጠት ማለት ተጨማሪ የሞዴል ጥሪ ማለት ነው። በቀላል ዲቃላ + ምክንያታዊ k መጀመሪያ ይጀምሩ; በጣም አስፈላጊ በሆኑ ቦታዎች ላይ ከባድ ቴክኒኮችን ይለኩ እና ይጨምሩ። ሳይለካ መጨመር.

በማጠቃለያው

  • Top-k በማስታወስ እና ትክክለኛነት መካከል ያለው ሚዛን ነው; በአጠቃላይ 4-8 ጥሩ ጅምር ነው.
  • ድብልቅ ፍለጋ የፍቺ ፍለጋን ከቁልፍ ቃል (BM25) ፍለጋ ጋር ያጣምራል። ትክክለኛ ግጥሚያዎችን ይመልሳል።
  • በድጋሚ ደረጃ መስጠት እጩዎቹን ከሰፊው የመጀመሪያ ፍለጋ በጠንካራ ሞዴል እንደገና ያስቆጥራል እና ምርጦቹን ይመርጣል።
  • የጥያቄ ለውጥ (እንደገና መጻፍ፣ ባለብዙ መጠይቅ፣ HyDE) አስቸጋሪ እና ከአውድ-ነጻ ጥያቄዎችን መፈለግ የሚቻል ያደርገዋል።
  • ጠንካራ ስርዓተ-ጥለት፡ ሰፊ ፈልሳ → ከቅልቅል ጋር → ጠባብ ከዳግም ማዕረግ ጋር; ነገር ግን እያንዳንዱን ዘዴ በመለካት ይጨምሩ.

የመተግበሪያ ተግባር

ከቀደምት ክፍሎች 6 አስቸጋሪ ጥያቄዎችን ያዘጋጁ፡ ቢያንስ 2 ትክክለኛ ግጥሚያዎች የሚጠይቁ (የምርት ኮድ፣ ምህፃረ ቃል፣ ቀን)፣ 2 የትርጉም (በተለያዩ ቃላት ተመሳሳይ ርዕስ)፣ 2 ተከታታይ ጥያቄዎች ያለ አውድ። (1) መጀመሪያ እያንዳንዱን ጥያቄ እንደ ንጹህ የትርጉም ፍለጋ አስብ እና የትኞቹ ክፍሎች እንደሚመጡ በእጅ ምልክት አድርግ። (2) ተመሳሳዩን ጥያቄዎች በድብልቅ እና በድጋሚ ደረጃ በማከል እንደገና ይገምግሙ። (3) ተከታታይ ጥያቄዎችን ያለ አውድ እንደገና ይፃፉ። የትኛው ዘዴ በየትኛው የጥያቄ ዓይነት ላይ ለውጥ እንደሚያመጣ በሰንጠረዥ መልክ አስተውል።

የማረጋገጫ ዝርዝር

  • [] top-k የማስታወስ-ትክክለኛነት ሚዛን እና ምክንያታዊ መነሻ ክልል እንደሆነ አውቃለሁ።
  • [ ] ለምን ድቅል ፍለጋ ትክክለኛ ግጥሚያዎችን እንደሚያስገኝ ማስረዳት እችላለሁ።
  • [ ] ባለ ሁለት ደረጃ አመክንዮ እንደገና ደረጃ መስጠት (ሰፊ → ብልጥ ጠባብ) መተግበር እችላለሁ።
  • [ ] ተከታታይ ጥያቄዎችን ያለ ዐውደ-ጽሑፍ እንደገና መጻፍ እንደሚያስፈልግ ተገንዝቤያለሁ።
  • [ ] ከባድ ቴክኒኮችን በመለካት ሳይሆን በመለካት እንደጨመርኩ አረጋግጣለሁ።