2010-01-09 38 views
6

Các bạn có biết tôi có thể tìm thấy sơ đồ thiết kế phân tích cú pháp của công cụ tìm kiếm không? Tôi cần hiểu cách thức xử lý dữ liệu nhập của người dùng. các hàm/thuật toán nào đang được sử dụng? điều kiện. v.v.Sơ đồ lưu lượng của trình phân tích cú pháp công cụ tìm kiếm

Nó không phải là của Google.

câu hỏi cập nhật để công cụ tìm kiếm phân tích cú pháp

Trả lời

6

Bạn cần một sự hiểu biết tốt hơn về công cụ tìm kiếm đầu tiên. Có thường là

1) trình thu thập dữ liệu web, nội dung nào đó nhận được tài liệu bạn muốn thêm vào không gian dữ liệu tìm kiếm của mình. Điều này thường hoàn toàn nằm ngoài phạm vi của những gì bạn gọi là "công cụ tìm kiếm".

2) một trình phân tích cú pháp đang lấy tài liệu và tách nó thành các đoạn văn bản có thể lập chỉ mục. Nếu thường làm việc với các định dạng tệp khác nhau, ngôn ngữ của con người và đang xử lý trước văn bản trong một số bản ghi cố định và văn bản luồng. Thuật toán ngôn ngữ (như stemmers - tìm kiếm Porter Stemmer để có được một đơn giản) cũng được áp dụng ở đây.

3) Trình lập chỉ mục có thể đơn giản như danh sách từ đảo ngược trên mỗi tài liệu hoặc phức tạp như bạn muốn nếu bạn cố gắng thông minh như google. Xây dựng một chỉ mục là phần thực sự kỳ diệu của một công cụ tìm kiếm thành công. Thông thường có nhiều thuật toán xếp hạng được đặt cùng nhau.

4) Giao diện người dùng có ngôn ngữ truy vấn tùy chọn. Đây là nơi mà google thực sự là xấu nhưng như bạn có thể thấy trên googles thành công nó có thể không được như vậy quan trọng đối với 98% của người dân. Nhưng tôi thực sự nhớ điều này.

Tôi nghĩ bạn đang yêu cầu (3) người lập chỉ mục. Về cơ bản có 2 loại thuật toán khác nhau mà bạn tìm thấy trong tài liệu truy xuất thông tin cổ điển. Mô hình không gian Vector và Tìm kiếm Boolean. Sau đó là dễ dàng, chỉ cần kiểm tra xem các từ tìm kiếm nằm bên trong tài liệu và trả về một giá trị boolean. Mỗi cụm từ tìm kiếm có thể được cung cấp một xác suất thích hợp. Và đối với các thuật ngữ tìm kiếm khác nhau, bạn có thể sử dụng xác suất Bayesian để tổng hợp mức độ liên quan và thêm trở lại các tài liệu được xếp hạng cao nhất. Mô hình vectơ xử lý một tài liệu như một vectơ của tất cả các từ của nó, bạn có thể xây dựng một sản phẩm vectơ vô hướng giữa các tài liệu để phán xét xem chúng có gần nhau hay không - đây là một phương pháp phức tạp hơn nhiều. Người cha của IR (thu hồi thông tin) là Gerald Salton, bạn sẽ tìm thấy rất nhiều tài liệu dưới tên của mình.

Đây là trạng thái của nghệ thuật IR cho đến năm 1999 (tôi đã viết luận văn của tôi về một công cụ tìm kiếm tin tức usenet vào năm 1998). Sau đó, google đến và tất cả các lý thuyết đã đi vào thùng rác của ngu ngốc học thuật và irrelevanz pratical.

Google không xây dựng trên lý thuyết IR chính thống. Đọc trong liên kết mà Srirangan đã cho bạn về nó. Nó chỉ là một chức năng liên quan đến quảng cáo được xây dựng trên nhiều nguồn khác nhau. Bạn sẽ không tìm thấy bất cứ điều gì trong lĩnh vực này bên cạnh blablabla tiếp thị giấy trắng. Thuật toán này là bí mật kinh doanh và vốn của các công ty công cụ tìm kiếm.

Đối với các công cụ tìm kiếm đơn giản, hãy xem thư viện lucence hoặc tại dtsearch luôn là lựa chọn của tôi cho thư viện công cụ tìm kiếm có thể nhúng.

Không thực sự có nhiều mã ví dụ hoặc thông tin có sẵn trong thế giới nguồn mở về công nghệ IR. Hầu hết trong số họ như lucense chỉ là thực hiện các hoạt động nguyên thủy nhất.Bạn phải mua sách và đi đến thư viện đại học để tiếp cận với văn học nghiên cứu.

Như văn học tôi muốn giới thiệu bắt đầu với cuốn sách này link text alt text http://ecx.images-amazon.com/images/I/41HKJYHTQDL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

+0

@Lothar cảm ơn cho câu trả lời rất chi tiết. bạn có biết bất kỳ bài viết hay sách hay về trình phân tích cú pháp không? phân tích cú pháp văn bản khác với trình biên dịch phân tích cú pháp ngôn ngữ lập trình như thế nào? – forme

+0

OK nếu bạn thực sự muốn xử lý ngôn ngữ tự nhiên ngôn ngữ, bạn nên đọc "http://www.amazon.com/Natural-Language-Processing-Python-Steve/dp/0596516495/ref=cm_cr_pr_sims_t" và/hoặc cuốn sách "Xử lý văn bản bằng Python ". Điều này sẽ cung cấp cho bạn đủ hiểu cơ bản để tìm cụm từ tìm kiếm chính xác cho google hoặc bing nhiều tài liệu hơn. Thật không may là những thứ thú vị nhất là không có sẵn trực tuyến. – Lothar

+0

Im tò mò bây giờ :) (đi đến thư viện đại học địa phương ...) – forme

Các vấn đề liên quan