Logo Zephyrnet

Làm chủ ChatGPT: Tóm tắt hiệu quả với LLM

Ngày:

Tóm tắt văn bản Trò chuyệnGPT

Tóm tắt tác nhân tưởng tượng bởi công cụ tạo hình ảnh AI Dall-E.

Bạn có phải là một phần của dân số để lại đánh giá trên bản đồ Google mỗi khi bạn ghé thăm một nhà hàng mới không?

Hoặc có lẽ bạn là kiểu người chia sẻ ý kiến ​​của mình về việc mua hàng trên Amazon, đặc biệt là khi bạn bị kích thích bởi một sản phẩm chất lượng thấp?

Đừng lo lắng, tôi sẽ không đổ lỗi cho bạn - tất cả chúng ta đều có những khoảnh khắc của mình!

Trong thế giới dữ liệu ngày nay, tất cả chúng ta đều góp phần vào sự tràn ngập dữ liệu theo nhiều cách. Một loại dữ liệu mà tôi thấy đặc biệt thú vị do tính đa dạng và khó diễn giải của nó là dữ liệu dạng văn bản, chẳng hạn như vô số bài đánh giá được đăng trên Internet hàng ngày. Bạn đã bao giờ dừng lại để xem xét tầm quan trọng của việc chuẩn hóa và cô đọng dữ liệu văn bản chưa?
Chào mừng đến với thế giới của các đại lý tóm tắt!

Các tác nhân tóm tắt đã tích hợp liền mạch vào thông tin cô đọng trong cuộc sống hàng ngày của chúng ta và cung cấp quyền truy cập nhanh vào nội dung có liên quan trên vô số ứng dụng và nền tảng.

Trong bài viết này, chúng ta sẽ khám phá việc sử dụng ChatGPT như một tác nhân tóm tắt mạnh mẽ cho các ứng dụng tùy chỉnh của mình. Nhờ khả năng của Mô hình ngôn ngữ lớn (LLM) để xử lý và hiểu văn bản, họ có thể hỗ trợ đọc văn bản và tạo bản tóm tắt chính xác hoặc chuẩn hóa thông tin. Tuy nhiên, điều quan trọng là phải biết cách khai thác tiềm năng của họ khi thực hiện một nhiệm vụ như vậy, cũng như thừa nhận những hạn chế của họ.

Hạn chế lớn nhất cho việc tóm tắt?
Các LLM thường không đạt yêu cầu khi tuân thủ các giới hạn về ký tự hoặc từ cụ thể trong bản tóm tắt của họ.

Hãy khám phá các phương pháp hay nhất để tạo tóm tắt với ChatGPT cho ứng dụng tùy chỉnh của chúng tôi, cũng như những lý do đằng sau những hạn chế của nó và cách khắc phục chúng!

Nếu nội dung giáo dục chuyên sâu này hữu ích cho bạn, bạn có thể đăng ký vào danh sách gửi thư nghiên cứu AI của chúng tôi để được cảnh báo khi chúng tôi phát hành tài liệu mới. 

Tóm tắt hiệu quả với ChatGPT

Các đại lý tóm tắt được sử dụng trên Internet. Chẳng hạn, các trang web sử dụng các tác nhân tóm tắt để cung cấp các bản tóm tắt ngắn gọn về các bài báo, cho phép người dùng có được cái nhìn tổng quan nhanh về tin tức mà không cần đi sâu vào toàn bộ nội dung. Các nền tảng truyền thông xã hội và công cụ tìm kiếm cũng làm điều này.

Từ các công cụ tổng hợp tin tức và nền tảng truyền thông xã hội đến các trang web thương mại điện tử, các đại lý tóm tắt đã trở thành một phần không thể thiếu trong bối cảnh kỹ thuật số của chúng tôi. Và với sự gia tăng của LLM, một số tác nhân này hiện đang sử dụng AI để có kết quả tổng kết hiệu quả hơn.

ChatGPT có thể là một đồng minh tốt khi xây dựng một ứng dụng sử dụng các tác nhân tóm tắt để tăng tốc các tác vụ đọc và phân loại văn bản. Ví dụ: hãy tưởng tượng chúng tôi có một doanh nghiệp thương mại điện tử và chúng tôi quan tâm đến việc xử lý tất cả các đánh giá của khách hàng. ChatGPT có thể giúp chúng tôi tóm tắt bất kỳ đánh giá cụ thể nào trong một vài câu, chuẩn hóa đánh giá đó thành định dạng chung, xác định tình cảm của đánh giá, và phân loại nó phù hợp.

Mặc dù đúng là chúng tôi chỉ có thể cung cấp đánh giá cho ChatGPT, nhưng có một danh sách các phương pháp hay nhất — và những điều cần tránh — để tận dụng sức mạnh của ChatGPT trong nhiệm vụ cụ thể này.

Hãy khám phá các tùy chọn bằng cách đưa ví dụ này vào cuộc sống!

Ví dụ: Đánh giá thương mại điện tử

Tự làm gif.

Hãy xem xét ví dụ ở trên mà chúng tôi quan tâm đến việc xử lý tất cả các đánh giá cho một sản phẩm nhất định trên trang web thương mại điện tử của chúng tôi. Chúng tôi sẽ quan tâm đến việc xử lý các đánh giá, chẳng hạn như đánh giá sau đây về sản phẩm ngôi sao của chúng tôi: chiếc máy tính đầu tiên dành cho trẻ em!

prod_review = """
I purchased this children's computer for my son, and he absolutely adores it. He spends hours exploring its various features and engaging with the educational games. The colorful design and intuitive interface make it easy for him to navigate. The computer is durable and built to withstand rough handling, which is perfect for active kids. My only minor gripe is that the volume could be a bit louder. Overall, it's an excellent educational toy that provides hours of fun and learning for my son. It arrived a day earlier
than expected, so I got to play with it myself before I gave it to him. """

Trong trường hợp này, chúng tôi muốn ChatGPT đó:

  • Phân loại đánh giá thành tích cực hoặc tiêu cực.
  • Cung cấp một bản tóm tắt đánh giá của 20 từ.
  • Xuất phản hồi với cấu trúc cụ thể để chuẩn hóa tất cả các đánh giá thành một định dạng duy nhất.

Ghi chú triển khai

Đây là cấu trúc mã cơ bản mà chúng tôi có thể sử dụng để nhắc ChatGPT từ ứng dụng tùy chỉnh của mình. Tôi cũng cung cấp một liên kết đến một Máy tính xách tay Jupyter với tất cả các ví dụ được sử dụng trong bài viết này.

import openai
import os openai.api_key_path = "/path/to/key" def get_completion(prompt, model="gpt-3.5-turbo"): """
This function calls ChatGPT API with a given prompt
and returns the response back. """ messages = [{"role": "user", "content": prompt}] response = openai.ChatCompletion.create( model=model, messages=messages, temperature=0 ) return response.choices[0].message["content"] user_text = f"""
<Any given text> """ prompt = f"""
<Any prompt with additional text> """{user_text}""" """ # A simple call to ChatGPT
response = get_completion(prompt)

Các chức năng get_completion() gọi API ChatGPT với một số nhất định nhanh chóng. Nếu lời nhắc chứa thêm văn bản người dùng, chẳng hạn như bản thân bài đánh giá trong trường hợp của chúng tôi, nó được phân tách khỏi phần còn lại của mã bằng ba dấu ngoặc kép.

Hãy sử dụng get_completion() chức năng nhắc ChatGPT!

Đây là lời nhắc đáp ứng các yêu cầu được mô tả ở trên:

prompt = f"""
Your task is to generate a short summary of a product review from an e-commerce site. Summarize the review below, delimited by triple backticks, in exactly 20 words. Output a json with the sentiment of the review, the summary and original review as keys. Review: ```{prod_review}``` """
response = get_completion(prompt)
print(response)

⚠️ Nguyên tắc nhắc nhở được sử dụng trong ví dụ này, chẳng hạn như sử dụng dấu phân cách để tách văn bản đầu vào khỏi phần còn lại của lời nhắc và yêu cầu đầu ra có cấu trúc được giải thích đầy đủ tại Những gì tôi học được từ khóa học của OpenAI về Kỹ thuật nhắc nhở — Nguyên tắc nhắc nhở.

Đây là câu trả lời của ChatGPT:

{ "sentiment": "positive", "summary": "Durable and engaging children's computer with intuitive interface and educational games. Volume could be louder.", "review": "I purchased this children's computer for my son, and he absolutely adores it. He spends hours exploring its various features and engaging with the educational games. The colorful design and intuitive interface make it easy for him to navigate. The computer is durable and built to withstand rough handling, which is perfect for active kids. My only minor gripe is that the volume could be a bit louder. Overall, it's an excellent educational toy that provides hours of fun and learning for my son. It arrived a day earlierthan expected, so I got to play with it myself before I gave it to him."
}

Như chúng ta có thể quan sát từ đầu ra, đánh giá là chính xác và có cấu trúc tốt, mặc dù nó bỏ lỡ một số thông tin mà chúng tôi có thể quan tâm với tư cách là chủ sở hữu của thương mại điện tử, chẳng hạn như thông tin về việc giao sản phẩm.

Tóm tắt tập trung vào

Chúng tôi có thể lặp đi lặp lại việc cải thiện lời nhắc yêu cầu ChatGPT tập trung vào những điều nhất định trong bản tóm tắt. Trong trường hợp này, chúng tôi quan tâm đến bất kỳ chi tiết nào được đưa ra về việc vận chuyển và giao hàng:

prompt = f"""
Your task is to generate a short summary of a product review from an ecommerce site. Summarize the review below, delimited by triple backticks, in exactly 20 words and focusing on any aspects that mention shipping and delivery of the product. Output a json with the sentiment of the review, the summary and original review as keys. Review: ```{prod_review}``` """ response = get_completion(prompt)
print(response)

Lần này, câu trả lời của ChatGPT như sau:

{ "sentiment": "positive", "summary": "Durable and engaging children's computer with intuitive interface. Arrived a day earlier than expected.", "review": "I purchased this children's computer for my son, and he absolutely adores it. He spends hours exploring its various features and engaging with the educational games. The colorful design and intuitive interface make it easy for him to navigate. The computer is durable and built to withstand rough handling, which is perfect for active kids. My only minor gripe is that the volume could be a bit louder. Overall, it's an excellent educational toy that provides hours of fun and learning for my son. It arrived a day earlierthan expected, so I got to play with it myself before I gave it to him."
}

Bây giờ đánh giá là đầy đủ hơn nhiều. Cung cấp chi tiết về trọng tâm quan trọng của đánh giá ban đầu là rất quan trọng để tránh ChatGPT bỏ qua một số thông tin có thể có giá trị cho trường hợp sử dụng của chúng tôi.

Bạn có nhận thấy rằng mặc dù bản dùng thử thứ hai này bao gồm thông tin về việc giao hàng nhưng nó đã bỏ qua khía cạnh tiêu cực duy nhất của bản đánh giá ban đầu?

Hãy sửa nó đi!

“Trích xuất” thay vì “Tóm tắt”

Bằng cách điều tra các nhiệm vụ tóm tắt, tôi phát hiện ra rằng tóm tắt có thể là một nhiệm vụ khó khăn đối với LLM nếu lời nhắc của người dùng không đủ chính xác.

Khi yêu cầu ChatGPT cung cấp bản tóm tắt của một văn bản nhất định, ChatGPT có thể bỏ qua thông tin có thể liên quan đến chúng tôi — như chúng ta đã trải nghiệm gần đây — hoặc nó sẽ đưa ra tầm quan trọng như nhau cho tất cả các chủ đề trong văn bản, chỉ cung cấp một cái nhìn tổng quan về các điểm chính.

Các chuyên gia về LLM sử dụng thuật ngữ trích xuất và thông tin bổ sung về trọng tâm của họ thay vì tóm tắt khi thực hiện các nhiệm vụ như vậy được hỗ trợ bởi các loại mô hình này.

Trong khi tóm tắt nhằm mục đích cung cấp một cái nhìn tổng quan ngắn gọn về các điểm chính của văn bản bao gồm các chủ đề không liên quan đến chủ đề trọng tâm, khai thác thông tin tập trung vào việc truy xuất các chi tiết cụ thể và có thể cung cấp cho chúng tôi những gì chúng tôi đang tìm kiếm chính xác. Hãy thử sau đó với khai thác!

prompt = f"""
Your task is to extract relevant information from a product review from an ecommerce site to give feedback to the Shipping department. From the review below, delimited by triple quotes extract the information relevant to shipping and delivery. Use 100 characters. Review: ```{prod_review}``` """ response = get_completion(prompt)
print(response)

Trong trường hợp này, bằng cách sử dụng trích xuất, chúng tôi chỉ nhận được thông tin về chủ đề trọng tâm của chúng tôi: Shipping: Arrived a day earlier than expected.

Tự động hóa

Hệ thống này hoạt động cho một đánh giá duy nhất. Tuy nhiên, khi thiết kế lời nhắc cho một ứng dụng cụ thể, điều quan trọng là phải kiểm tra nó trong một loạt các ví dụ để chúng tôi có thể phát hiện bất kỳ điểm ngoại lệ hoặc hành vi sai nào trong mô hình.

Trong trường hợp xử lý nhiều đánh giá, đây là cấu trúc mã Python mẫu có thể hữu ích.

reviews = [ "The children's computer I bought for my daughter is absolutely fantastic! She loves it and can't get enough of the educational games. The delivery was fast and arrived right on time. Highly recommend!", "I was really disappointed with the children's computer I received. It didn't live up to my expectations, and the educational games were not engaging at all. The delivery was delayed, which added to my frustration.", "The children's computer is a great educational toy. My son enjoys playing with it and learning new things. However, the delivery took longer than expected, which was a bit disappointing.", "I am extremely happy with the children's computer I purchased. It's highly interactive and keeps my kids entertained for hours. The delivery was swift and hassle-free.", "The children's computer I ordered arrived damaged, and some of the features didn't work properly. It was a huge letdown, and the delivery was also delayed. Not a good experience overall."
] prompt = f""" Your task is to generate a short summary of each product review from an e-commerce site. Extract positive and negative information from each of the given reviews below, delimited by triple backticks in at most 20 words each. Extract information about the delivery, if included. Review: ```{reviews}``` """

Dưới đây là tóm tắt về loạt bài đánh giá của chúng tôi:

1. Positive: Fantastic children's computer, fast delivery. Highly recommend.
2. Negative: Disappointing children's computer, unengaging games, delayed delivery.
3. Positive: Great educational toy, son enjoys it. Delivery took longer than expected.
4. Positive: Highly interactive children's computer, swift and hassle-free delivery.
5. Negative: Damaged children's computer, some features didn't work, delayed delivery.

⚠️ Lưu ý rằng mặc dù giới hạn từ trong phần tóm tắt của chúng tôi đã đủ rõ ràng trong lời nhắc của chúng tôi, nhưng chúng tôi có thể dễ dàng nhận thấy rằng giới hạn từ này không được thực hiện trong bất kỳ lần lặp lại nào.

Sự không khớp trong việc đếm từ này xảy ra do các LLM không hiểu chính xác về số lượng từ hoặc ký tự. Lý do đằng sau điều này phụ thuộc vào một trong những thành phần quan trọng chính trong kiến ​​trúc của họ: mã thông báo.

mã thông báo

