Đồ án tốt nghiệp: Hệ thống tìm kiếm thông tin bán hàng ứng dụng kỹ thuật phân tích giá trị riêng

MỤC LỤC

2 3. CÁCH GIẢI QUYẾT

  • CÀI ĐẶT

    LSA dùng kỹ thuật phân tích giá trị riêng (SVD-singular value decomposition) để giảm bớt để giảm bớt kích thước ma trận thuật ngữ-tài liệu, không gian N-chiều sẽ được giảm bớt xuống một không gian K chiều, K<<N, không gian mới này được gọi là không gian khái niệm.  Đề xuất mô hình và phương thức triển khai cho phần mở rộng dự án, xây dựng hệ thống CSDL động trên Internet và đẩy hết các quá trình xử lý thành on-line (hệ thống như một tool tìm kiếm cho khách hàng. Hệ thống sẽ bắt đầu khi người dùng bắt đầu phiên làm việc).

    Hình  1: Hình minh họa tập tách văn bản
    Hình 1: Hình minh họa tập tách văn bản

    VẤN ĐỀ VÀ THỰC TRẠNG

    ĐẶT BÀI TOÁN

    Người dùng thiết lập một phiên giao dịch, bằng việc đăng nhập vào hệ thống hoặc có thể không cần đăng nhập (Tất nhiên, khi đăng nhập vào hệ thống sẽ được hỗ trợ một số tính năng tìm kiếm nâng cao). Với loại kết quả thứ hai, hệ thống sẽ cung cấp cho người dùng những văn bản mà qua những lần truy cập hệ thống trước đó, hệ thống ghi nhận những tài liệu mà các người dùng trước đã đọc khi đọc tài liệu này học tài liệu khác cùng chủ đề hay có độ tương đồng nhất định với tài liệu đó.

    Hình  6: Mô hình sơ đồ hệ thống gợi ý cho người dùng
    Hình 6: Mô hình sơ đồ hệ thống gợi ý cho người dùng

    CÁC VẤN ĐỀ VÀ CÁC GIẢI PHÁP HIỆN TẠI

      • Nghệ sĩ liên quan: Dựa trên các thông tin về nghệ sĩ (các bài hát, thể loại sáng tác hay trình bày, mức độ quan tâm của người dùng…), hệ thống sẽ tính toán để đo mức liên quan giữa các nghệ sĩ, sau đó đưa ra danh sách các nghệ sĩ có độ liên quan cao nhất. • Giới thiệu các bài hát mới: Dựa vào tiểu sử người dùng (các bài hát đã nghe qua, đánh giá của người dùng về các bài hát đã nghe), hệ thống sẽ tiến hành dự đoán mức độ ưa thích của người dùng đối với các bài hát chưa nghe.

      Hình  8: Giao diện tìm kiếm của Amazone.com
      Hình 8: Giao diện tìm kiếm của Amazone.com

      CƠ SỞ LÝ THUYẾT

      CÁC BỘ MÁY TÌM KIẾM <SEARCH ENGINE>

        Vừa qua, thương vụ mua bán Yahoo với Microsoft không thành, khiến nhiều chuyên gia đánh giá, trong thời gian tới, cả 2 hãng này sẽ có bước đột phá trong công nghệ tìm kiếm và đánh giá các site. Ask Jeeves bắt đầu nổi tiếng từ năm 1998 và 1999, được biết như một công cụ tìm kiếm “ngôn ngữ tự nhiên” cho phép ta tìm kiếm bằng cách đặt câu hỏi và trả về kết quả với những gì có vẻ là trả lời đúng. Nhiều công ty lớn đang thật sự hướng đến vấn đề của tìm kiếm ngữ nghĩa, sự phát triển của Microsoft về web có lẽ phụ thuộc vào khả năng của nó để hoàn thiện công cụ tìm kiếm mà dẫn đầu là Google.

        Sau đó Microsoft sẽ kết nối công cụ tìm kiếm của nó với cômg MSN trong phiên bản Wíndows kế tiếp của nó nhằm dễ dàng tìm kiếm e-mail, spreadsheets và các tài liệu trên PC. Nếu xem xét các vấn đề thực tế của tìm kiếm ngữ nghĩa, chúng ta sẽ thấy rằng, cây tìm kiếm đứng trước tình trạng thiếu logic đưa đến vấn đề chưa hoàn tất hay “ngắc ngứ”. Vì vậy, để đạt hiệu quả, có một nhóm các khả năng phân nhánh để bằng cách nào đó hướng tới một giải pháp đúng, và nhóm các phân nhánh đó có thể trải ra trong các hướng mới lạ.

        Robot là một chương trình tự động duyệt qua các cấu trúc siêu liên kết để thu thập tài liệu và đệ quy nó để nhật về tất cả các tài liệu có liên quan với tài liệu này. Hệ thống lập chỉ mục hay gọi là hệ thống phân tích và xử lý dữ liệu thực hiện việc phân tích, trích chọn những thông tin cần thiết (thường là các từ đơn, từ ghép, cụm từ quan trọng) từ những dữ liệu mà robot thu thập được và tổ chức thành cơ sở dữ liệu riêng để có thể tìm kiếm trên đó một cách nhanh chóng, hiệu quả.

        Hình  13: Giao diện tìm kiếm Yahoo
        Hình 13: Giao diện tìm kiếm Yahoo

        XỬ LÝ VĂN BẢN TIẾNG VIỆT

          Trên thực tế, chúng ta khó có thể biết được chính xác số lượng các tài liệu tiếng Việt đã được lập chỉ mục, do đó, thông qua thực nghiệm1 giá trị df của các từ thông dụng, chúng tôi chọn giá trị MAX là 109. Dựa vào nguyên lý tiến hóa và di truyền, giải thuật di truyền thích hợp cho việc xác định (xấp xỉ) các lời giải tối ưu hóa toàn cục trong không gian tìm kiếm rất lớn thay vì các lời giải tối ưu cục bộ (Michalewicz, [10]). Chất lượng của mỗi cá thể trong quần thể được xác định bằng hàm thích nghi và qua mỗi thế hệ, chúng ta sẽ chọn lại N cá thể tốt nhất sau khi thực hiện quá trình lai, biến dị và tái sinh.

          Tuy nhiên, nếu cá thể con vi phạm các điều kiện giới hạn về kích thước (mỗi đoạn wk có kích thước tối đa là 4), ta sẽ chuẩn hóa cá thể này bằng cách đảo các bit gây ra vi phạm ở cuối đoạn này. Ôtômát từ vựng được xây dựng tương tự, với điểm khác như sau: thay vì ghi trên mỗi cung chuyển một âm tiết, ta ghi số hiệu của trạng thái (kết) của ôtômát âm tiết tại đó đoán nhận mỗi âm tiết của từ nhằm giảm kích thước của ôtômát từ vựng. Ví dụ, với hai từ phương pháp và phương trình, giả sử khi đưa lần lượt các âm tiết phương, pháp, trình qua ôtômát âm tiết, ta đến được các trạng thái kết ghi các số n1, n2, n3 thì trên các cung chuyển tương ứng ta ghi các số n1, n2, n3 (Hình 2).

          Nếu mỗi ký tự (char) được ghi vào tệp với kích thước 2 byte (mã Unicode), mỗi số nguyên (int) có kích thước 4 byte thì tệp lưu ôtômát âm tiết có kích thước 146KB, tệp ôtômát từ vựng có kích thước 1MB. Dựa vào tính chất này, ta thấy rằng nếu đồ thị không liên thông thì dễ dàng phát hiện ra rằng đơn vị âm tiết không đoán nhận được không nằm trong từ điển âm tiết, tức nó bị viết sai chính tả hoặc là một đơn vị âm tiết (từ vựng) mới.

          GIẢI PHÁP KỸ THUẬT

          • GIẢI PHÁP ĐỌC ĐỊNH DẠNG TÀI LIỆU
            • GIẢI PHÁP TÁCH TỪ

              Việc xử lý các stopword của tiếng anh thì chúng tôi cũng có một file gồm hơn 300 từ stopword của tiếng Anh để phục vụ cho việc loại bỏ stopword khỏi văn bản tách để tách ra những từ quan trọng, tránh những từ mang ý nghĩa chung, hay chỉ là cảm thán. Hiện có rất nhiều chương trình hỗ trợ việc phân tích cú pháp, tách từ, gán nhãn từ tiếng Việt cùng với các giải thuật thuật toán khác nhau. Những đồ án được tham khảo là chương trình Code_correct (chính xác loại văn bản dựa vào tập huấn luyện), chương trình VNSegment của tác giả Phương Thái (chương trình khá hoàn chỉnh trong việc tách từ và phân loại từ tiếng Việt. Chỉ có điều viết trên nền Java và không được cung cấp sourcode và file thư viện), chương trình VNTokenizer (đề cập tới một số nghiên cứu hữu ích cho việc tác từ).

              Khi đọc một từ, ta tách âm tiết đầu tiên của nó và kiểm tra trước với các phần tử đầu tiên của mảng, sau đó, kiểm tra tiếp với các phần tử trong mảng của nó. Sau khi các thu được bộ từ khóa cho từng văn bản, phương pháp LSA sẽ phân tích trên bộ từ khóa đó với các văn bản khác để tìm ra mức độ tương đồng. Khi người dùng click vào những tài liệu gợi ý Cs (tài liệu được hệ thống đưa ra khi người dùng quyết định đọc một tài liệu nào đó - A), hệ thống sẽ cập nhật mức độ yêu thích với các tài liệu gợi ý C(một trong các Cs) của tài liệu A.

              Khi đăng ký tài khoản với hệ thống, hệ thống sẽ ghi nhận các sở thích ứng với người dùng đó, dùng làm các thông tin phục vụ cho bộ lọc các kết quả trả về trong màn hình tìm kiếm cho người dùng. Nên giải pháp công nghệ được đề xuất là môi trường .NET 2.0, hệ quản trị cơ sở dữ liệu MS SQL server 2005 để lưu trữ các index của tài liệu thu thập được.

              Hình  19: Giải thuật tách từ từ câu
              Hình 19: Giải thuật tách từ từ câu

              XÂY DỰNG CHƯƠNG TRÌNH, CÀI ĐẶT CHẠY DEMO

                CÁC MODUL

                  Phương thức tiến hành tìm kiếm một xâu Term có thuộc từ điển hay không. Trong phương thức này, tôi cài đặt thuật giải tìm kiếm nhị phân (một trong các giải thuật để tăng tốc độ tìm kiếm). Nhận biết các ký tự dấu chấm câu, dấu chấm trong mail, hay trong số hàng nghìn.

                  Lớp sẽ thể hiện giải thuật tách câu thành các từ, cụm từ để kiểm tra nó có trong từ điển hay không. Thuật toán đọc từ là thuật “từ trái sang”, đã được trình bày ở phần trên. Lớp được khởi tạo với phương thức này, với path là file+đường dẫn đầy đủ đến file stopword.

                  Trong phương thức này cũng loại bỏ các từ stopword từ mảng các từ stopword được lưu trong phương thức khởi tạo stopword trên. Đầu vào của modul là tập tài liệu và tập các từ khóa, đầu ra là cập nhật cơ sở dữ liệu các thông tin về độ tương đồng giữa các tài liệu.