Norbert
M.
Nobody's perfect.
Call me Nobody ;)
Michał
Jasiorowski
Inżynier ds.
oprogramowania
Temat: Wyszukiwanie fraz w tekście
Polecam zapoznanie się algorytmami które wyznaczają metryki podobieństwa ciągów znaków które pozwalają zrobić dokładnie to co chcesz.Przykładowe metryki to Odległość Levenshteina, Odległość Damerau-Levenshteina itp.
Poniżej link do biblioteki C# która posiada implementację wielu algorytmów i normuje sposób z nich korzystania.
http://sourceforge.net/projects/simmetrics/files/
Powodzenia :)
Norbert
M.
Nobody's perfect.
Call me Nobody ;)
Temat: Wyszukiwanie fraz w tekście
Michał Jasiorowski:Algorytm działa rewelacyjnie. Dzięki i pozdrawiam.
Polecam zapoznanie się algorytmami które wyznaczają metryki podobieństwa ciągów znaków które pozwalają zrobić dokładnie to co chcesz.
Przykładowe metryki to Odległość Levenshteina, Odległość Damerau-Levenshteina itp.
Poniżej link do biblioteki C# która posiada implementację wielu algorytmów i normuje sposób z nich korzystania.
http://sourceforge.net/projects/simmetrics/files/
Powodzenia :)
Michał
Jasiorowski
Inżynier ds.
oprogramowania
Temat: Wyszukiwanie fraz w tekście
Nie ma za co :) Sam miałem taki problem jakiś czas temu, dzięki tej bibliotece udało mi się match'ować klientów po całych adresach które były jednym stringiem!Acg N. .
Temat: Wyszukiwanie fraz w tekście
Odgrzebuję temat, bo sam niedawno zetknąłem się z zagadnieniem bardziej zaawansowanego wyszukiwania informacji. Można o tym poczytać w temacie: Koncepcje wyszukiwarek treści w serwisie (shared hosting) na grupie ASP.NET. Co prawda szukałem rozwiązania działającego na bazie danych (ale bez CLR, czysty TSQL), ale ostatecznie zdecydowałem się na Lucene.NETW skrócie - jest to świetny silnik wyszukiwarki, nadający się szczególnie do dłuższych tekstów (do kilkuwyrazowych fraz wystarczą wspomniane metryki). Lucene.NET oferuje niesamowite możliwości wyszukiwania dokładnego i przybliżonego. Korzysta właśnie z metryki Levensteina.
A właśnie, co do metryk, to Levenstein, chociaż "oklepany" w całym Internecie (ma zgrabne implementacje w T-SQL) mnie raczej zawiódł, choć i tak bije na głowę np. "double metaphone". Zamiast Levensteina, z podanej przez Michała świetnej biblioteki zdecydowanie polecam metrykę Smitha-Watermana-Gotoha w wersji "windowed affine". W wolnej chwili spróbuję podmienić w Lucene.NET Levensteina na SWG(WA).
Wspomniany SimMetrics fajnie integruje się z SQL Serverem (trzeba włączyć obsługę CLR), zwłaszcza w połączeniu z Full Text Search: http://anastasiosyal.com/POST/2009/01/11/18.ASPXAdrian Olszewski edytował(a) ten post dnia 31.03.12 o godzinie 02:52
konto usunięte
Temat: Wyszukiwanie fraz w tekście
Adrian Olszewski:
ASP.NET. Co prawda szukałem rozwiązania działającego na bazie danych (ale bez CLR, czysty TSQL), ale ostatecznie zdecydowałem się na Lucene.NET
W skrócie - jest to świetny silnik wyszukiwarki, nadający się szczególnie do dłuższych tekstów (do kilkuwyrazowych fraz wystarczą wspomniane metryki). Lucene.NET oferuje niesamowite możliwości wyszukiwania dokładnego i przybliżonego. Korzysta właśnie z metryki Levensteina.
Polecam zapoznac sie tez z Solr, pracuje na bazie Lucene i ma duzo przydatnych funkcji
http://lucene.apache.org/solr/
Acg N. .
Temat: Wyszukiwanie fraz w tekście
Dzięki Sebastian :)Lucena jest fajna, tylko trzeba się trochę przez nią przegryźć. Ile by się trzeba narobić bez niej, żeby uzyskać taki efekt (tutaj demo w formsach, ale docelowo będzie w asp.net).
Krzysztof
Mierzejewski
SharePoint
Consultant
Temat: Wyszukiwanie fraz w tekście
Jeszcze może dorzucę od siebie dwa alternatywne rozwiązania spod znaku MS:- SQL Server 2012 i Semantic Search oraz Full-Text Search.
- Search Server 2010 Express.
Nie miałbym nic przeciwko gdyby ktoś zewaluował pierwsze rozwiązanie i podzielił się spostrzeżeniami :) Szczególnie interesuje mnie jak się sprawdza RANK w praktyce (czyli niejednokrotnie wspominana w tym wątku odległość, ale nie tylko) i jak z ogólnie pojętymi kwestiami wydajności.
Podobne tematy
Następna dyskusja: