5.4.5 Compression in PracticeThe compression techniques we have covere การแปล - 5.4.5 Compression in PracticeThe compression techniques we have covere ไทย วิธีการพูด

5.4.5 Compression in PracticeThe co

5.4.5 Compression in Practice
The compression techniques we have covered are used to encode inverted lists in
real retrieval systems. In this section, we’ll look at how Galago uses compression
to encode inverted lists in the PositionListWriter class.
Figure 5.5 illustrates how position information can be stored in inverted lists.
Consider just the inverted list for tropical:
(1, 1)(1, 7)(2, 6)(2, 17)(3, 1)
In each pair, the first number represents the document and the second number
represents the word position. For instance, the third entry in this list states that
the word tropical is the sixth word in document 2. Because it helps the example,
we’ll add (2, 197) to the list:
(1, 1)(1, 7)(2, 6)(2, 17)(2, 197)(3, 1)
We can group the positions for each document together so that each document
has its own entry, (document, count, [positions]), where count is the number of
occurrences in the document. Our example data now looks like this:
(1, 2, [1, 7])(2, 3, [6, 17, 197])(3, 1, [1])
The word count is important because it makes this list decipherable even without the parentheses and brackets. The count tells us how many positions lie within
the brackets, and we can interpret these numbers unambiguously, even if they
were printed as follows:
1, 2, 1, 7, 2, 3, 6, 17, 197, 3, 1, 1
However, we will leave the brackets in place for now for clarity.
These are small numbers, but with delta encoding we can make them smaller.
Notice that the document numbers are sorted in ascending order, so we can safely
use delta encoding to encode them:
(1, 2, [1, 7])(1, 3, [6, 17, 197])(1, 1, [1])
The second entry now starts with a 1 instead of a 2, but this 1 means “this
document number is one more than the last document number.” Since position
information is also sorted in ascending order, we can delta-encode the positions
as well:
(1, 2, [1, 6])(1, 3, [6, 11, 180])(1, 1, [1])
We can’t delta-encode the word counts, because they’re not in ascending order.
If we did delta-encode them, some of the deltas might be negative, and the compression techniques we have discussed do not handle negative numbers without
some extra work.
Now we can remove the brackets and consider this inverted list as just a list of
numbers:
1, 2, 1, 6, 1, 3, 6, 11, 180, 1, 1, 1
Since most of these numbers are small, we can compress them with v-byte to
save space:
81 82 81 86 81 83 86 8B 01 B4 81 81 81
The 01 B4 is 180, which is encoded in two bytes. The rest of the numbers were
encoded as single bytes, giving a total of 13 bytes for the entire list.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
5.4.5 การบีบอัดในทางปฏิบัติใช้เทคนิคการบีบอัดที่มีการกลับรายการในการเข้ารหัสจริงเรียกระบบ ในส่วนนี้ เราจะดูที่วิธีใช้การบีบอัด Galagoการเข้ารหัสรายการคว่ำในคลา PositionListWriterรูปที่ 5.5 แสดงว่าสามารถเก็บข้อมูลตำแหน่งในรายการคว่ำพิจารณาเพียงรายชื่อคว่ำสำหรับเขตร้อน:(1, 1) (1, 7) (2, 6) (2, 17) (3, 1)ในแต่ละคู่ ตัวเลขแรกแสดงถึงเอกสารและตัวเลขที่สองแสดงถึงตำแหน่งคำ เช่น รายการที่สามในรายการนี้ระบุว่าคำเขตร้อนเป็นคำที่หกในเอกสาร 2 เพราะมันช่วยให้ตัวอย่างเราจะเพิ่ม (2, 197) ในรายการ:(1, 1) (1, 7) (2, 6) (2, 17) (2, 197) (3, 1)เราสามารถจัดกลุ่มตำแหน่งสำหรับแต่ละเอกสารโดดเพื่อที่แต่ละเอกสารมีของตัวเองรายการ, (เอกสาร จำนวน [ตำแหน่ง]), ซึ่งนับเป็นจำนวนลักษณะที่ปรากฏในเอกสาร ข้อมูลตัวอย่างของเราตอนนี้มีลักษณะดังนี้:(1, 2, [1, 7]) (2, 3, [6, 17, 197]) (3, 1 [1])นับจำนวนคำเป็นสิ่งสำคัญ เพราะจะทำให้รายการนี้ถอดรหัสได้แม้จะไม่ มีวงเล็บและวงเล็บ จำนวนการบอกจำนวนตำแหน่งอยู่ภายในวงเล็บ และเราสามารถแปลความหมายตัวเลขเหล่านี้อย่างชัดเจนว่า แม้ว่าพวกเขาพิมพ์เป็นดังนี้:1, 2, 1, 7, 2, 3, 6, 17, 197, 3, 1, 1อย่างไรก็ตาม เราจะลาวงเล็บในตอนนี้เพื่อความชัดเจนเหล่านี้เป็นตัวเลขขนาดเล็ก แต่ ด้วยการเข้ารหัสเดลต้า เราสามารถทำให้เล็กลงสังเกตว่า หมายเลขเอกสารจะถูกเรียงลำดับในใบสั่ง เพื่อให้เราสามารถได้อย่างปลอดภัยใช้เดลต้าเข้ารหัสเพื่อเข้ารหัสเหล่านั้น:(1, 2, [1, 7]) (1, 3, [6, 17, 197]) (1, 1 [1])รายการที่สองนี้เริ่มต้น ด้วย 1 แทน 2 แต่ 1 นี้หมายถึง "นี้หมายเลขเอกสารเป็นหมายเลขเอกสารมากกว่าสุดท้าย " ตั้งแต่ตำแหน่งนอกจากนี้ยังมีการเรียงลำดับข้อมูลในลำดับ เราสามารถเดลต้าเข้ารหัสตำแหน่งเช่น:(1, 2, [1, 6]) (1, 3, [6, 11, 180]) (1, 1 [1])เราไม่สามารถเดลต้าเข้ารหัสนับจำนวนคำ เพราะพวกเขาไม่ได้อยู่ในใบสั่งถ้าเราไม่เดลต้าเข้ารหัสไว้ deltas บางคนอาจเป็นลบ และเทคนิคการบีบอัดที่เราได้กล่าวถึงไม่มีจัดการตัวเลขติดลบโดยงานพิเศษตอนนี้ เราสามารถเอาเครื่องหมายวงเล็บ และพิจารณารายการนี้กลับเป็นเพียงแค่รายการของหมายเลข:1, 2, 1, 6, 1, 3, 6, 11, 180, 1, 1, 1เนื่องจากตัวเลขเหล่านี้มีขนาดเล็ก เราสามารถบีบอัดกับ v ไบต์เพื่อประหยัด:81 82 81 86 81 83 86 8B 01 B4 81 81 8101 B4 เป็น 180 ซึ่งมีการเข้ารหัสสองไบต์ ส่วนเหลือของหมายเลขได้เข้ารหัสเป็นไบต์เดียว ให้ผลรวมของไบต์ที่ 13 สำหรับรายการทั้งหมด
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
5.4.5 การบีบอัดในการปฏิบัติ
เทคนิคการบีบอัดเราได้ครอบคลุมจะใช้ในการเข้ารหัสรายการ Inverted ใน
ระบบการดึงจริง ในส่วนนี้เราจะดูที่วิธีกาลาโก้ใช้การบีบอัด
การเข้ารหัสรายการคว่ำในชั้นเรียน PositionListWriter ได้.
รูปที่ 5.5 แสดงให้เห็นถึงวิธีการที่ข้อมูลตำแหน่งที่สามารถเก็บไว้ในรายการ Inverted.
พิจารณาเพียงรายการคว่ำสำหรับเขตร้อน:
(1, 1) (1 7) (2, 6) (2, 17) (3, 1)
ในแต่ละคู่จำนวนแรกหมายถึงเอกสารและตัวเลขที่สอง
แสดงถึงตำแหน่งคำว่า ยกตัวอย่างเช่นรายการที่สามในรายการนี้ระบุว่า
คำว่าเขตร้อนเป็นคำที่หกในเอกสาร 2. เพราะจะช่วยให้ตัวอย่างเช่น
เราจะเพิ่ม (2, 197) ในรายการนี้:
(1, 1) (1, 7 ) (2, 6) (2, 17) (2, 197) (3, 1)
เราสามารถจัดกลุ่มตำแหน่งสำหรับเอกสารแต่ละร่วมกันเพื่อให้แต่ละเอกสาร
มีรายการของตัวเอง (เอกสารนับ [ตำแหน่ง]) ซึ่ง นับเป็นจำนวนของ
เหตุการณ์ที่เกิดขึ้นในเอกสาร ข้อมูลตัวอย่างของเราในขณะนี้มีลักษณะเช่นนี้
(1, 2, [1, 7]) (2, 3, [6, 17, 197]) (3, 1, [1])
จำนวนคำที่มีความสำคัญเพราะจะทำให้นี้ รายการอ่านได้แม้ไม่มีวงเล็บและวงเล็บ นับบอกเราว่าหลายตำแหน่งที่อยู่ภายใน
วงเล็บและเราสามารถตีความตัวเลขเหล่านี้อย่างไม่น่าสงสัยแม้ว่าพวกเขาจะ
ถูกพิมพ์ดังต่อไปนี้:
1, 2, 1, 7, 2, 3, 6, 17, 197, 3, 1, 1
แต่เราจะปล่อยให้วงเล็บในสถานที่สำหรับตอนนี้เพื่อความชัดเจน.
เหล่านี้เป็นตัวเลขขนาดเล็ก แต่มีการเข้ารหัสเดลต้าเราสามารถทำให้มีขนาดเล็กลง.
ขอให้สังเกตว่าเลขที่เอกสารจะถูกจัดเรียงในลำดับดังนั้นเราจึงสามารถ
ใช้การเข้ารหัสเดลต้าการเข้ารหัส พวกเขา
(1, 2, [1, 7]) (1, 3, [6, 17, 197]) (1, 1, [1])
รายการที่สองในขณะนี้เริ่มต้นด้วย 1 แทนที่จะเป็น 2 แต่นี้ 1 หมายถึง "นี้
เนื่องจากตำแหน่งเลขที่เอกสารการเป็นหนึ่งเกินกว่าจำนวนเอกสารที่ผ่านมา."
ข้อมูลยังถูกจัดเรียงในลำดับเราสามารถ Delta-เข้ารหัสตำแหน่ง
เช่นกัน:
(1, 2, [1, 6]) (1, 3 [6, 11, 180]) (1, 1, [1])
เราไม่สามารถ Delta-เข้ารหัสนับคำว่าเพราะพวกเขาไม่ได้อยู่ในการเรียงลำดับ.
ถ้าเราไม่ Delta-เข้ารหัสพวกเขาบางส่วนของ สันดอนอาจจะลบและเทคนิคการบีบอัดที่เราได้กล่าวถึงไม่ได้จัดการตัวเลขที่ติดลบโดยไม่ต้อง
ทำงานบางอย่างที่พิเศษ.
ตอนนี้เราสามารถลบวงเล็บและพิจารณารายการนี้กลับเป็นเพียงรายการ
หมายเลข:
1, 2, 1, 6, 1, 3, 6, 11, 180, 1, 1, 1
เนื่องจากส่วนใหญ่ของตัวเลขเหล่านี้มีขนาดเล็กเราสามารถบีบอัดพวกเขาด้วย V-ไบต์เพื่อ
ประหยัดพื้นที่:
81 82 81 86 81 83 86 8B 01 B4 81 81 81
01 B4 ถูก 180 ซึ่งมีการเข้ารหัสในไบต์ที่สอง ส่วนที่เหลือของตัวเลขที่ถูก
เข้ารหัสเป็นไบต์เดียวให้ทั้งหมด 13 ไบต์สำหรับรายชื่อทั้งหมด
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: