Xây dựng ứng dụng React Phân tích tình cảm bằng API OpenAI
Trong bối cảnh kỹ thuật số, việc có quyền truy cập vào dữ liệu có thể hành động, đặc biệt là thông tin chi tiết cụ thể về khách hàng của bạn, có thể giúp bạn vượt lên dẫn trước đối thủ.
Phân tích tình cảm đã trở thành một chiến lược phổ biến vì nó tạo ra kết quả đáng tin cậy. Bạn có thể sử dụng nó để lập trình xác định quan điểm và nhận thức của mọi người về sản phẩm của bạn. Bạn có thể khám phá các điểm dữ liệu quan trọng khác mà bạn có thể sử dụng để đưa ra các quyết định kinh doanh quan trọng.
Với các công cụ như API của OpenAI, bạn có thể phân tích và tạo thông tin chi tiết và có thể hành động về khách hàng của mình. Đọc tiếp để tìm hiểu cách tích hợp API phân loại tweet nâng cao của nó để phân tích thông tin đầu vào của người dùng.
Mục Lục
Giới thiệu về GPT
Generative Pre-training Transformer (GPT-3) của OpenAI là một mô hình ngôn ngữ lớn được đào tạo dựa trên lượng dữ liệu văn bản khổng lồ, giúp nó có khả năng tạo phản hồi nhanh chóng cho bất kỳ truy vấn nào được đưa vào nó. Nó sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên để hiểu và xử lý các truy vấn — lời nhắc của người dùng.
GPT-3 đã trở nên phổ biến nhờ khả năng xử lý lời nhắc của người dùng và phản hồi ở định dạng đàm thoại.
Mô hình này đặc biệt cần thiết trong phân tích tình cảm vì bạn có thể sử dụng nó để đánh giá và xác định chính xác tình cảm của khách hàng đối với sản phẩm, thương hiệu của bạn và các chỉ số quan trọng khác.
Đi sâu vào phân tích cảm tính bằng GPT
Phân tích tình cảm là một nhiệm vụ xử lý ngôn ngữ tự nhiên liên quan đến việc xác định và phân loại tình cảm được thể hiện trong dữ liệu văn bản như câu và đoạn văn.
GPT có thể xử lý dữ liệu tuần tự để có thể phân tích cảm tính. Toàn bộ quá trình phân tích bao gồm đào tạo mô hình với các bộ dữ liệu lớn gồm dữ liệu văn bản được gắn nhãn được phân loại là tích cực, tiêu cực hoặc trung tính.
Sau đó, bạn có thể sử dụng một mô hình đã được đào tạo để xác định cảm tính của dữ liệu văn bản mới. Về cơ bản, mô hình học cách xác định tình cảm bằng cách phân tích các mẫu và cấu trúc của văn bản. Sau đó, nó phân loại nó và tạo ra một phản hồi.
Hơn nữa, GPT có thể được tinh chỉnh để đánh giá dữ liệu từ các miền thích hợp, chẳng hạn như phương tiện truyền thông xã hội hoặc phản hồi của khách hàng. Điều này giúp cải thiện độ chính xác của mô hình trong các ngữ cảnh cụ thể bằng cách đào tạo mô hình bằng các biểu thức cảm xúc duy nhất cho miền cụ thể đó.
Trình phân loại Tweet nâng cao OpenAI tích hợp
API này sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên để phân tích dữ liệu văn bản như tin nhắn hoặc tweet để xác định xem chúng có tình cảm tích cực, tiêu cực hay trung lập.
Ví dụ: nếu một văn bản có âm điệu tích cực, API sẽ phân loại văn bản đó là “tích cực”, nếu không, nó sẽ được gắn nhãn là “tiêu cực” hoặc “trung lập”.
Hơn nữa, bạn có thể tùy chỉnh các danh mục và sử dụng các từ cụ thể hơn để mô tả tình cảm. Chẳng hạn, thay vì chỉ gắn nhãn dữ liệu văn bản cụ thể là “tích cực”, bạn có thể chọn một danh mục mang tính mô tả hơn như “hạnh phúc”.
Định cấu hình Trình phân loại Tweet nâng cao
Để bắt đầu, hãy truy cập Bảng điều khiển dành cho nhà phát triển của OpenAI và đăng ký tài khoản. Bạn sẽ cần khóa API của mình để tương tác với API phân loại tweet nâng cao từ ứng dụng React của bạn.
Trên trang tổng quan, nhấp vào Hồ sơ ở trên cùng bên phải và chọn Xem khóa API.
Sau đó bấm vào Tạo khóa bí mật mới để tạo khóa API mới cho ứng dụng của bạn. Đảm bảo sao chép khóa để sử dụng trong bước tiếp theo.
Tạo ứng dụng khách phản ứng
Nhanh chóng khởi động dự án React của bạn cục bộ. Tiếp theo, trong thư mục gốc của thư mục dự án của bạn, hãy tạo một .env tệp để giữ khóa bí mật API của bạn.
REACT_APP_OPEN_AI_API_KEY='your API key'
Định cấu hình Thành phần App.js
Mở src/App.js tệp, hãy xóa mã React soạn sẵn và thay thế bằng mã sau:
- Thực hiện nhập khẩu sau:
import './App.css';
import React, {useState} from 'react'; - Xác định thành phần Ứng dụng chức năng và các biến trạng thái để lưu giữ thông điệp của người dùng và cảm xúc của họ sau khi phân tích.
function App() {
const [message, setMessage] = useState("");
const [sentiment, setSentiment] = useState(""); - Tạo một chức năng xử lý sẽ thực hiện các yêu cầu HTTP POST không đồng bộ tới Trình phân loại Tweet nâng cao chuyển cùng với thông báo của người dùng và khóa API trong nội dung yêu cầu để phân tích cảm tính.
- Sau đó, hàm sẽ chờ phản hồi từ API, phân tích cú pháp dưới dạng JSON và trích xuất giá trị cảm tính trong mảng lựa chọn từ dữ liệu đã phân tích cú pháp.
- Cuối cùng, hàm xử lý sẽ kích hoạt hàm setSentiment để cập nhật trạng thái của nó với giá trị cảm tính.
const API_KEY = process.env.REACT_APP_OPEN_AI_API_KEY;const APIBODY ={
'model': "text-davinci-003",
'prompt': "What is the sentiment of this message?" + message,
'max_tokens': 60,
'top_p': 1.0,
'frequency_penalty': 0.0,
'presence_penalty': 0.0,
}async function handleClick() {
await fetch('https://api.openai.com/v1/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'authorization': `Bearer ${API_KEY}`
},
body: JSON.stringify(APIBODY)
}).then(response => {
return response.json()
}).then((data) => {
console.log(data);
setSentiment(data.choices[0].text.trim());
}).catch((error) => {
console.error(error);
});
};
Nội dung yêu cầu chứa một vài tham số, đó là:
- mô hình: chỉ định mô hình OpenAI nào sẽ sử dụng; text-davinci-003 trong trường hợp này.
- lời nhắc: lời nhắc mà bạn sẽ sử dụng để phân tích cảm xúc của tin nhắn đã cho.
- max_tokens: chỉ định số lượng mã thông báo tối đa được đưa vào mô hình để ngăn chặn việc sử dụng quá mức hoặc không cần thiết sức mạnh tính toán của mô hình và cải thiện hiệu suất tổng thể của mô hình.
- top_p, frequency_penalty và hiện diện_penalty: các tham số này điều chỉnh đầu ra của mô hình.
Cuối cùng, trả về hộp thông báo và nút gửi:
return (
<div className="App">
<header className="App-header">
<h2> Sentiment Analysis Application</h2>
<div className="input">
<p> Enter the message to classify </p> <textarea
className="textArea"
type="text"
placeholder="Type your message..."
cols={50}
rows={10}
onChange={(e) => setMessage(e.target.value)}
/>
</div>
<div className="Response">
<button onClick={handleClick}> Get Message sentiment</button>
{sentiment !== "" ? <p> The message is {sentiment} </p> : null}
</div>
</header>
</div>
);
}
export default App;
Tạo lời nhắc người dùng
Bạn có thể tùy chọn, tạo trường nhập liệu nhắc nhở để cho phép bạn xác định cách phân tích thông báo.
Chẳng hạn, thay vì lấy “tích cực” làm cảm xúc cho một thông điệp cụ thể, bạn có thể hướng dẫn mô hình tạo phản hồi và xếp hạng chúng theo thang điểm từ một đến mười, trong đó một là cực kỳ tiêu cực trong khi mười là cực kỳ tích cực.
Thêm mã này vào App.js thành phần. Xác định một biến trạng thái cho dấu nhắc:
const [prompt, setPrompt] = useState("");
Sửa đổi lời nhắc trên APIBODY để sử dụng dữ liệu biến lời nhắc:
const APIBODY = {
'prompt': prompt + message,
}
Thêm trường nhập lời nhắc, ngay phía trên vùng văn bản tin nhắn:
<input
className="prompt"
type="text"
placeholder="Enter prompt..."
onChange={(e) => setPrompt(e.target.value)}
/>
Khởi động máy chủ phát triển để cập nhật các thay đổi đã thực hiện và truy cập http://localhost:3000 để kiểm tra chức năng.
Phân tích cảm tính là một phương pháp kinh doanh thiết yếu có thể cung cấp thông tin chi tiết có giá trị về trải nghiệm và ý kiến của khách hàng, cho phép bạn đưa ra quyết định sáng suốt có thể giúp cải thiện trải nghiệm của khách hàng và tăng doanh thu.
Với sự trợ giúp của các công cụ AI như API OpenAI, bạn có thể sắp xếp hợp lý các quy trình phân tích của mình để có được cảm tính của khách hàng chính xác và đáng tin cậy trong thời gian thực.