Làm cách nào để thể hiện các mối quan hệ tinh tế trong dữ liệu của tôi?


20

"A" có liên quan đến "B" và "C". Làm thế nào để tôi chỉ ra rằng "B" và "C" có thể, theo ngữ cảnh này, cũng có liên quan với nhau?

Thí dụ:

Dưới đây là một vài tiêu đề về một vở kịch gần đây của Broadway:

  1. Glengarry Glen Ross của David Mamet, diễn viên chính Al Pacino, mở ra trên sân khấu
  2. Al Pacino trong 'Glengarry Glen Ross': Các nhà phê bình đã nghĩ gì?
  3. Al Pacino kiếm được những đánh giá mờ nhạt cho lượt chơi của Broadway
  4. Đánh giá nhà hát: Glengarry Glen Ross đang bán những ngôi sao của mình
  5. Glengarry Glen Ross; Này, ai đã giết đèn Klieg?

Vấn đề:

Chạy một kết hợp chuỗi mờ trên các bản ghi này sẽ thiết lập một số mối quan hệ, nhưng không phải là các mối quan hệ khác, mặc dù một người đọc con người có thể chọn chúng từ ngữ cảnh trong các bộ dữ liệu lớn hơn nhiều.

Làm cách nào để tìm mối quan hệ gợi ý số 3 có liên quan đến số 4? Cả hai có thể dễ dàng kết nối với # 1, nhưng không thể kết nối với nhau.

Có một tên (Googlable) cho loại dữ liệu hoặc cấu trúc này không? Tôi đang tìm loại thuật toán nào?

Mục tiêu:

Đưa ra 1.000 tiêu đề, một hệ thống tự động gợi ý rằng 5 mục này có lẽ đều giống nhau.

Thành thật mà nói, đã quá lâu kể từ khi tôi lập trình tôi không biết làm thế nào để nói rõ vấn đề này. (Tôi không biết những gì tôi không biết, nếu điều đó có ý nghĩa).

Đây là một dự án cá nhân và tôi đang viết nó bằng Python. Cảm ơn trước sự giúp đỡ, lời khuyên và gợi ý!


1
âm thanh như phân tích ngôn ngữ tự nhiên và / hoặc một số kỹ thuật xác suất khác là bắt buộc
jk.

2
Đây là một câu hỏi hay!
Michael Brown

Tôi nghĩ rằng tôi đã thấy các hệ thống có thể thực hiện điều này trong Prolog.
Thất vọngWithFormsDesigner

1
@FrustratedWithFormsDesigner Tôi nghi ngờ bạn đang nghĩ đến sự thống nhất trong lập trình logic ..?
Izkata

Câu trả lời:


14

Nó được gọi là phân tích cụm , về cơ bản là nhóm các đối tượng thành các cụm có các thuộc tính tương tự. Đó là một chủ đề lớn, nhưng điều đó sẽ cho bạn một nơi để bắt đầu.


7

Bạn đang bước vào thế giới ngữ nghĩa. Có những dịch vụ công cộng sẽ phân tích văn bản và rút ra các khái niệm chính (một tìm kiếm nhanh về Semantic API đã xuất hiện một vài) sẽ phân tích một tài liệu biểu mẫu miễn phí và trả về các chủ đề chính gặp phải bao gồm con người, địa điểm, sự vật, ngày tháng và khái niệm . Một số trong những cái tốt hơn sẽ trở lại ở định dạng được gọi là [RDF]

Nếu bạn muốn xây dựng hệ thống của riêng mình có thể làm được điều này, thì lĩnh vực này là Xử lý ngôn ngữ tự nhiên và đó là một lỗ thỏ rất hấp dẫn để lặn xuống.


4

Nếu có thể, hãy lấy câu chuyện cùng với tiêu đề. Tiêu đề đôi khi có thể trở nên "dễ thương" và chỉ tham chiếu tiếp tuyến đến những gì đang được thảo luận. Điều này hoạt động tốt với con người (vì họ có bối cảnh toàn cầu ), nhưng không tốt lắm với NLP.

Như đã đề cập trong câu trả lời của Karl Bielefeldt, phân cụm là một cách tiếp cận tốt, nhưng Quỷ dữ nằm trong chi tiết. Bạn không chỉ phải chọn một cách tiếp cận phân cụm phù hợp với không gian người dùng / vấn đề của bạn, bạn còn phải tìm ra những gì đang được phân cụm.

Nền tảng của tôi là về Truy xuất thông tin (IR) từ những năm 80 và 90, và chúng tôi tập trung vào tìm kiếm tương tựphân cụm dựa trên centroid . Các tài liệu của chúng tôi được thể hiện bằng các vectơ thuộc tính có trọng số , về cơ bản là một danh sách các thuật ngữ và tầm quan trọng tương đối của chúng trong tài liệu. Cách tiếp cận này có thể hoạt động (mặc dù tốt hơn với một số bộ sưu tập so với các bộ sưu tập khác), nhưng nó có vấn đề với các tiêu đề ngắn dễ thương, vì chúng thiếu các thuật ngữ từ vựng quan trọng để gắn kết mọi thứ lại với nhau. Nhưng nếu bạn sử dụng toàn bộ tài liệu, thì bạn sẽ có được một danh sách các thuật ngữ phong phú hơn nhiều (và có lẽ là ý nghĩa quan trọng tốt hơn) và danh sách các thuật ngữ đó có thể sẽ giúp kết nối dễ dàng phát hiện hơn (tức là tính toán) khi bạn có tiêu đề "dễ thương".

Email của tôi nằm trong hồ sơ của tôi nếu bạn muốn giải quyết các vấn đề về vectơ, v.v.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.