Các LLM như ChatGPT được thiết kế để tạo văn bản dựa trên các mẫu thống kê đã học được từ lượng dữ liệu ngôn ngữ khổng lồ. Mặc dù chúng có hiệu quả cao trong việc tạo ra văn bản trôi chảy và mạch lạc, nhưng chúng lại thiếu khả năng kiểm soát chính xác đối với số lượng từ.

Trong các ví dụ trên, khi chúng tôi đưa ra hướng dẫn về cách đếm từ rất chính xác, ChatGPT đã phải vật lộn để đáp ứng các yêu cầu đó. Thay vào đó, nó tạo ra văn bản thực sự ngắn hơn số lượng từ đã chỉ định.

Trong các trường hợp khác, nó có thể tạo ra các văn bản dài hơn hoặc đơn giản là văn bản quá dài dòng hoặc thiếu chi tiết. Ngoài ra, ChatGPT có thể ưu tiên các yếu tố khác như tính mạch lạc và mức độ liên quan, thay vì tuân thủ nghiêm ngặt số lượng từ. Điều này có thể dẫn đến văn bản có chất lượng cao về mặt nội dung và tính mạch lạc, nhưng không khớp chính xác với yêu cầu về số lượng từ.

Trình mã thông báo là yếu tố chính trong kiến ​​trúc của ChatGPT, ảnh hưởng rõ ràng đến số lượng từ trong đầu ra được tạo.

Tự làm gif.

Kiến trúc mã thông báo

Mã thông báo là bước đầu tiên trong quá trình tạo văn bản. Nó chịu trách nhiệm chia nhỏ đoạn văn bản mà chúng tôi nhập vào ChatGPT thành các phần tử riêng lẻ — mã thông báo — , sau đó được mô hình ngôn ngữ xử lý để tạo văn bản mới.

Khi trình mã thông báo chia nhỏ một đoạn văn bản thành các mã thông báo, nó sẽ làm như vậy dựa trên một bộ quy tắc được thiết kế để xác định các đơn vị có ý nghĩa của ngôn ngữ đích. Tuy nhiên, các quy tắc này không phải lúc nào cũng hoàn hảo và có thể có trường hợp trình mã thông báo tách hoặc hợp nhất các mã thông báo theo cách ảnh hưởng đến tổng số từ của văn bản.

Ví dụ, hãy xem xét câu sau: “Tôi muốn ăn bánh sandwich bơ đậu phộng”. Nếu trình mã thông báo được định cấu hình để phân chia mã thông báo dựa trên dấu cách và dấu chấm câu, nó có thể chia câu này thành các mã thông báo sau với tổng số từ là 8, bằng với số lượng mã thông báo.

Hình ảnh tự làm.

Tuy nhiên, nếu tokenizer được cấu hình để xử lý “bơ đậu phộng” như một từ ghép, nó có thể chia câu thành các dấu hiệu sau, với tổng số từ là 8, nhưng số lượng mã thông báo là 7.

Do đó, cách cấu hình mã thông báo có thể ảnh hưởng đến tổng số từ của văn bảnvà điều này có thể ảnh hưởng đến khả năng LLM tuân theo hướng dẫn về số lượng từ chính xác. Mặc dù một số trình mã hóa cung cấp các tùy chọn để tùy chỉnh cách văn bản được mã hóa, nhưng điều này không phải lúc nào cũng đủ để đảm bảo tuân thủ chính xác các yêu cầu về số lượng từ. Đối với ChatGPT trong trường hợp này, chúng tôi không thể kiểm soát phần kiến ​​trúc này.

Điều này làm cho ChatGPT không hoàn thành tốt các giới hạn về ký tự hoặc từ, nhưng thay vào đó, người ta có thể thử với các câu vì trình mã thông báo không ảnh hưởng số lượng câu, nhưng độ dài của chúng.

Nhận thức được hạn chế này có thể giúp bạn xây dựng lời nhắc phù hợp nhất cho ứng dụng của mình. Có kiến ​​thức này về cách hoạt động của tính năng đếm từ trên ChatGPT, hãy thực hiện lần cuối cùng với lời nhắc của chúng tôi cho ứng dụng thương mại điện tử!

