Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: RomanQo 10. 04. 2017, 13:50:42

Název: Vyhledávání v textu a skloňování jmen
Přispěvatel: RomanQo 10. 04. 2017, 13:50:42
Ahoj, pokusam sa vyhladat v skupine textakov klucove slova na zaklade nejakeho zoznamu a potrebujem zohladnit sklonovanie. Script prechadza za pomoci while kazdy riadok so zoznamom klucovych slov a grep-om vyhladava nad txt subormi klucove slova a wc potom spocita v kolkych txt sa vyskytlo klucove slovo. Zoznam je v tvare "Meno Priezvisko". Ako ale zapisat klusove slovo aby script prehladaval vsetky vysklonovane alternativy?

Priklad:
zakladny tvar - Milos Zeman
ostatne tvary - Milosa Zemana, Milosom Zemanom, Milosovi Zemanovi

Vdaka za radu, R.
Název: Re:vyhladavanie v txt - sklonovanie mien
Přispěvatel: beer 10. 04. 2017, 14:16:50
Aha, IT oddělení hradu se chce vyhnout, aby si prezident při googlování svého jména nenainstaloval dětské porno?

Kód: [Vybrat]
grep Milo[s-sa-som-sovi] Zema[n-na-nom-novi]
grep Milos* Zeman*

* Najde všechny varianty. Grep -i nezohledňuje velikost písem.
Název: Re:vyhladavanie v txt - sklonovanie mien
Přispěvatel: DK 10. 04. 2017, 14:17:51
Lemmatizace, Stematizace

(kdyby nahodou nemusel byt pouzity bash, pro Python existuje knihovna NLTK)
Název: Re:vyhladavanie v txt - sklonovanie mien
Přispěvatel: gll 10. 04. 2017, 15:11:44
Aha, IT oddělení hradu se chce vyhnout, aby si prezident při googlování svého jména nenainstaloval dětské porno?

Kód: [Vybrat]
grep Milo[s-sa-som-sovi] Zema[n-na-nom-novi]
grep Milos* Zeman*

* Najde všechny varianty. Grep -i nezohledňuje velikost písem.

hvězdička bez uvozovek ti bude nahrazovat soubory z adresáře. Zkusil bych raději něco takového:

Kód: [Vybrat]
grep -i -P 'Milos.{0,4}'
Název: Re:vyhladavanie v txt - sklonovanie mien
Přispěvatel: Unloged user 10. 04. 2017, 16:23:24
. vam chyti akykolvek znak takze aj whitespace...
Inak neviem ako velke su tie textaky ale urcite ich neprechadzajte while-om ked chcete spocitat len vyskyty uplne vam vystaci grep -c
Název: Re:vyhladavanie v txt - sklonovanie mien
Přispěvatel: RomanQo 11. 04. 2017, 10:09:40
. vam chyti akykolvek znak takze aj whitespace...
Inak neviem ako velke su tie textaky ale urcite ich neprechadzajte while-om ked chcete spocitat len vyskyty uplne vam vystaci grep -c

grep -c v tomto pripade je nepouzitelny. Ja potrebujem spocitat len pocet textakov v ktorych sa nachadzaju ludia zo zoznamu (cca 50-100 osob). Pocet textakov moze byt rozny (od 100 do 2000), odhadnut sa to neda. Rovnako velkost txt je rozna, pretoze sa jedna o clanky z webu. Cize vysledok by mal byt taky, ze po zohladneni vsetkych moznych variant vysklonovania mena a priezviska (politika, osobnosti, herca) na konci dostanem len cislo, ze napriklad Robert Fico sa nachadzal v 37 textakoch.
Název: Re:Vyhledávání v textu a skloňování jmen
Přispěvatel: fedorac 11. 04. 2017, 19:35:39

       -l, --files-with-matches
              Suppress normal output; instead print the name of each  input  file
              from  which  output would normally have been printed.  The scanning
              will stop on the first match.

..... | wc -l