Jak znaleźć popularne frazy w dużej części tekstu

Pracuję nad projektem w chwili, gdy muszę wybrać najpopularniejsze frazy w ogromnym tekście. Na przykład powiedzmy, że mamy trzy zdania, takie jak:

Pies skoczył nad kobietą.Pies skoczył do samochodu.Pies skoczył do góry schodami.

Z powyższego przykładu chciałbym wyodrębnić ”pies skoczył„ponieważ jest to najczęstsza fraza w tekście. Z początku myślałem,„ och, używaj skierowanego wykresu [z powtarzającymi się węzłami] ”:

graf skierowany http://img.skitch.com/20091218-81ii2femnfgfipd9jtdg32m74f.png

EDYTOWAĆ: Przepraszam, popełniłem błąd, czyniąc ten diagram „nad”, „do” i „do góry”, który powinien odnosić się do „the”.

Miałem zamiar utrzymywać, ile razy w każdym obiekcie węzła wystąpiło słowo („the” to 6; „pies” i „skoczył”, 3; itd.), Ale mimo wielu innych problemów główny pojawił się, gdy dodajemy jeszcze kilka przykładów (proszę zignorować złą gramatykę :-)):

Pies skakał w górę iw dół.Pies skakał jak żaden pies nigdy wcześniej nie skakał.Pies skakał radośnie.

Mamy teraz problem, ponieważpies„uruchomiłby nowy węzeł główny (na tym samym poziomie co„ the ”) i nie zidentyfikowalibyśmy„pies skoczył„jak teraz jest to najczęściej używane wyrażenie. Więc teraz myślę, że może mógłbym użyć wykresu nieukierunkowanego, aby zmapować relacje między wszystkimi słowami i ostatecznie wybrać typowe frazy, ale nie jestem pewien, jak to zadziała, kiedy tracisz ważny związek porządku między słowami.

Czy ktoś ma jakieś ogólne pomysły na to, jak zidentyfikować wspólne frazy w dużej części tekstu i jakiej struktury danych użyłbym.

Dzięki, Ben

questionAnswers(1)

yourAnswerToTheQuestion