Tôi muốn xây dựng một công cụ tìm kiếm nội bộ (Tôi có một bộ sưu tập rất lớn gồm hàng nghìn tệp XML) có thể ánh xạ các truy vấn đến các khái niệm. Ví dụ, nếu tôi tìm kiếm "những chú mèo lớn", tôi cũng muốn các kết quả được xếp hạng cao để trả lại các tài liệu với "những con mèo lớn". Nhưng tôi cũng có thể quan tâm đến việc nó trả lại "những con vật khổng lồ", mặc dù có điểm số liên quan thấp hơn nhiều.Làm thế nào để xây dựng một công cụ tìm kiếm khái niệm?
Tôi hiện đang đọc qua chế độ Tự động xử lý ngôn ngữ trong Python, và có vẻ như WordNet có một số ánh xạ từ có thể hữu ích, mặc dù tôi không biết cách tích hợp vào công cụ tìm kiếm. Tôi có thể sử dụng Lucene để làm điều này? Làm sao?
Từ nghiên cứu sâu hơn, có vẻ như "phân tích ngữ nghĩa tiềm ẩn" có liên quan đến những gì tôi đang tìm kiếm nhưng tôi không chắc chắn cách triển khai nó.
Bất kỳ lời khuyên nào về cách thực hiện việc này?
Điểm tốt khi bắt đầu đơn giản. Trong trường hợp này, mặc dù khách hàng tiềm năng cho ứng dụng tôi đang xây dựng đã có công cụ tìm kiếm "bình thường". Tôi có lý do để tin rằng một động cơ thông minh hơn có thể thêm giá trị hữu hình, đó là lý do tại sao tôi muốn biết nếu nó là một vấn đề khả thi để tấn công trước khi tôi nhảy vào để tạo ra một sản phẩm "tôi-quá". – DevX
@DevX: Vui lòng chậm lại. Một "động cơ thông minh hơn" là một điều. Xây dựng cái đó trước. Tích hợp là ít nhất của bạn lo lắng. Lưu điều đó cho lần cuối sau khi bạn nhận được "công cụ thông minh hơn" hoạt động. Tôi sẽ lặp lại điều này, bởi vì bạn dường như không đọc nó: tích hợp có thể được để lại cho cuối cùng, sau khi bạn nhận được một số kinh nghiệm với các công cụ và giải quyết vấn đề cơ bản. –
+1 cho bước 2. – Skarab