Kết thúc: Đánh giá thương mại điện tử

Hãy kết hợp những điều chúng ta học được từ bài viết này thành lời nhắc cuối cùng! Trong trường hợp này, chúng tôi sẽ yêu cầu kết quả trong HTML format cho đầu ra đẹp hơn:

from IPython.display import display, HTML prompt = f"""
Your task is to extract relevant information from a product review from an ecommerce site to give feedback to the Shipping department and generic feedback from the product. From the review below, delimited by triple quotes construct an HTML table with the sentiment of the review, general feedback from
the product in two sentences and information relevant to shipping and delivery. Review: ```{prod_review}``` """ response = get_completion(prompt)
display(HTML(response))

Và đây là kết quả cuối cùng từ ChatGPT:

Ảnh chụp màn hình tự tạo từ Máy tính xách tay Jupyter với các ví dụ được sử dụng trong bài viết này.

Tổng kết

Trong bài viết này, chúng tôi đã thảo luận về các phương pháp hay nhất để sử dụng ChatGPT làm tác nhân tóm tắt cho ứng dụng tùy chỉnh của chúng tôi.

Chúng tôi đã thấy rằng khi xây dựng một ứng dụng, rất khó để đưa ra lời nhắc hoàn hảo phù hợp với yêu cầu ứng dụng của bạn trong lần dùng thử đầu tiên. Tôi nghĩ rằng một thông điệp tốt đẹp mang về nhà là để nghĩ về nhắc nhở như một quá trình lặp đi lặp lại nơi bạn tinh chỉnh và mô hình hóa lời nhắc của mình cho đến khi bạn nhận được chính xác đầu ra mong muốn.

Bằng cách lặp đi lặp lại việc tinh chỉnh lời nhắc của bạn và áp dụng nó cho một loạt các ví dụ trước khi triển khai nó vào sản xuất, bạn có thể chắc chắn rằng đầu ra nhất quán qua nhiều ví dụ và bao gồm các phản hồi ngoại lệ. Trong ví dụ của chúng tôi, có thể xảy ra trường hợp ai đó cung cấp một văn bản ngẫu nhiên thay vì đánh giá. Chúng tôi có thể hướng dẫn ChatGPT cũng có đầu ra được chuẩn hóa để loại trừ các phản hồi ngoại lệ này.

Ngoài ra, khi sử dụng ChatGPT cho một nhiệm vụ cụ thể, bạn cũng nên tìm hiểu về những ưu và nhược điểm của việc sử dụng LLM cho nhiệm vụ mục tiêu của mình. Đó là cách chúng tôi nhận ra thực tế rằng các tác vụ trích xuất hiệu quả hơn so với tóm tắt khi chúng tôi muốn có một bản tóm tắt giống như con người thông thường về văn bản đầu vào. Chúng tôi cũng đã học được rằng việc cung cấp trọng tâm của bản tóm tắt có thể là một thay đổi cuộc chơi liên quan đến nội dung được tạo ra.

Cuối cùng, trong khi các LLM có thể có hiệu quả cao trong việc tạo ra văn bản, chúng không lý tưởng để làm theo hướng dẫn chính xác về số lượng từ hoặc các yêu cầu định dạng cụ thể khác. Để đạt được những mục tiêu này, có thể cần phải sử dụng cách đếm câu hoặc sử dụng các công cụ hoặc phương pháp khác, chẳng hạn như chỉnh sửa thủ công hoặc phần mềm chuyên dụng hơn.

Bài viết này ban đầu được xuất bản vào Hướng tới khoa học dữ liệu và được xuất bản lại lên TOPBOTS với sự cho phép của tác giả.

Thưởng thức bài viết này? Đăng ký để cập nhật thêm nghiên cứu AI.

Chúng tôi sẽ cho bạn biết khi chúng tôi phát hành thêm các bài viết tóm tắt như thế này.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img