Znajdowanie zdań, fraz, słów w zadanym tekście. Jak to zrobić?

0

Jest tabela z przykładowymi tekstami coś na zasadzie sprawdzanie pracy czy to plagiat. Czyli np są zdania, które należy wyszukać w zadanym tekście:

  • Za górami za lasami | za gorami za lasami (alternatywa bez polskich ogonkow)
  • Babciu dlaczego masz takie duze uszy? | uszy ? | uszy ( bo nie wiadomo jak ktoś stawia znaki i czy w ogole je stawia)

Teraz mam jakiś tekst źródłowy gdzie ktoś napsiał bajkę:
Czemu babciu masz takie wielkie uszy ??? zdziwil sie kapturek

Jest jakiś projekt z ciekawym algorytmem który np powiedziałby że to zdanie moze miec 90% plagiatu?

Dałem taki przykład ale od czegoś trza zaczac

1

Są do tego narzędzia w internecie.

2
chomikowski napisał(a):

Jest jakiś projekt z ciekawym algorytmem który np powiedziałby że to zdanie moze miec 90% plagiatu?

Czy ten jest wystarczająco ciekawy https://blog.lantkowiak.pl/index.php/2017/03/16/jak-wykrywac-plagiaty-czesc-druga/ ?

0
chomikowski napisał(a):

Jest jakiś projekt z ciekawym algorytmem który np powiedziałby że to zdanie moze miec 90% plagiatu?

projekt to nie wiem, ale jest taka działka programowania NLP (natural language processing) i tam być może należy szukać odpowiedzi..

0

To czego szukasz to Full-Text Search (FTS). Zakładam, że masz bazę relacyjną. Więc jeżeli jest to MS SQL Server to ma to wbudowane i mogę polecić. Używałem produkcyjnie do wyszukiwania tekstu w dokumentach i wyświetlania różnicy (co się zmieniło, co zostało dodane i co zostało usunięte) pomiędzy wersjami (coś jak diff w systemach kontroli wersji) https://docs.microsoft.com/en-us/sql/relational-databases/search/full-text-search?view=sql-server-ver16.

Postgres też ma, ale nie korzystałem produkcyjnie, tylko w celach naukowych więc nie wypowiem się za bardzo https://www.postgresql.org/docs/current/textsearch-intro.html

Na potrzeby jednego czat-bota (Q&A) korzystałem z Apache Lucene i działało to całkiem całkiem https://lucene.apache.org/

Na koniec jak chciałbyś mieć dedykowaną usługę do searcha to możesz postawić sobie Elastic Search i zmigrować dane na których będziesz robić zapytania tam, i na ES odpalać zapaytania z jakiegoś frontendu (ale to wyższa szkoła jazdy).

Proponowałbym więc zacząć od czegoś co masz już wbudowane w silnik bazy danych.

Jest jeszcze NLP ale to już dopiero wyższa szkoła jazdy i nie dla początkujących

1 użytkowników online, w tym zalogowanych: 0, gości: 1