print '*********Buscando términos en ', _filename, ' ***********'
    Terms = extractTerms(_filename, 0.05, 0.005)
    # Puedes extraer términos de un archivo plano como 'data/ontology_learning.txt' y tomará cada línea como un documento distinto
    # O bien un archivo como 'data/ontology_learning.xml' tomará cada nodo 'Document' como un documento distinto
    # O bien una carpeta como 'data/ontology_learning' conteniendo un conjunto de documentos XML como los que se encuentran dentro de esta carpeta
    # El primer umbral sirve para filtrar los términos simples entre más cercano a 0 sea este umbras más términos simples tendrás
    # El segundo umbral tiene la misma funcionalidad que el primero pero con términos compuestos, procura que sea menor al primer umbral
    # Puedes volver a filtrar los términos con el siguiente método sin necesidad de hacer todo el procesamiento desde cero
    #  Terms.recompute(0.1,0.01)
    print 'Se encontraron los siguientes términos:'
    for term in Terms:
        print term

    print '\n*************Desambiguando términos***************'
    # Para desambiguar términos: para utilizar este maneja archivos planos, se me había olvidado también modificar este módulo xD.
    OntologyLearningSenses = disambiguateTerms(Terms)
    for term in OntologyLearningSenses.termsdis:
        if term.sense:
            if term.senseprobability > 0.5:
                print '\tTerm ', term.term, ' disambiguate as:\n\t\t ', term.sense, ': ', term.sense.definition, ' with a ', term.senseprobability, '% of probability\n'
            else:
                print '\tTerm ', term.term, ' is discarded as relevant term\n'
        else:
            print '\tTerm ', term.term, ' not have a sense in WordNet\n'

# def getMDTerms(disambiguateTerms):
# metadataTerms = ''
# for i in range(0,disambiguateTerms.__len__()):

# term = Senses.termsdis[i]
Exemple #2
0
    data = conn.recv(1024)
    print 'Received: '+data
    if not data: break
    elif data.startswith('terms for'):
      directory = str(data.split('Path:')[1])[:-(charToDelete)]
      directory = directory.strip()
      Terms = extractTerms(str(directory),0.05,0.005)
      print 'Terms founded: ',Terms
      conn.send(str(Terms)+'\n')
    elif data.startswith('recompute: '):
      values = data[11:-(charToDelete)].split(',')
      print 'recomputing terms with ',values
      Terms.recompute(float(values[0]),float(values[1]))
      print 'Terms recomputed: ',Terms
      conn.send(str(Terms)+'\n')
    elif data.startswith('disambiguate terms'):
	  Senses = disambiguateTerms(Terms)
	  conn.send(getMDTerms(Senses.termsdis)+'\n')
    elif data.startswith('delete term: '):
	  trashterm = str(data[13:-(charToDelete)])
	  print trashterm, ' to delete'
	  Terms.trash(trashterm)
	  print Terms
	  conn.send(str(Terms)+'\n')
    else:
      conn.send(data)
  conn.close()
  addr.close()

  
  print '*********Buscando términos en ',_filename,' ***********'
  Terms = extractTerms(_filename,0.05,0.005) 
# Puedes extraer términos de un archivo plano como 'data/ontology_learning.txt' y tomará cada línea como un documento distinto
# O bien un archivo como 'data/ontology_learning.xml' tomará cada nodo 'Document' como un documento distinto
# O bien una carpeta como 'data/ontology_learning' conteniendo un conjunto de documentos XML como los que se encuentran dentro de esta carpeta
# El primer umbral sirve para filtrar los términos simples entre más cercano a 0 sea este umbras más términos simples tendrás
# El segundo umbral tiene la misma funcionalidad que el primero pero con términos compuestos, procura que sea menor al primer umbral
# Puedes volver a filtrar los términos con el siguiente método sin necesidad de hacer todo el procesamiento desde cero
#  Terms.recompute(0.1,0.01) 
  print 'Se encontraron los siguientes términos:'
  for term in Terms:
    print term

  print '\n*************Desambiguando términos***************'
# Para desambiguar términos: para utilizar este maneja archivos planos, se me había olvidado también modificar este módulo xD.
  OntologyLearningSenses = disambiguateTerms(Terms)
  for term in OntologyLearningSenses.termsdis:
    if term.sense:
      if term.senseprobability > 0.5:
        print '\tTerm ',term.term,' disambiguate as:\n\t\t ',term.sense,': ',term.sense.definition,' with a ',term.senseprobability,'% of probability\n'
      else:
        print '\tTerm ',term.term,' is discarded as relevant term\n'
    else:
      print '\tTerm ',term.term,' not have a sense in WordNet\n'

# def getMDTerms(disambiguateTerms):
  # metadataTerms = ''
  # for i in range(0,disambiguateTerms.__len__()):

    # term = Senses.termsdis[i]