Jaki jest dobry sposób implementacji „przewidywania następnego słowa”? Na przykład użytkownik wpisuje „Jestem”, a system sugeruje „a” i „nie” (lub inne) jako następne słowo. Znam metodę, która wykorzystuje Łańcuchy Markowa i trochę tekstu szkoleniowego (oczywiście), aby mniej więcej to osiągnąć. Ale czytałem gdzieś, że ta metoda jest bardzo restrykcyjna i dotyczy bardzo prostych przypadków.
Rozumiem podstawy sieci neuronowych i algorytmów genetycznych (chociaż nigdy nie wykorzystałem ich w poważnym projekcie) i być może mogłyby one pomóc. Zastanawiam się, czy istnieją jakieś algorytmy, które przy odpowiednim tekście szkolenia (np. Artykuły w gazetach i własne pisanie użytkownika) mogą zaproponować racjonalnie odpowiednie sugestie dotyczące następnego słowa. Jeśli nie (łącza do) algorytmy, ogólne metody wysokiego poziomu do ataku na ten problem są mile widziane.
n
która daje dobre wyniki? Widzisz, nie zawsze musi być to trzecie przewidywane słowon
daje dłuższą listę, która daje bardziej precyzyjne przewidywanie, ale jest również droższa w wyszukiwaniu. Więc jest to kompromis między precyzją a czasem obliczeń.Wygląda na to, że domeną problemową jest podzbiór wyszukiwania ciągów. Rozszerzając wyrazy o białe spacje, można zastosować dopasowanie rozmytego łańcucha.
Oprócz słownika możesz rozważyć / zezwolić wszystkim użytkownikom na wprowadzanie jednego słowa podczas treningu. Pozwala to sugerować następne słowo, ale sugeruje także automatyczne uzupełnianie słowa lub wyrażeń.
Oto link do kompilacji algorytmów wyszukiwania łańcuchów rozmytych
http://ntz-develop.blogspot.com/2011/03/fuzzy-string-search.html
źródło
Poszukujesz (statystycznego) modelu językowego .
źródło