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

Znajdowanie zdań, fraz, słów w zadanym tekście. Jak to zrobić?
CH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 449
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

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5068
1

Są do tego narzędzia w internecie.

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5669
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/ ?

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8536
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..

markone_dev
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 832
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.