PATH="diccionarios/"   # SUBDIRECTORIO DONDE SE GUARDARAN LOS DICCIONARIOS
                        # ATENCION, CREAR EL DIRECTORIO diccionarios/

for codigo_ISO in codigos_ISO:
    print "lengua:",codigo_ISO,rufino.ISO_SPANISH[codigo_ISO]
    url=rufino.WIKIPEDIA_URLS[codigo_ISO]
    contador_palabras=0
    dic_conteo_bigramas={}
    contador_articulos=0
    for articulo in rufino.get_articles(url):
        contador_articulos+=1
        if contador_articulos%1000==0:
            print "\t"+codigo_ISO+"{0} articulos procesados, {1} palabras procesadas".format(contador_articulos,contador_palabras)
        texto=rufino.clean_article(articulo).lower()
        palabras=rufino.split_words(texto)
        for i in range(len(palabras)-1):
            palabra_actual=palabras[i]
            palabra_siguiente=palabras[i+1]
            bigrama=palabra_actual+"|||"+palabra_siguiente
            if bigrama not in dic_conteo_bigramas:
                dic_conteo_bigramas[bigrama]=1
            else:
                dic_conteo_bigramas[bigrama]+=1
        contador_palabras=contador_palabras+len(palabras)
        if contador_palabras>tamano_corpus:
            break
    metadatos={"url":url,
               "codigo_ISO":codigo_ISO,
               "palabras_corpus":contador_palabras,
               "cantidad_articulos":contador_articulos
示例#2
0
        round(spearmanr(predicciones,gold_standard)[0],6), #4
        round(time.time()-marca_de_tiempo,1), #5
        strftime("%Y-%m-%d %H:%M:%S", gmtime()), #6
        )
        print linea_resultados
        # adiciona la linea de resultados al archivo de resultados y lo cierra
        archivo_resultados=open(nombre_archivo_resultados,"a")
        archivo_resultados.write(linea_resultados+"\n")
        archivo_resultados.close()
        
        marca_de_tiempo=time.time()
    texto=rufino.clean_article(articulo).lower()
    oraciones=rufino.split_sentences(texto)
    contador_oraciones+=len(oraciones)
    for oracion in oraciones:
        palabras_oracion=rufino.split_words(oracion)
        if len(palabras_oracion)>=largo_maximo_oracion:
            continue
        for palabra_dataset in lista_palabras_vocabulario_dataset:
            if palabra_dataset.lower() in palabras_oracion:
                dic_freq_palabras[palabra_dataset]+=1
        for palabra1,palabra2 in lista_pares_palabras:
            if (palabra1.lower() in palabras_oracion) and (palabra2.lower() in palabras_oracion):
                dic_asoc_palabras[(palabra1,palabra2)]+=1
        contador_palabras=contador_palabras+len(palabras_oracion)
    if contador_palabras>tamano_corpus:
        break


        
# Saber la cantidad de libros que posee el corpus.
print u'Total de libros en español:',len(codigos_libros.es)


# Ahora se cargan los libros y se suprimen sus encabezados.
dic_oraciones_es={}
total_palabras_es=0
for codigo_libro_es in codigos_libros.es:
	texto=load_etext(codigo_libro_es)
	texto=strip_headers(texto)
	
# En cada libro se separan las oraciones y se delimitan por el símbolo |||.
	oraciones_libro=split_sentences(texto)
	for oracion_libro in oraciones_libro:
		palabras=rufino.split_words(oracion_libro)
		numero_palabras_oracion=len(palabras)
		total_palabras_es+=numero_palabras_oracion
		if numero_palabras_oracion not in dic_oraciones_es:
			dic_oraciones_es[numero_palabras_oracion]=1
		else:
			dic_oraciones_es[numero_palabras_oracion]=dic_oraciones_es[numero_palabras_oracion]+1


print u'Total de oraciones en español:',len(dic_oraciones_es)
print u'Total de palabras en español:',total_palabras_es
print dic_oraciones_es

#hola

# -*- coding:utf-8 -*-
import rufino
import sys
import codecs

from scipy.stats.stats import pearsonr


# parametros de la linea de comandos
print "Modo de uso: (Monge-Elkan con Edit distance como medida de similitud lexica)"
print u"python me_ed_texsim.py <nombre archivo dataset>"
print u"ejemplo: python me_ed_texsim.py MSRvid.txt"
nombre_archivo_dataset=sys.argv[1]

archivo=codecs.open(nombre_archivo_dataset,"r","utf-8")
gold_standard=[]
similarities=[]

for linea in archivo.readlines():
    posicion_primer_tab=linea.find("\t")
    posicion_segundo_tab=linea.find("\t",posicion_primer_tab+1)
    oracion1=rufino.split_words(linea[:posicion_primer_tab])
    oracion2=rufino.split_words(linea[posicion_primer_tab+1:posicion_segundo_tab])
    estandar_de_oro=float(linea[posicion_segundo_tab+1:])
    gold_standard.append(estandar_de_oro)
    similarities.append(rufino.monge_elkan(oracion1,oracion2,rufino.sim_edit_distance,2))
archivo.close()

print "Pearson r=",round(pearsonr(similarities,gold_standard)[0],6)