Jak wyrazić subtelne relacje w moich danych?


20

„A” odnosi się do „B” i „C”. Jak pokazać, że „B” i „C” mogą w tym kontekście również być powiązane?

Przykład:

Oto kilka nagłówków na temat ostatniej gry na Broadwayu:

  1. Glengarry Glen Ross Davida Mameta, z udziałem Al Pacino, otwiera się na Broadwayu
  2. Al Pacino w „Glengarry Glen Ross”: Co myśleli krytycy?
  3. Al Pacino otrzymuje słabe recenzje za zakręt na Broadwayu
  4. Przegląd teatru: Glengarry Glen Ross ciężko sprzedaje swoje gwiazdy
  5. Glengarry Glen Ross; Hej, kto zabił światła Kliega?

Problem:

Uruchomienie dopasowania ciągu rozmytego dla tych rekordów ustanowi niektóre relacje, ale nie inne, nawet jeśli czytelnik może je wybrać z kontekstu w znacznie większych zestawach danych.

Jak znaleźć związek, który sugeruje, że # 3 jest powiązany z # 4? Oba można łatwo podłączyć do nr 1, ale nie do siebie.

Czy istnieje nazwa (Googlable) dla tego rodzaju danych lub struktury? Jakiego algorytmu szukam?

Cel:

Biorąc pod uwagę 1000 nagłówków, system, który automatycznie sugeruje, że te 5 pozycji prawdopodobnie dotyczy tego samego.

Szczerze mówiąc, minęło już tak dużo czasu, odkąd zaprogramowałem, że nie potrafię poprawnie wyrazić tego problemu. (Nie wiem, czego nie wiem, jeśli to ma sens).

To jest osobisty projekt i piszę go w języku Python. Z góry dziękuję za wszelką pomoc, porady i wskazówki!


1
brzmi jak parsowanie języka naturalnego i / lub wymagana jest inna technika probabilistyczna
jk.

2
To jest WIELKIE pytanie!
Michael Brown,

Myślę, że widziałem systemy, które mogą to zrobić zaimplementowane w Prologu.
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner Podejrzewam, że myślisz o unifikacji w programowaniu logiki ..?
Izkata,

Odpowiedzi:



7

Wchodzisz w świat semantyki. Istnieją usługi publiczne, które przeanalizują tekst i wyciągną główne pojęcia ( pojawiło się szybkie wyszukiwanie interfejsu API semantycznego ), które przeanalizują dokument w dowolnej formie i zwrócą główne napotkane tematy, w tym osoby, miejsca, rzeczy, daty i pojęcia . Niektóre z lepszych powrócą w formacie znanym jako [RDF]

Jeśli chcesz zbudować własny system, który może to zrobić, pole to Przetwarzanie języka naturalnego i jest to bardzo intrygująca królicza nora do nurkowania.


4

Jeśli to w ogóle możliwe, zdobądź historię wraz z nagłówkiem. Nagłówki mogą czasem być „urocze” i zawierać jedynie styczne odniesienie do omawianych tematów. Działa to OK z ludźmi (ponieważ mają kontekst globalny ), ale nie tak dobrze z NLP.

Jak wspomniano w odpowiedzi Karla Bielefeldta, grupowanie jest dobrym podejściem, ale diabeł tkwi w szczegółach. Musisz nie tylko wybrać podejście klastrowe, które pasuje do twojego problemu / przestrzeni użytkownika, ale musisz także dowiedzieć się, co jest klastrowane.

Moje doświadczenie dotyczy wyszukiwania informacji (IR) z lat 80-tych i 90-tych, a my skupiliśmy się na wyszukiwaniu podobieństw i grupowaniu opartym na centroidach . Nasze dokumenty były reprezentowane przez ważone wektory atrybutów , które są w zasadzie listą terminów i ich względnym znaczeniem w dokumencie. To podejście może działać (choć lepiej w przypadku niektórych kolekcji niż w innych), ale ma problemy z krótkimi uroczymi nagłówkami, ponieważ brakuje im kluczowych terminów słownictwa umożliwiających powiązanie. Ale jeśli użyjesz całego dokumentu, otrzymasz znacznie bogatszą listę terminów (i prawdopodobnie lepsze poczucie ważności), a ta lista terminów prawdopodobnie ułatwi odnalezienie połączenia (tj. Obliczenie), gdy masz nagłówki, które są "uroczy".

Mój e-mail znajduje się w moim profilu, jeśli chcesz zająć się problemami z generowaniem wektorów itp.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.