Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để xây dựng một công cụ 'câu hỏi liên quan'?

Nếu bạn muốn tự mình xây dựng thứ gì đó như thế này từ đầu, bạn sẽ sử dụng một thứ gọi là TF / IDF:Tần suất thuật ngữ / Tần suất tài liệu nghịch đảo. Điều đó có nghĩa là, để đơn giản hóa nó, bạn tìm các từ trong truy vấn không phổ biến trong toàn bộ kho tài liệu và tìm các tài liệu có những từ đó.

Nói cách khác, nếu ai đó nhập một truy vấn có từ "Tôi muốn mua một con voi" trong đó, thì trong số các từ trong truy vấn, từ "voi" có lẽ là từ ít phổ biến nhất trong kho ngữ liệu của bạn. "Mua" có lẽ là tiếp theo. Vì vậy, bạn xếp hạng tài liệu (trong trường hợp của bạn là các truy vấn trước đó) theo mức độ chúng chứa từ "con voi" và sau đó chúng chứa từ "mua" là bao nhiêu. Các từ "I", "to" và "an" có thể nằm trong danh sách dừng, vì vậy bạn hoàn toàn bỏ qua chúng. Bạn xếp hạng mỗi tài liệu (truy vấn trước đó, trong trường hợp của bạn) theo số lượng từ phù hợp có (trọng số theo tần suất nghịch đảo của tài liệu - tức là tỷ trọng cao đối với các từ không phổ biến) và hiển thị một số từ hàng đầu.

Tôi đã đơn giản hóa quá mức và bạn cần phải đọc kỹ điều này để làm đúng, nhưng nó thực sự không quá phức tạp để triển khai một cách đơn giản. Trang Wikipedia có thể là một nơi tốt để bắt đầu:

http://en.wikipedia.org/wiki/Tf%E2%80 % 93idf



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhập kho mysql 8GB mất nhiều thời gian

  2. Cập nhật cột nếu giá trị đầu vào không rỗng, nếu không, hãy bỏ qua và giữ các giá trị hiện có của cột trong cơ sở dữ liệu

  3. MySQL:Cắt ngắn Bảng so với Xóa khỏi Bảng

  4. Laravel:truy vấn kết hợp bên trái

  5. Làm cách nào để tôi có thể lặp qua tất cả các hàng của bảng? (MySQL)