Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Polskie lorem ipsum, o ile tak to można nazwać :)
5w155
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

Ostrzeżenie: (0%)
-----


Witam!
Mam za zadanie zrobić generator tekstów w takim stylu, że musi on tworzyć sensowne zdania. Baza ma przechowywać wyrazy posegregowane w części mowy i w php trzeba stworzyć z nich sensowne zdania.
Potrzebuję pomysłów, nie gotowych rozwiązań.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Patent z mojego chatbota:

mamy sobie graf skierowany z dwoma wyróżnionymi wierzchołkami $ oraz #. Przyjmujemy, że wierzchołki to wyrazy oraz wszystkie ścieżki w tym grafie zaczynają się w $, a kończą w #, zatem ci dwaj delikwenci to specjalne symbole oznaczające początek i koniec zdania. Jeśli z wyrazu A prowadzi strzałka do wyrazu B, to znaczy, że po wyrazie A może pojawić się wyraz B. Ponadto, z wyrazu A do B może prowadzić więcej niż jedna strzałka. Algorytm polega na tym, że ustawiamy się w $ i następnie losujemy ścieżkę do #, a napotkane na niej wierzchołki łączymy w zdanie.

Przykład:
$ -> ala
$ -> ola
ala -> ma
ala -> widziała
ala -> jadła
ola -> widziała
ola -> jadła
ma -> jabłko
ma -> kota
jadła -> jabłko
widziała -> kota
widziała -> jabłko
kota -> #
jabłko -> #

Przykładowe ścieżki-zdania:
$ -> ala -> ma -> kota -> #
$ -> ala -> jadła -> jabłko -> #
$ -> ola -> widziała -> kota -> #

Taki graf ma własność uczenia się, tzn. możemy wziąć istniejące zdanie, rozbić je na wyrazy i utworzyć połączenia w grafie. Przykładowo, możemy zrobić zdanie "ala jadła kota". Rozbijamy je na wyrazy i dodajemy nowe połączenia:
$ -> ala
ala -> jadła
jadła -> kota (tego nie ma)
kota -> #

Pamiętając, że między wyrazami A i B może prowadzić więcej niż jedna strzałka, graf zdobywa też informacje, które połączenia są częściej wykorzystywane, a które rzadziej. Dzięki temu podczas losowania często używane zwroty są "faworyzowane".

Algorytm jest niezwykle debilny, ale po nafaszerowaniu grafu odpowiednią ilością sensownych zdań (tzn. nie za małą i nie za dużą, bo się totalny random zrobi) generuje naprawdę ciekawe wyniki. Jeśli by go wzbogacić o parę informacji gramatycznych niezbędnych do utrzymania związku zgody, rządu i przynależności w zdaniach (umieszczanych w grafie), wyniki powinny Cię usatysfakcjonować.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 08:20