import rufino import sys print "uso:" print "python monge_elkan.py <codigo ISO lengua> <umbral> <exponente> <largo max oracion> <oracion a buscar> <max operaciones edicion>" print "ejemplo uso:" print "python monge_elkan.py en 0.8 1 30 the theory was proposed by researchers" codigo_ISO = sys.argv[1] umbral = float(sys.argv[2]) exponente = float(sys.argv[3]) largo_max_oracion = int(sys.argv[4]) oracion_buscar = sys.argv[5:] url = rufino.WIKIPEDIA_URLS[codigo_ISO] for articulo in rufino.get_articles(url): texto = rufino.clean_article(articulo).lower() oraciones = rufino.split_sentences(texto) for oracion in oraciones: lista_palabras_oracion = rufino.split_words(oracion) similitud = rufino.monge_elkan(oracion_buscar, lista_palabras_oracion, rufino.sim_edit_distance, exponente) if similitud > umbral and len( lista_palabras_oracion) <= largo_max_oracion: print texto[:40], similitud, oracion
# -*- 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)
import rufino import sys print "uso:" print "python monge_elkan.py <codigo ISO lengua> <umbral> <exponente> <largo max oracion> <oracion a buscar> <max operaciones edicion>" print "ejemplo uso:" print "python monge_elkan.py en 0.8 1 30 the theory was proposed by researchers" codigo_ISO=sys.argv[1] umbral=float(sys.argv[2]) exponente=float(sys.argv[3]) largo_max_oracion=int(sys.argv[4]) oracion_buscar=sys.argv[5:] url=rufino.WIKIPEDIA_URLS[codigo_ISO] for articulo in rufino.get_articles(url): texto=rufino.clean_article(articulo).lower() oraciones=rufino.split_sentences(texto) for oracion in oraciones: lista_palabras_oracion=rufino.split_words(oracion) similitud=rufino.monge_elkan(oracion_buscar,lista_palabras_oracion,rufino.sim_edit_distance,exponente) if similitud>umbral and len(lista_palabras_oracion)<=largo_max_oracion: print texto[:40],similitud,oracion
import rufino import sys print "uso:" print "python monge_elkan.py <codigo ISO lengua> <umbral> <exponente> <largo max oracion> <oracion a buscar> <max operaciones edicion>" print "ejemplo uso:" print "python monge_elkan.py en 0.8 1 30 the theory was proposed by researchers" codigo_ISO=sys.argv[1] umbral=float(sys.argv[2]) exponente=float(sys.argv[3]) largo_max_oracion=int(sys.argv[4]) oracion_buscar=sys.argv[5:] url=rufino.WIKIPEDIA_URLS[codigo_ISO] for articulo in rufino.get_articles(url): texto=rufino.clean_article(articulo).lower() oraciones=rufino.split_sentences(texto) for oracion in oraciones: lista_palabras_oracion=rufino.split_words(oracion) similitud=rufino.monge_elkan(oracion_buscar,lista_palabras_oracion,rufino.path_similarity,exponente) if similitud>umbral and len(lista_palabras_oracion)<=largo_max_oracion: print similitud,oracion