2015-04-05 19 views
8

Tôi tạo mẫu một công cụ tìm kiếm nhỏ với pagerank hoạt động trên máy tính của tôi. Tôi quan tâm đến việc xây dựng biểu đồ tri thức trên đầu trang và nó chỉ trả về các trang web được truy vấn nằm trong ngữ cảnh phù hợp, tương tự như cách Google tìm thấy câu trả lời có liên quan cho các câu hỏi tìm kiếm. Tôi thấy rất nhiều sự công khai về đồ thị tri thức nhưng không có nhiều tài liệu và hầu như không có giả mã như hướng dẫn xây dựng một. Có ai biết tài liệu tham khảo tốt về cách đồ thị kiến ​​thức như vậy hoạt động trong nội bộ, vì vậy sẽ không cần phải tạo ra các mô hình về một đồ thị tri thức?Làm cách nào để xây dựng biểu đồ tri thức?

Trả lời

25

Sơ đồ tri thức là một từ thông dụng. Nó là một tổng của các mô hình và công nghệ đặt lại với nhau để đạt được một kết quả. Điểm dừng chân đầu tiên trên hành trình của bạn bắt đầu bằng Natural language processing, OntologiesText mining. Đó là một lĩnh vực thông minh nhân tạo rộng, đi here cho một cuộc khảo sát nghiên cứu trên thực địa.

Trước khi xây dựng mô hình của riêng bạn, tôi khuyên bạn nên thử các thuật toán chuẩn khác nhau bằng cách sử dụng các hộp công cụ chuyên dụng chẳng hạn như gensim. Bạn sẽ tìm hiểu về tf-idf, LDA, vectơ tính năng tài liệu, v.v.

Tôi giả sử bạn muốn làm việc với dữ liệu văn bản, nếu bạn muốn thực hiện tìm kiếm hình ảnh bằng các hình ảnh khác thì khác. Tương tự cho phần âm thanh.

Xây dựng mô hình là một chỉ là bước đầu tiên, phần khó khăn nhất của đồ thị kiến ​​thức của Google là để thực sự mở rộng lên tới hàng tỷ yêu cầu mỗi ngày ...

Một đường ống xử lý tốt có thể được xây dựng "một cách dễ dàng" lên trên của Apache Spark, "Hadoop hiện tại-gen". Nó cung cấp một kho dữ liệu phân tán đàn hồi, là bắt buộc nếu bạn muốn mở rộng quy mô.

Nếu bạn muốn giữ dữ liệu của mình dưới dạng biểu đồ, như trong lý thuyết đồ thị (như pagerank), đối với truy vấn trực tiếp, tôi đề nghị bạn sử dụng Bulbs là khuôn khổ "Thích ORM cho biểu đồ, thay vì SQL, bạn sử dụng ngôn ngữ đồ họa-traveral Gremlin để truy vấn cơ sở dữ liệu ". Bạn có thể chuyển đổi backend từ Neo4j sang OpenRDF (hữu ích nếu bạn làm ontology) chẳng hạn.

Đối với phân tích biểu đồ, bạn có thể sử dụng Spark, GraphX mô-đun hoặc GraphLab.

Hy vọng điều đó sẽ hữu ích.

+2

Tôi biết tôi trễ hai năm ... nhưng bạn có đề xuất bất kỳ tài liệu nào (sách/tạp chí, v.v ...) nếu bạn muốn hiểu sâu về một số khái niệm này? – jawsnnn

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