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