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
示例#2
0
# -*- 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