viernes, 12 de mayo de 2017

Las redes sociales de la Guerra de las Galaxias

Las redes sociales de Star Wars: ¿quién es el personaje central?

Data Scientist examina las 6 películas de Star Wars para extraer las redes sociales, dentro de cada película y en todo el universo Star Wars. La estructura de la red revela algunas diferencias sorprendentes entre las películas, y encuentra quién es realmente el carácter central.

Por Evelina Gabasova, U. de Cambridge.
KD Nuggets


Logo de Star WarsAlgunos de nosotros estamos esperando la Navidad, y algunos de nosotros estamos esperando la nueva película en la franquicia de Star Wars, The Force Awakens. Mientras tanto, decidí mirar el ciclo completo de 6 películas desde un punto de vista cuantitativo y extraer las redes sociales de Star Wars, tanto dentro de cada película como en todo el universo Star Wars. Mirar la estructura de la red social revela algunas diferencias sorprendentes entre la trilogía original y las precuelas.

Si está interesado en los detalles técnicos de cómo extraí los datos, diríjase a la sección How I did the analysis. Pero empecemos con algunas visualizaciones.

Esta es la red social de las 6 películas combinadas:



Puede abrir la red en una ventana completa que mostrará una visualización interactiva de la red en la que puede arrastrar nodos individuales. Si coloca el cursor sobre los nodos individuales, verá el nombre del carácter correspondiente.

Aquí los nodos representan a los personajes de las películas. Los personajes están conectados por un enlace si ambos hablan en la misma escena. Y cuanto más los personajes hablan juntos, más grueso es el vínculo entre ellos. El tamaño de cada nodo corresponde al número total de escenas en las que aparece el personaje. Hice algunas decisiones discutibles: Anakin y Darth Vader están representados por dos nodos separados, porque esta distinción es importante para la historia. Por otra parte, el nodo Emperador también representa conjuntamente Palpatine y Darth Sidious. También fusioné Amidala con Padme.

La trilogía original (episodios IV, V y VI) de la derecha está mayormente separada en la red de la trilogía prequel a la izquierda porque la mayoría de los personajes aparecen sólo en una de las trilogías. Los nodos cruciales que conectan las dos redes son Obi-Wan Kenobi, R2-D2 y C-3PO. Especialmente los robots parecen jugar una función social importante porque aparecen con frecuencia a través de todas las películas.

Las estructuras de las dos sub-redes son también diferentes. La trilogía original tiene menos nodos importantes (Luke, Han, Leia, Chewbacca, Darth Vader) y están densamente interconectados entre sí. La trilogía prequel tiene más nodos en general, con muchas más conexiones. Voy a ver películas individuales con más detalle más adelante en el post.


Líneas de tiempo del personaje

Muchos de los personajes aparecen en varias películas, por lo que también he creado una comparación de sus líneas de tiempo a través de los episodios individuales. Los siguientes gráficos muestran dónde se mencionan los caracteres individuales en los guiones de película. En orden de aparición, estos son los plazos de algunos de los personajes principales:



Aquí incluí todas las menciones de cada personaje, que incluye otros personajes que discuten su nombre. Es interesante ver cómo Anakin aparece simultáneamente con Darth Vader durante el Episodio III, y luego Darth Vader se hace cargo. Anakin vuelve a aparecer hacia el final del Episodio VI cuando Darth Vader se aleja del lado Oscuro.

Los personajes que aparecen más consistentemente en todas las películas son los mismos que están en el centro de la red social - Obi-Wan, C-3PO y R2-D2. Yoda y el emperador también aparecen en todas las películas, pero no hablan directamente con muchas personas en la trilogía original, lo que les mueve fuera del centro en la red social.

Redes en películas individuales
Ahora veamos las redes en películas individuales. Observe cómo el número de nodos y la complejidad de las redes cambian entre los prequels y las películas originales. De nuevo, aparece un enlace entre caracteres si hablan dentro de la misma escena.

Episodio I: La amenaza fantasma




Episodio II: El ataque de los clones




Episodio III: La venganza de los Sith





Episodio IV: Una nueva esperanza




Episodio V: El Imperio Contraataca






Episodio VI: El retorno del Jedi





Importancia de los caracteres

Las redes individuales muestran nuevamente que la trilogía precuela tiene más caracteres y más interacciones en general. Los episodios originales tienen menos personajes, pero interactúan más entre sí.

George Lucas dijo:

Realmente es la historia de la tragedia de Darth Vader, y comienza cuando tiene nueve años, y termina cuando está muerto.
(fuente)

Pero, ¿es Darth Vader / Anakin realmente el personaje central? Vamos a utilizar algunos métodos de análisis de redes para ver quién es realmente importante en las historias y sus estructuras sociales.

Calculé dos medidas de importancia en las redes para cada una de las películas:


  • Centralidad de grado - esto es simplemente el número de conexiones que tiene el nodo en la red. En las películas de Star Wars, esto corresponde al número total de escenas en las que cada personaje habla.
  • Intermediación - esta medida mira cuántos caminos más cortos en la red conducen a través del nodo. Por ejemplo, imagina que eres Leia y quieres enviar un mensaje a Greedo - el camino más corto para enviarlo es a través de Han Solo, porque interactuó tanto con Leia como con Greedo. Por otro lado, si quieres enviar un mensaje a Luke, no tienes que pasar por Han porque Leia conoce a Luke directamente. La centralidad intermedia para Han se calcula usando el número de caminos más cortos entre todos los otros caracteres que pasan a través de él.

Las dos medidas muestran la importancia de un personaje en la red. La centralidad del grado muestra cuánta gente interactúa cada personaje directamente. El intermedio se refiere más a la forma integral de cada uno de los personajes es a la historia. Los personajes con alta interrelación conectan diferentes áreas de la red social.

Para ambas medidas, los valores más altos significan más importancia. Aquí están los 5 primeros caracteres para cada película:

Episodio I

NombreGrado
1.QUI-GON26
2.ANAKIN23
3.JAR JAR19
4.R2-D219
5.PADME18
NombreIntermediación
1.QUI-GON91.7
2.JAR JAR46.6
3.EMPEROR41.8
4.R2-D230.9
5.NUTE GUNRAY27.2

Episodio II

NombreGrado
1.ANAKIN21
2.OBI-WAN19
3.PADME17
4.YODA10
5.MACE WINDU10
NombreIntermediación
1.OBI-WAN64.7
2.PADME56.5
3.MACE WINDU12.7
4.JAR JAR8.3
5.EMPEROR6.8

Episodio III

NombreGrado
1.ANAKIN14
2.OBI-WAN13
3.BAIL ORGANA12
4.EMPEROR11
5.PADME10
NombreIntermediación
1.OBI-WAN22.7
2.EMPEROR19.0
3.PADME8.0
4.R2-D26.7
5.BAIL ORGANA4.5

Parece que Anakin es en general el personaje más conectado en las tres primeras películas, basado en su grado. Sin embargo, no es muy integral a las relaciones en las películas! Su puntuación de intermediación es tan pequeña que nunca llega a los primeros 5 personajes. Esto significa que todos los otros personajes interactúan directamente entre sí y no a través de Anakin. ¿Cómo buscan las mismas medidas para la trilogía original?

Episodio IV

NombreGrado
1.LUKE15
2.LEIA12
3.C-3PO10
4.CHEWBACCA9
5.HAN8
NombreIntermediación
1.LUKE32.7
2.LEIA19.7
3.HAN15.0
4.C-3PO13.2
5.CHEWBACCA8.0


Episodio V

NombreGrado
1.LUKE12
2.DARTH VADER12
3.HAN11
4.R2-D211
5.C-3PO10
NombreIntermediación
1.LUKE25.2
2.DARTH VADER11.3
3.LEIA9.7
4.HAN6.7
5.R2-D24.5


Episodio VI

NombreGrado
1.LUKE15
2.R2-D212
3.C-3PO11
4.LEIA9
5.HAN9
NombreIntermediación
1.LUKE24.3
2.C-3PO23.0
3.DARTH VADER18.5
4.CHEWBACCA16.0
5.LANDO5.5

Aquí ambas medidas de centralidad muestran resultados muy similares - Luke es el personaje más central de todas las películas, y usando ambas medidas. El orden de los caracteres basado en las dos medidas es casi el mismo.

El análisis de centralidad cuantifica algunas de las cosas que pudimos ver en las redes sociales. La trilogía precuela tiene estructuras sociales más complejas, con más personajes interconectados. Esto también lleva al hecho de que Anakin no es tan central para la historia - algunas de las historias suceden junto con la historia de Anakin, o involucrar a Anakin sólo en el lado. Por otro lado, la trilogía original tiene una estructura más ajustada. Hay un menor número de personajes centrales y vinculan la historia juntos - esto resulta en el acuerdo entre el grado y las medidas de centralidad entremedias.

Quizás esto es parte de la razón por la cual la trilogía original es más popular - las tramas son más consistentes y conducidas por los personajes principales. Las precuelas tienen una estructura más descentralizada y no hay un héroe claro. Aunque las historias están unidas por Anakin, no vincula a los otros personajes.

¿Cómo se ven las medidas cuando miramos la red social completa de todos los episodios juntos? Miré dos variantes de la red. En el primero Anakin y Darth Vader aparecen como dos individuos separados, en el segundo los uní en una sola persona.

Red conjunta 1

Anakin y Darth Vader separados

NombreGrado
1.ANAKIN42
2.R2-D241
3.OBI-WAN37
4.PADME34
5.C-3PO31
NombreIntermediación
1.OBI-WAN370.4
2.PADME237.3
3.R2-D2236.7
4.C-3PO222.9
5.LUKE194.4

Red conjunta 2

Anakin y Darth Vader fusionados

NombreGrado
1.DARTH VADER59
2.R2-D241
3.OBI-WAN37
4.PADME34
5.C-3PO31
NombreIntermediación
1.OBI-WAN348.7
2.C-3PO303.1
3.DARTH VADER241.5
4.R2-D2227.6
5.PADME226.2

Si nos fijamos en Anakin y Darth Vader por separado, Anakin sigue siendo el personaje más conectado, pero no es central en la red. Si los unimos, las cosas mejoran un poco. Ahora Darth Vader / Anakin es el tercer personaje más importante en términos de intermediación. En general, las redes sociales parecen mostrar que las películas de Star Wars están realmente unidas entre sí por Obi-Wan Kenobi en lugar de Darth Vader.

Cómo hice el análisis

Como esto es parte del calendario F# Advent calendar, usé F# para la mayor parte del análisis. Lo combiné con D3.js para las visualizaciones de redes sociales, y con R para el análisis de centralidad de red. Puedes encontrar todo el código fuente en mi GitHub.  Debido a que el código completo resultó ser relativamente largo, aquí sólo veo algunas de las partes más interesantes.


Analizando los guiones

Empecé descargando todos los guiones para las 6 películas de Star Wars. Están disponibles gratuitamente en la The Internet Movie Script Database (IMSDb), por ejemplo aquí está el guión para el episodio IV: The New Hope. Los guiones son sólo en forma de borradores que a veces difieren de las películas reales - las diferencias, sin embargo, no son muy grandes.

El primer paso fue analizar los guiones. Para complicar las cosas, cada uno de ellos utiliza un formato ligeramente diferente. Los guiones estaban en HTML, dentro de las etiquetas <td class = "srctext"> </ td> o dentro de las etiquetas <pre> </ pre>. Para extraer el contenido de cada secuencia de comandos, he utilizado el analizador Html de F # biblioteca de datos que permite el acceso a las etiquetas individuales en un documento HTML utilizando declaraciones como

open FSharp.Data
let url = "http://www.imsdb.com/scripts/Star-Wars-A-New-Hope.html"
HtmlDocument.Load(url).Descendants("pre")
The full code for this part is available in the parseScripts.fs file.
The next step was to extract relevant information from the scripts. In general, a script looks like this:
INT. GANTRY - OUTSIDE CONTROL ROOM - REACTOR SHAFT

Luke moves along the railing and up to the control room.

[...]
                LUKE
        He told me enough!  It was you 
        who killed him.

                VADER
        No.  I am your father.

    Shocked, Luke looks at Vader in utter disbelief.

                LUKE
        No.  No.  That's not true!  
        That's impossible!
Each scene starts with its setting: INT. (interior) or EXT. (exterior) and the location of the scene. Then there can be some free text describing what is happening and how does the scene look. In the dialogues, the names of characters are written in capital letters (sometimes also in bold), followed by what they are saying.
The main signposts in the screenplay are the INT. and EXT. statements which serve as scene separators. These were written consistently in bold in all the 6 scripts and I used them to split them into individual scenes:
// split the script by scene
// each scene starts with either INT. or EXT. 
let recsplitByScene (script : string[]) scenes =
    let scenePattern = "<b>[0-9]*(INT.|EXT.)"
    let idx = 
        onmouseover="showTip(event, 'fs4', 10)" onmouseout="hideTip(event, 'fs4', 10)">script 
        |> Seq.tryFindIndex (fun line -> Regex.Match(line, scenePattern).Success)
    match idx with
    | Some i ->
        let remainingScenes = script.[i+1 ..]
        let currentScene = script.[0..i-1]
        splitByScene remainingScenes (currentScene :: scenes)
    | None -> script :: scenes
This is a recursive function that takes the full screenplay and looks for the specific pattern, which is EXT. or INT. in bold, optionally preceded by a scene number. The function goes through the string and when it encounters the scene break, it splits the string into the current scene and the remaining text. Then it runs recursively until all the scenes are extracted, using the scenes variable as an accumulator.

Getting list of characters

The previous function gave me a list of scenes for each of the movies. Extracting the characters out of them turned out to be more difficult. Some of the scenes followed the format that I showed in the example above, some of the scenes only used character names followed by a colon and their dialogue, all within the same line in the text. The only common property between the different formats was that the names were always written in capital letters.
I resorted to regular expressions, one for each screenplay format:
// Extract names of characters that speak in scenes. 
// A) Extract names of characters in the format "[name]:"
let getFormat1Names text =
    let matches = Regex.Matches(text, "[/A-Z0-9-]+*:")
    let names = 
        seq { for m in matches -> m.Value }
        |> Seq.map (fun name -> name.Trim([|' '; ':'|]))
        |> Array.ofSeq
    names

// B) Extract names of characters in the format "<b> [name] </b>"
let getFormat2Names text =
    let m = Regex.Match(text, "<b>[]*[/A-Z0-9-]+[]*</b>")
    if m.Success then
        let name = m.Value.Replace("<b>","").Replace("</b>","").Trim()
        [| name |]
    else [||]


Cada una de las expresiones regulares coincide no sólo con mayúsculas, sino también con números, hypens, espacios y barras. Todo porque los personajes de Star Wars usan nombres como "R2-D2" o incluso "FODE / BEED".

Para extraer realmente la lista de caracteres que aparecen a través de las películas, también tuve que tener en cuenta el hecho de que muchos personajes usan varios nombres. El senador Palpatine se convierte en Darth Sidious y luego en The Emperor, Amidala se disfraza de Padme (o al revés?).

Debido a esto, he creado manualmente un archivo simple aliases.csv donde especificé qué nombres considero que son los mismos. Utilicé éstos como asignación en un nombre único para cada carácter (excepto Anakin y Darth Vader).


let aliasFile = __SOURCE_DIRECTORY__ + "/data/aliases.csv"
// Use csv type provider to access the csv file with aliases
type Aliases = CsvProvider<aliasFile>

/// Dictionary for translating character names between aliases
let aliasDict = 
    Aliases.Load(aliasFile).Rows 
    |> Seq.map (fun row -> row.Alias, row.Name)
    |> dict

/// Map character names onto unique set of names
let mapName name = if aliasDict.ContainsKey(name) then aliasDict.[name] else name

/// Extract character names from the given scene
let getCharacterNames (scene: string []) =
    let names1 = scene |> Seq.collect getFormat1Names 
    let names2 = scene |> Seq.collect getFormat2Names 
    Seq.append names1 names2
    |> Seq.map mapName
    |> Seq.distinct
Now I could finally extract names of characters from the individual scenes! The following function extracts all the names of characters from all the screenplay urls.
let allNames =
  scriptUrls
  |> List.map (fun (episode, url) ->
    let script = getScript url
    let scriptParts = script.Elements()

    let mainScript = 
        scriptParts
        |> Seq.map (fun element -> element.ToString())
        |> Seq.toArray

    // Now every element of the list is a single scene
    let scenes = splitByScene mainScript [] 

    // Extract names appearing in each scene
    scenes |> List.map getCharacterNames |> Array.concat )
  |> Array.concat
  |> Seq.countBy id
  |> Seq.filter (snd >> (<) 1)  // filter out characters that speak in only one scene
The only remaining problem was that many of the names were not actual names. The list was full of people called “PILOT” or “OFFICER” or “CAPTAIN”. After this I manually went through the results and filtered out the names that were actual names. This resulted in the characters.csv file.

Interactions between characters

To construct the social networks, I wanted to extract all the occasions when two characters talk to each other. This happens if two characters speak within the same scene (I decided to ignore situations when people talk with each other over a transmitter, and therefore across scenes). Extracting characters that are part of the same dialogue was now similified because I could just look at the list of characters I put together in the previous step.
let characters = 
    File.ReadAllLines(__SOURCE_DIRECTORY__ + "/data/characters.csv") 
    |> Array.append (Seq.append aliasDict.Keys aliasDict.Values |> Array.ofSeq)
    |> set
Here I created a set of all character names and their aliases to use for lookup and filtering. Then I used it to search through the characters appearing in each scene:
let scenes = splitByScene mainScript [] |> List.rev

let namesInScenes = 
    scenes 
    |> List.map getCharacterNames
    |> List.map (fun names -> names |> Array.filter (fun n -> characters.Contains n))
Then I used the filtered list of characters to define the social network:
// Create weighted network
let nodes = 
    namesInScenes 
    |> Seq.collect id
    |> Seq.countBy id        
    // optional threshold on minimum number of mentions
    |> Seq.filter (fun (name, count) -> count >= countThreshold)

let nodeLookup = nodes |> Seq.map fst |> set

let links = 
    namesInScenes 
    |> List.collect (fun names -> 
        [ for i in 0..names.Length - 1 do 
            for j in i+1..names.Length - 1 do
                let n1 = names.[i]
                let n2 = names.[j]
                if nodeLookup.Contains(n1) && nodeLookup.Contains(n2) then
                    // order nodes alphabetically
                    yield min n1 n2, max n1 n2 ])
    |> Seq.countBy id


Esto me dio una lista de nodos con el número de veces que hablaron en todo el script, que utilizó para especificar el tamaño de los nodos en las visualizaciones. Entonces creé un enlace para cada vez que dos personajes hablaban dentro de la misma escena, y los contaba para obtener la fuerza de cada relación. Juntos, los nodos y enlaces definieron la red social completa.

Finalmente, exporté los datos al formato JSON. Puedes encontrar todas las redes, tanto globales como individuales, en mi Github.
El código completo para este paso está en el script getInteractions.fsx.

El personaje menciona en el guión

También decidí mirar donde cada uno de los personajes aparece a lo largo del ciclo de seis películas, lo que resulta en el gráfico de líneas de tiempo. Para esto miré todas las veces que el nombre del personaje fue mencionado en los guiones, no limitado al número de veces que el personaje habló. El código para esto era mucho más similar a la extracción de las interacciones en la sección anterior, sólo aquí estaba buscando todas las menciones y no sólo para los diálogos. Para obtener los cronogramas actuales, también mantuve un registro de los números de escena. El fragmento de código siguiente devuelve una lista de números de escena y caracteres que se mencionan en ellos.
let scenes = 
    splitByScene mainScript [] |> List.rev
let totalScenes = scenes.Length

scenes
|> List.mapi (fun sceneIdx scene -> 
    // some names contain typos with lower-case characters
    let lscene = scene |> Array.map (fun s -> s.ToLower()) 

    characters
    |> Array.map (fun name -> 
        lscene 
        |> Array.map (fun contents -> if containsName contents name then Some name else None )
        |> Array.choose id)
    |> Array.concat
    |> Array.map (fun name -> mapName (name.ToUpper()))
    |> Seq.distinct 
    |> Seq.map (fun name -> sceneIdx, name)
    |> List.ofSeq)
|> List.collect id,
totalScenes


Para obtener la línea de tiempo completa, utilicé los números de escena para mapear cada episodio en un intervalo [índice de episodios-1, índice de episodios], dándome una escala relativa de dónde en el episodio apareció el personaje. Los tiempos de escena en intervalos [0,1] son del Episodio I, en [1,2] corresponden al Episodio II, etc.

// extract timelines
[0 .. 5]
|> List.map (fun episodeIdx -> getSceneAppearances episodeIdx)
|> List.mapi (fun episodeIdx (sceneAppearances, total) ->
    sceneAppearances 
    |> List.map (fun (scene, name) -> 
        float episodeIdx + float scene / float total, name))


Guardé estos datos en un archivo pseudo-csv mal formateado, donde cada fila contiene un nombre de carácter y los tiempos relativos que el carácter apareció a través de las 6 películas, separados por comas.

El código completo está en el archivo getMentions.fsx.



Resumen

Como con la mayoría de las tareas de la ciencia de datos, el paso más difícil aquí era conseguir los datos en una buena forma. Los guiones de Star Wars tenían formatos ligeramente diferentes, así que pasé la mayor parte del tiempo averiguando las propiedades comunes de los documentos HTML para crear una función común para analizarlos y para identificar los nombres de los personajes. Después de eso, fue sólo una pequeña pelea para Wookiee y la igualdad droide cuando decidí combinar fuentes de datos para inferir sus conexiones sociales. Hice las redes extraídas disponibles en JSON en mi GitHub así que usted puede también jugar con ellas.



Enlace
Código fuente: github.com/evelinag/StarWars-social-network
Extracted networks in JSON format: github.com/evelinag/StarWars-social-network/tree/master/networks
Screenplays: imsdb.com


domingo, 7 de mayo de 2017

Análisis de redes sociales en la historia de Canadá



Historia colonial en la era de las humanidades digitales
Robert Englebert | Early Canadian History
Robert Englebert enseña en el Department of History, University of Saskatchewan. 

Mucho antes de que las humanidades digitales fueran un producto caliente y aparentemente una necesidad para cada solicitud de beca, yo estaba cortando mis dientes como un estudiante graduado y sin darme cuenta me vi involucrado en la historia digital. Trabajando para mi supervisor de doctorado, Nicole St-Onge, de la Universidad de Ottawa, ayudé a manejar un equipo que digitalizó más de 35,000 contratos de comercio de pieles de sirvientes contratados que fueron contratados en Montreal entre las décadas de 1730 y 1830. El proyecto de la Base de Datos de Contratos de Viaje (VCD), aunque lejos de ser totalmente completado, se convirtió rápidamente en la colección más grande de su tipo para el comercio de pieles. Después de mi doctorado, continué como director asistente del proyecto, ayudando a construir y limpiar lo que se había convertido en una base de datos muy grande de mi puesto en la Universidad de Saskatchewan. Uno de los socios del proyecto, Saint-Boniface Historical Society, migró los datos básicos a una plataforma en línea en su sitio web para que investigadores, genealogistas y otras partes interesadas pudieran usar este recurso (http://shsb.mb.ca/en/Voyageurs_database).

Cuando el VCD inició las bases de datos eran pura potencia, incluso si el poder de la tecnología rara vez se explotaba plenamente. Si se trataba de un simple archivo de Excel, Filemaker Pro, Access o algún otro programa, la idea de capturar datos en masa ofrecía la tentadora perspectiva de ir más allá de los límites de los métodos empíricos tradicionales. La mayoría de los historiadores de Nueva Francia están familiarizados con el PRDH y Parchemin, dos poderosas bases de datos que han revolucionado la forma en que los investigadores hacen su trabajo. Del mismo modo, la capacidad de almacenar y clasificar los datos ha tenido un profundo efecto en los enfoques de una serie de temas históricos, sobre todo el comercio transatlántico de esclavos. Además de las bases de datos, la edad del archivo digital ha cambiado drásticamente la naturaleza de la investigación histórica. El número de colecciones de archivos y documentos históricos en línea ha crecido tan rápidamente que ni siquiera es posible mencionar todos los sitios web pertinentes para la historia colonial canadiense y norteamericana temprana. Y sin embargo, al mismo tiempo, sabemos que a pesar de este crecimiento exponencial sólo una fracción de material de archivo ha llegado a la Web. [1]

A pesar de que nos enfrentamos con cada vez más fuentes, sitios web, bases de datos, etc, nuevos enfoques están ganando ascendencia en el mundo de las humanidades digitales. SIG histórico se ha convertido en el pilar de la historia ambiental, mientras que la minería de texto está cambiando la forma en que muchos académicos abordan su investigación. [2] Como todas las metodologías y tecnologías, sin embargo, hay límites a lo que pueden y no pueden hacer. Por ejemplo, la minería de textos se limita en su mayoría a fuentes de impresión y el uso de HGIS es algo dependiente de ciertos tipos de datos históricos cartográficos, demográficos y ambientales. Sin embargo, con todos los nuevos desarrollos en las últimas décadas, se plantea la cuestión de si la historia de la época colonial se puede hacer sin una consideración a fondo de nuevas metodologías vinculadas a las humanidades digitales?

Durante más de una década he estado trabajando en el comercio de pieles del siglo XVIII y en la historia socioeconómica, reconstruyendo las redes comerciales y familiares de comerciantes y viajeros principalmente canadienses-franceses. Estas redes abarcaban grandes porciones de Norteamérica, desde la ciudad de Quebec y Montreal hasta Detroit, Michilimackinac, Kaskaskia, St. Louis y Nueva Orleans. En su apogeo las rutas comerciales alcanzaron hasta la región de Athabasca del norte de Alberta y Santa Fe en el suroeste. A pesar de utilizar bases de datos y métodos cuantitativos, mi doctorado fue principalmente un estudio empírico con tecnología que ayuda en la recopilación de datos y organización. En otras palabras, mientras la tecnología ayudaba en mi capacidad para recopilar y organizar material, no fue una de las fuerzas impulsoras de mi análisis histórico. Simplemente me permitió emplear métodos empíricos para conjuntos de datos más grandes.

Recientemente, al leer un artículo de Thomas Peace sobre el Análisis de Redes Sociales (SNA), se hizo evidente que la tecnología podría impulsar mi análisis, abriendo nuevas preguntas y maneras de examinar el pasado. Me di cuenta de que lo que había estado haciendo empíricamente era esencialmente un análisis rudimentario de redes sociales en la historia colonial.

La mayoría de la historia del comercio de pieles ha tratado tradicionalmente con complejas redes de pueblos franceses, británicos, angloamericanos e indígenas, mostrando vislumbres de complejas interacciones socioeconómicas. En muchos casos, la historiografía del comercio de pieles hace un excelente trabajo para explotar estas redes de comercio, parentesco e interacción social con buenos resultados. Se puede pensar en el trabajo pionero de eruditos como Jennifer Brown, Sylvia Van Kirk y Jacqueline Peterson sobre el papel de las mujeres en el comercio de pieles y la naturaleza de la historia métis / métis. Estudiosos como Tanis Thorne, Heather Devine, Lucy Murphy y Susan Sleeper-Smith, construyeron sobre esta historiografía temprana, examinando una multitud de relaciones sociales a través de redes católicas, estructuras de relación y matrimonio y genealogías complejas.

Sin embargo, a pesar del excelente trabajo de estos y de otros eruditos, siempre parecía que uno estaba mirando unos cuantos hilos de una tela de araña más grande. Era como un horizonte sin fin, con el resto del mundo apenas fuera de la vista. Más recientemente, varios estudiosos han comenzado a emplear el SCN para ampliar nuestra mirada histórica y reorientar nuestro enfoque de la historia colonial. Por ejemplo, el trabajo de Robert Michael Morrissey sobre redes indígenas en Kaskaskia usó el SNA para cuestionar las nociones arraigadas de "Frenchification" derivadas del ejemplo regularmente empleado Marie Rouensa-8canic8e en el País de Illinois. La candidata de doctorado Émilie Pigeon trabajó con Nicole St-Onge y Brenda Macdougall, explotando a SNA para rastrear las relaciones en las brigadas de caza de búfalos Métis y proporcionar una ventana sobre el papel de las mujeres en los grupos vinculados vinculados a la caza.

Para mi propio trabajo, SNA trae una nueva forma de pensar sobre viejas preguntas historiográficas. Por ejemplo, uno puede empezar a repensar algunas de las primeras afirmaciones de Dale Miquelon sobre el comercio francés-canadiense y el capital comercial bajo el régimen británico y reevaluar el trabajo de José Igartua sobre el destino de los mercaderes de Montreal. Utilizando SNA mi trabajo investiga la interrelación entre los comerciantes de Montreal y lo que Jay Gitlin se ha referido recientemente como la frontera burguesa - un corredor criollo francés de Detroit a Nueva Orleans que duró del extremo del régimen francés hasta el siglo XIX temprano. Muestra no sólo la continuidad de viejas redes francesas de comunicación e intercambio, sino que también permite una mejor comprensión de cómo esas redes cambiaron como resultado del cambio de las realidades geopolíticas y demográficas a lo largo de la segunda mitad del siglo XVIII.

Lo siguiente muestra una maqueta muy sencilla y rápida de las relaciones familiares y la correspondencia para el comerciante Gabriel Cerré (1734-1805). La idea, por supuesto, sería vincularlos con otros comerciantes, viajeros, familias, etc. para mostrar el pleno efecto de tales redes.


Robert Englebert, Análisis de redes sociales de Gabriel Cerré (1734-1805)


Las humanidades digitales ofrecen la tentadora perspectiva de los datos de trabajo sobre los comerciantes y viajeros franceses-canadienses - recolectados y ordenados en las bases de datos - a través de SNA y mostrando los resultados en diagramas relacionales. Además, utilizando HGIS, el componente espacial de esas relaciones puede ser mapeado. Estas tecnologías y metodologías ofrecen la oportunidad de comprender las redes móviles de comunicación e intercambio, que hasta entonces habían sido difíciles de captar y representar.

Algunos podrían preguntarse si estos emocionantes nuevos enfoques de la historia colonial podrían de hecho señalar el final del empirismo tradicional. Creo que sería exagerar el aspecto fundamental que la metodología empírica juega para la mayoría de nosotros. En cambio, he llegado a pensar en estos nuevos enfoques como herramientas adicionales para llevar a cabo eficazmente el arte del historiador. No obstante, se pregunta si se puede o si se puede llevar a cabo la historia colonial norteamericana sin tener debidamente en cuenta estos nuevos instrumentos en la era de las humanidades digitales.


Referencias 


[1] Será interesante ver qué sucede con los archivos en línea mientras el dinero se seca para proyectos de digitalización masiva. Aunque lejos de concluir, parece que esto ya está comenzando.

[2] Anne Kelly Knowles y suplemento digital editado por Amy Hillier, eds., Placing History: How Maps, Spatial Data, and GIS Are Changing Historical Scholarship (Redlands, CA: ESRI Press, 2008); Jennifer Bonnell and Marcel Fortin, eds., Historical GIS Research in Canada (Calgary: University of Calgary Press, 2014).

[3] Thomas Peace, “Six Degrees to Phillip Buckner? An Accessible Introduction to Network Analysis and Its Possibilities for Atlantic Canadian History,” Acadiensis 44, no. 1 (2015): 123–44.

[4] Jennifer S. H. Brown, Strangers in Blood: Fur Trade Families in Indian Country (Vancouver: University of British Columbia Press, 1980); Sylvia Van Kirk, “Many Tender Ties”: Women in Fur-Trade Society, 1670-1870 (Winnipeg: Watson & Dwyer, 1980); Jacqueline Peterson, The New Peoples: Being and Becoming Métis in North America (Winnipeg: University of Manitoba Press, 1985); Jacqueline Peterson, “Prelude to Red River: A Social Portrait of the Great Lakes Métis,” Ethnohistory 25, no. 1 (1978): 41–67.

[5] Tanis C. Thorne, The Many Hands of My Relations: French and Indians on the Lower Missouri (Columbia, MO, and London: University of Missouri Press, 1996); Susan Sleeper-Smith, Indian Women and French Men: Rethinking Cultural Encounter in the Western Great Lakes (Amherst: Universty of Massachusetts Press, 2001); Lucy Eldersveld Murphy, Gathering of Rivers: Indians, Métis and Mining in the Western Great Lakes, 1737-1832 (Lincoln, NE, and London: University of Nebraska Press, 2000); Heather Devine, The People Who Own Themselves: Aboriginal Ethnogenesis in a Canadian Family, 1660-1990 (Calgary, AB: University of Calgary Press, 2004).

[6] Robert Michael Morrissey, “Kaskaskia Social Network: Kinship and Assimilation in the French-Illinois Borderlands, 1695-1735,” The William and Mary Quarterly 70, no. 1 (2013): 103–46.

[7] Brenda Macdougall and Nicole St-Onge, “Rooted in Mobility: Metis Buffalo-Hunting Brigades,” Manitoba History 71 (Winter 2013): 16–27.

[8] Dale Miquelon, “The Baby Family in the Trade of Canada, 1750-1820” (MA Thesis, Carleton University, 1966); José Igartua, “A Change in Climate: The Conquest and the Marchands of Montreal,” Historical Papers / Communications Historiques 9, no. 1 (1974): 115–34.

[9] Jay Gitlin, The Bourgeois Frontier: French Towns, French Traders & American Expansion (New Haven: Yale University Press, 2010).

domingo, 30 de abril de 2017

SEO con Gephi: Pagerank y modularidad para grupos de páginas web


Visualizaciones fáciles de PageRank y grupos de páginas con Gephi

Search Engine Land



En abril del año pasado, colaborador Search Engine Land Paul Shapiro ha escrito una entrada brillante sobre el cálculo de PageRank interna. El puesto ha esbozado método para examinar los enlaces internos de un sitio web con el fin de determinar la importancia de las páginas web dans le.

Esto es asombroso de gran alcance, el objetivo Creo que el concepto de Pablo podría ser más fácil de usar. Utilizó R, qui es un lenguaje y entorno de computación estadística, y la salida es básicamente un montón de números.

Quiero que le muestre cómo hacer los Sami en Gephi con sólo pulsar unos pocos botones en lugar de un montón de código - y, con unos pocos clics más, puede visualizar los datos de una manera que se siente orgulloso de mostrar a sus clientes .

Te voy a mostrar cómo obtener este resultado como un ejemplo de cómo Gephi puede ser útil en sus esfuerzos de SEO. Podrás ble para ver qué páginas son las más fuertes es sus páginas web, páginas determinan cómo se pueden agrupar por temas e identificar algunas cuestiones de sitios web comunes, tales como errores de rastreo o pobres de enlaces internos. A continuación voy a describir algunas ideas para Tomando el concepto al siguiente nivel de geek.

¿Qué es Gephi?

Gephi es un software de código abierto se utiliza para representar gráficamente que las redes y se utiliza comúnmente para representar las redes informáticas y redes de medios sociales.

Es un programa de escritorio simple, basada en Java que se ejecuta en Windows, Mac o Linux. Aunque la versión actual de Gephi es 0.9.1, le animo a descargar la versión anterior 0.9.0, o más tarde la versión 0.9.2, en su lugar. De esa manera usted será ble para seguir aquí, y evitará los errores y los dolores de cabeza de la versión actual. (Si no has-hecho recientemente, puede que tenga que instalar Java en su ordenador también.)

1. Para empezar, el rastreo de su sitio web y la recopilación de datos

Normalmente uso Screaming Frog para el rastreo. Dado que estamos interesados ​​en las páginas aquí y no otros archivos, tendrá que excluir cosas de los datos de rastreo.

Para hacer eso, Aquellos de ustedes con la versión de pago de los deberes de software Implementar la configuración que voy a describir a continuación. (Si está utilizando los límites de versión libre que a qui la recogida de 500 URL y no le permiten ajustar la configuración muchos tienen, voy a explicar qué hacer después.)

Ir a “Configuration” > “Spider” y verá algo parecido a la siguiente captura de pantalla. Haga que el suyo que coincida con la mía para los mejores resultados. Normalmente aussi añadir .*(png|jpg|jpeg|gif|bmp)$ a “Configuration” > “Exclude” para deshacerse de las imágenes, qui Screaming Frog deja veces en el retraso de rastreo.



Para iniciar el rastreo, podría URL de su sitio en el espacio en la parte superior izquierda (foto de abajo). A continuación, haga clic en "Inicio" y esperar a que el rastreo hasta el final.



Cuando se termina el rastreo, vaya a “Bulk Export” > “All Inlinks.” Usted querrá cambiar “Files of Type” a “.csv”  y guardar el archivo.

La limpieza de la hoja de cálculo


  • Eliminar la primera fila que contiene “All Inlinks.”
  • Eliminar la primera columna, “Type.”
  • Cambie el nombre del "destino" a la columna "Target".
  • Eliminar todas las demás columnas Además de “Source” y “Target.”.
  • Guardar el archivo editado (y puedes volver a hacer un uso seguro del tipo de archivo es .csv).



Opcionalmente, puede dejar otras columnas como código de estado o de texto de enlace si desea que este tipo de datos es la gráfica. Los dos principales campos que voy a estar explicando cómo utilizar son “Source” y “Target.”

Si está utilizando la versión gratuita de Screaming Frog, tendrá que hacer un montón de trabajo de limpieza para filtrar las imágenes, archivos CSS y JavaScript.

En Excel, si vas a "Insertar" y haga clic en "Tabla", obtendrá una ventana emergente. Haga su caja fuerte de datos ha-ha definido correctamente, haga clic en "Mi TIENE encabezados de tabla", y haga bien. Ahora, seleccione la flecha en la parte superior derecha de la columna "Target", y un cuadro de búsqueda aparecerá. Lo utilizan para filtrar las filas de la tabla para identificar que contienen las extensiones para los diferentes tipos de archivos, como .js o .css.

Una vez que tenga una visión de todas las filas de la tabla que tienen uno infractor tipo de archivo, seleccionar y eliminar toda la información para aquellas filas. Haga esto para cada tipo de archivo de la antes mencionada y presentar cualquier tipo de imágenes como .jpg, .jpeg, .png, .gif, .bmp o cualquier otra cosa. Cuando haya terminado, es necesario guardar el archivo como .csv de nuevo.

2. Uso Gephi para visualizar los datos de rastreo



Importación de nuestros datos


  • En la pantalla emergente que aparece al abrir la aplicación, haga clic en “New Project.”
  • A continuación, seleccione “File” > “Import Spreadsheet.”
  • Elija su archivo .csv y hacer seguro el “Separator” se establece como “Comma” y “As table” se establece como “Edges table.” Si usted tuviera que hacer un montón de limpieza de datos de Excel, haga amargo que ha eliminado cualquier filas en blanco dentro de sus datos antes de importarlo.
  • Haga clic en “Next,” y asegúrese de que “Create missing nodes” se comprueba antes de pulsar "Finish".

Para nuestros propósitos - Visualización de enlaces internos - los "Edges" son los enlaces internos, y "nodos" son diferentes páginas de la web. (Nota: Si se tropieza con un error de memoria, puede aumentar la cantidad de memoria en Asignado por Gephi Siguiendo esta guía).

Si realmente-tienen un amplio conjunto de datos o desea combinar varios conjuntos de datos, puede importar varios archivos en Gephi.

Una vez que todos los datos están en el "Laboratorio de Datos", se puede cambiar a "Información general". A continuación, verá un cuadro negro probable como la de abajo. No se preocupe, vamos a hacer que bonita en un minuto.




El cálculo de PageRank y modularidad

En la pestaña "Estadísticas", ejecute "PageRank" y "Modularidad". (Seleccionar "ventana" y "Estadísticas" si usted no ve la pestaña "Estadísticas").

Recomiendo el uso de la configuración predeterminada de PageRank, el objetivo de modularidad que lo haría destildaría "Use pesos." Esto añadirá los datos acerca de sus páginas en nuevas columnas que serán utilizados para la visualización.




Es posible que tenga que ejecutar modularidad un par de veces para hacer las cosas de la manera deseada 'em. racimos modularidad páginas que están más conectados con one modularidad otra en grupos o clases (cada par représentée un número). Usted tendrá que formar grupos de páginas que son lo suficientemente grande como para ser significativo, pero lo suficientemente pequeño como para obtener su cabeza alrededor.

Estás clustering, después de todo, por lo que la agrupación de todas sus páginas en dos o tres grupos, probablemente, trae un montón de cosas juntos diferencia. Propósito si al final con 200 racimos, eso no es del todo útil, tampoco. En caso de duda, el objetivo de un mayor número de grupos, ya que muchos de los grupos será probablemente muy pequeño y los deberes agrupaciones mano aún ser revelado.

No se preocupe, te voy a mostrar cómo comprobar y ajustar sus grupos en un minuto. (Nota :. Un menor modularidad le dará más grupos y A modularidad Superior le dará grupos Menos Tweak esto mediante fracciones en lugar de números enteros, como un pequeño cambio hace una gran diferencia).

Ajustar su configuración Modularidad

Vamos a ver lo que hemos hecho. Cambiar la pestaña de "Laboratorio de Datos" y mirar a la "Tabla de datos." Allí encontrará sus nuevas columnas para PageRank y Clase modularidad. Los deberes números de PageRank se alinean con los números de artículo mencionado de Paul Shapiro, el objetivo tesis que tienes que hacer sin tener ningún tipo de codificación. (Recuerde, los números de la tesis de PageRank son internos, no lo hemos Consulte lo general a "PageRank").

La modularidad Clase asigna un número a cada página, de modo altamente Eso páginas interconectadas recibe el número de Sami. Utilizar la funcionalidad de filtro en la parte superior derecha para aislar cada página de su grupo, y el globo ocular se examinan algunas de las direcciones URL para ver qué tan cerca están relacionados con la tesis de ser blanco. Si las páginas terminaron en el mal Clase modularidad, es necesario Puede Volver a ajustar la configuración, o podría indicar indicación de que usted no está haciendo un buen trabajo bajo el mecanismo de interconexión feliz.

Recuerde que su modularidad se basa es la vinculación interna, en realidad no el contenido de las páginas, por lo que está identificando aquellas que están normalmente unidos entre sí - Los que no deberías ser unidos entre sí.

En mi caso, he elegido un bufete de abogados y con la configuración predeterminada, que terminó con el desglose siguiente cuando me ordenadas según la modularidad, qui probablemente mejor hecho podría tener con algunos ajustes:

  • Clase 0 = lesión
  • Clase 1 = familia
  • Clase 2 = algunas páginas aleatorias
  • Clase 3 = penal
  • Clase = 4 tráfico
  • Clase 5 = DWI
  • Clase 6 = un par de páginas al azar

Puede volver a la pestaña "general" y continuará haciendo ajustes hasta que esté satisfecho con sus grupos de páginas. Incluso se ejecutan varias veces con modularidad números de la même pueden dar resultados diferentes ligeramente cada vez, por lo que puede llevar algún jugando para llegar a un punto de donde usted está satisfecho con los resultados.

Vamos a hacer una foto con Layout

Te prometí una visualización Más temprano, y es probable que te preguntas cuando llegamos a ese recurso compartido. Vamos a hacer que el cuadrado negro en una visualización real de que es más fácil de entender.

Ir a "Visión general"> "Diseño". En el cuadro desplegable lado izquierdo donde dice ": elija un diseño," seleccionar "ForceAtlas 2."




Ahora sólo tiene que jugar con los ajustes que para conseguir una visualización que se sienta cómodo. (Si alguna vez se pierde, haga clic en la imagen de la lupa poco en el lado izquierdo de la imagen, y que centrarán y el tamaño de la visualización así que todo es visible en la pantalla.) Para el patrón de la estrella por encima, he puesto "Escala" de 1000 y "gravedad" a 0,7, el resto objetivo son valores predeterminados. Los dos principales ajustes que jugar con escalamiento son probable y gravedad.

Escalamiento gobierna el tamaño de la visualización; El Superior se establece, la más escasa su gráfico será. La manera más fácil de entender la gravedad es pensar en los nodos como los planetas. Cuando aumenta la gravedad, esto atrae todo más cerca. Puede ajustar esta marcando la casilla "Más fuerte gravedad" y ajustando el número de gravedad.

Hay algunas otras opciones, y los efectos son de cada interfaz Explicado dans le. No dude en jugar con ellos (siempre se puede cambiar de nuevo) y ver si hay algo que ayuda a que la visualización más clara.

¿Qué queremos mostrar?

En el caso citado, queremos mostrar modularidad Ambos grupos de páginas () y PageRank interna. La mejor manera que he encontrado para hacer esto es para ajustar el tamaño de los nodos se basa PageRank y los colores se basan modularidad. En la ventana "Aspecto", seleccione "nodos", "Tamaño" (el segundo icono), y en la "pestaña" donde hay un desplegable de "Clasificación Elija un atributo," seleccionar "PageRank".

Elija Algunos tamaños y pulsa "Aceptar" hasta que los nodos más importantes son distinguibles de los otros. En la captura de pantalla a continuación, tengo el tamaño mínimo establecido como el 100 y el tamaño máximo en 1.000. Ajuste del tamaño del nodo se basa PageRank le ayuda a identificar fácilmente significativo es sus páginas web - son más grandes.




Para visualizar los grupos de páginas con modularidad, todavía nos queremos estar en la ventana de "Apariencia", el objetivo de este tiempo queremos seleccionar "nodos" "color" (el primer icono), y "Música". En el desplegable hacia abajo para "Elija un atributo," seleccionar "Clase modularidad."

Algunos colores predeterminados están pobladas, meta si desea cambiar ellos, hay un pequeño botón verde de "paleta". En la Paleta, si hace clic en "Generar", puede especificar el número de colores para mostrar basándose se cuántos grupos La modularidad consiguió cuando se ejecuta.

En mi caso, las clases 2 y 6 no eran muy grandes, así que estoy haciendo clic en Cerrar en sus colores y cambiando a em negro. Si desea mostrar sólo un tema específico, cambiar el color de una sola clase modularidad, dejando los otros hicieron comentarios otro color.




Cambio de la visualización

Puede usted desear para etiquetar los nodos de modo que sabemos lo Representan la página. Para agregar una etiqueta con la dirección URL, tenemos que volver a la pestaña "Laboratorio de Datos" y seleccione la tabla de datos. Hay una caja en la parte inferior para "Copiar datos a otra columna," y queremos copiar "ID" para "etiqueta" para obtener las direcciones URL para mostrar. El proceso es similar para los bordes. Si ha guardado el texto de anclaje del rastreo, puede etiquetar cada flanco con el texto del ancla.

De nuevo en la pestaña "Ver", tendrá que seleccionar cómo desea que su visualización que se vea. Normalmente selecciono "Default curvo" en virtud de los ajustes preestablecidos, el objetivo de una gran cantidad de personas como "Straight predeterminado".

Cambiar el tamaño de fuente y el tamaño proporcional para las etiquetas ayudará a visualizar em de manera que se pueden leer en diferentes tamaños. Sólo jugar con la configuración de la ficha de vista previa para conseguir que se muestre la forma que desee.

Para la visualización de abajo, he apagado etiquetas de nodo y el borde de manera que no repartiera la identidad del sitio web de la empresa, salvo derecho particular que he utilizado. En su mayor parte, Han hecho un buen trabajo agrupando sus páginas y que une internamente. Si hubiera dejado columna de texto del ancla en la hoja de cálculo de Screaming Frog, podría haber tenido Cada enlace interno (línea) muestra las TIC con el ancla de texto como un sello de borde y cada página enlazada desde (círculos) como una etiqueta de nodo.


Gephi para los conjuntos de datos más grandes

Para los conjuntos de datos más grandes, todavía se puede utilizar Gephi, AUNQUE su gráfico es probable que se parecen más a un mapa estelar. Me graficada los enlaces internos de Search Engine Land, meta que tuvo que ajustar el escalado a 5000 y gravedad a 0,2 en los ForceAtlas 2 ajuste.

Todavía se puede ejecutar cálculos de PageRank y modularidad, el propósito es probable que necesite cambiar el tamaño de los ganglios a algo grande para ver Cualquier dato que su gráfico. También puede que tenga que añadir más colores a la paleta, como se describió anteriormente, ya que hay muchas clases de modularidad probables más distintivas en un conjunto de datos de este tamaño. Esto es lo que el gráfico de SEL se ve como antes de teñirlo.




¿Por qué esto tiene alguna importancia?

Gephi se puede utilizar para mostrar una variedad de problemas. En una Anteriormente he publicado en mi artículo sobre el futuro de SEO, que mostró una fractura entre HTTPS y HTTP.

Además, se puede descubrir secciones qui puede ser considerado por un cliente significativo que enviaban muy bien conectado internamente. Por lo general, la tesis están más lejos hacia fuera en la visualización debido a la gravedad, y es posible que desee enlazar a ellos más de las páginas de actualidad relacionadas.

Una cosa es decirle a un cliente que necesita más enlaces internos, el objetivo es mucho más fácil para mostrarles que ellos consideran una página a ser significativo En realidad es muy aislado. El cuadro abajo Fue creado por un simple cambio de mi modularidad hasta que sólo tenía dos grupos. Comentarios Este era porque tenía dos enlaces HTTP y HTTPS en mi rastreo, y reduje la modularidad hasta que tenía sólo dos grupos, la mayoría de qui relacionados fueron páginas HTTP > HTTP y páginas HTTPS > HTTPS.




Hay un montón de otras cosas que este tipo de visualización que pueden pista sobre. Busque nodos individuales por sí mismos. Puede usted encontrar tonos de páginas escasas o incluso errores de rastreo. Trampas de araña puede mostrar como una especie de una línea infinita de páginas y páginas que no están en las agrupaciones adecuadas puede significar que enviaban une internamente a partir de ellos las páginas más relevantes.

Un sitio web bien ligado internamente puede parecer más como un círculo que una estrella, y no me parece que es un problema incluso si los colores no siempre se alinean en grupos. Hay que recordar que cada sitio web es única y visualización de cada uno es diferente.




Es difícil de explicar todas las posibilidades, el objetivo si se intenta algunos de estos, usted comenzará a ver los problemas comunes o tal vez incluso algo nuevo y diferente. Estas visualizaciones se permitirá ayudar a los clientes a entender que usted siempre está hablando. Yo te prometí que sus clientes les va a encantar.

Gephi: tiene una serie de opciones para la exportación .png, .svg, .pdf o si desea crear imágenes estáticas. Más divertido es exportar para su uso página web fue por lo que se crea una experiencia interactiva. Para hacer eso, echa un vistazo a los complementos de Gephi - En particular, la exportación y SigmaJS Gexf-JS Web Viewer.

¿Qué más podemos hacer con Gephi?

Añadir información adicional acerca de los vínculos

Si puede-tener un rastreador que identifican el alquiler de los enlaces, se puede ajustar el peso de sus bordes se basa de manera diferente en el alquiler del enlace. Digamos, por ejemplo, que le damos a cada contenido Enlace un valor mayor que, por ejemplo, un sistema de navegación o pie de página de enlaces. Esto nos permite cambiar el cálculo PageRank interno basado en el peso de los enlaces, determinadas por sus alquiler. Que mostraría probable una representación más exacta de cómo Google está valorando probable es que los enlaces en base a su inversión.

Esto nos permite cambiar el cálculo PageRank interno basado en el peso de los enlaces, determinadas por sus alquiler. Que mostraría probable una representación más exacta de cómo Google está valorando probable es que los enlaces en base a su inversión.

Recalando en métricas de terceros para obtener una visión más completa

La visualización que hemos estado trabajando allí hasta el momento ha sido-en base a cálculos internos de PageRank y asume que todas las páginas tienen el mismo peso en la salida. Sabemos, por supuesto, que esta no es la forma en que Google ve las cosas, que cada página habría Enlaces de variable, la fuerza, la clase y la relevancia de ir a ellos desde sitios externos.

Para hacer nuestra visualización más compleja y útil, podemos cambiarlo para tirar en las métricas de terceros más que la fuerza interna PageRank. Hay un número de diferentes fuentes para esta información como sea posible, tales como Moz Page Authority, Ahrefs URL Rating, o Majestic Citation Flow o Trust Flow. Cualquiera de estos deben trabajar, por lo que elegir a su favorito. Los deberes resultado ser una representación más exacta de la página web como los motores de búsqueda lo ven, ya que ahora se tiene en cuenta la fuerza de las páginas.

Podemos empezar con el archivo Sami hemos creado para mostrar encima de PageRank interna. En Gephi, vamos a ir a la pestaña "Laboratorio de Datos" y hacer un uso seguro estamos en la pestaña "nodos". Hay una opción "Exportar tabla", y se puede exportar sus columnas en un archivo .csv de su elección. Abrir ese archivo exportado en Excel y crear una nueva columna con cualquier nombre que desee. Me pasó a llamarlo "CF" ya que estoy usando flujo Cita Majestic en mi ejemplo.

Ahora, vamos a incorporar a los datos de terceros. En la hoja de cálculo que exportan desde Gephi, he copiado los datos de Majestic que tiene la página en una columna de flujo y Cita en el segundo. Ahora tenemos que casarse con estos datos a la primera, y se puede hacer esto utilizando una fórmula BUSCARV.

En primer lugar, seleccionar los datos Majestic - Ambas columnas - y convertirlo en un rango con nombre. Para ello, vaya al menú desplegable Insertar y seleccione Nombre. A partir de ahí, elegir la opción "definir" y nombre de rango de sus datos Majestic lo que quiera. Para nuestro ejemplo, lo llamaremos "majestuosa".

A continuación, volver a la columna "CF" en el conjunto de datos original. Haga clic en la primera celda en blanco y tipée =VLOOKUP(A2,majestic,2,FALSE), A continuación, pulsa "Enter" en su teclado. Copiar esto a todas las otras entradas "CF" haciendo doble clic en el pequeño cuadrado en la parte inferior derecha de la caja. Esta fórmula utiliza los datos en la columna A - la URL - tener una llave, y luego hacerlo coincidir con la dirección URL en los datos Majestic Sami. Luego se dirige a la siguiente columna de datos Majestic - los datos PageRank externa que estamos buscando - y tira de ella hacia la columna de la FQ.

A continuación, tendrá que hacer clic en la letra de la columna en la parte superior de la columna de la CF para seleccionar todo en la columna. Haga clic en "CTRL + C" para copiar, a continuación, haga clic derecho e ir a "Pegado especial" en los que aparece y seleccionar el menú "Valores". Esta es nuestra fórmula para reemplazar a los números reales. Ahora podemos eliminar las filas que se había nuestros datos de terceros y salvar a nuestro archivo de nuevo como .csv.



De vuelta en Gephi y en el "Laboratorio de Datos," queremos hacer clic en "Importar hoja de cálculo" para tirar en la tabla que acaba de hacer. Seleccione el archivo .csv creado. Esta vez, a diferencia con los pasos anteriores, queremos cambiar "como mesa" a "mesa de nodos." Haga clic en "Siguiente" y hacer agrio "nodos de fuerza que ser creado como nuevos" no está marcada, después haga clic en "Finalizar". Esta deberes reemplazar la tabla nodos de datos con nuestra tabla modificada que incluye CF.

En la parte inferior de la pantalla de aplicación, verá un botón de "Copiar datos a otra columna." Simplemente queremos seleccionar "CF" y en el "Copiar a" queremos seleccionar "PageRank". Ahora, en vez PageRank interna de los datos generados, estamos utilizando los datos de PageRank externas de terceros.

De vuelta en la pestaña "Información general", queremos mirar en "Apariencia" y pulsa "Aceptar" una vez más. Ahora nuestros nodos deberías ser de un tamaño basado en la fuerza es a partir de nuestros datos CF Majestic. En mi siguiente gráfico, se puede ver qui son las páginas más fuerte en el sitio web, Teniendo en cuenta las medidas externas de la fuerza de las páginas.





Se puede decir mucho sólo de esta imagen de uno. Cuando se enciende en las etiquetas, se puede ver en cada páginas quien representa cada círculo. El color indica agrupación a cual se agrupa, y el tamaño de círculo indica la fuerza relativa de la página.

La tesis de la parte superior más lejos puntos son, al menos las páginas están vinculadas internamente. Se puede decir por el número de nodos de cada color qué categorías que el cliente ha creado en su mayor feliz y lo que ha sido exitoso para ellos en la atracción de los enlaces externos. Por ejemplo, se puede ver que hay una gran cantidad de puntos de color púrpura, lo que indica que es probable indicación área significativa práctica el año para la empresa y que están creando una gran cantidad de feliz a su alrededor.

El problema es mayor Que la púrpura puntos están más lejos del centro, indicando indicación de que no están bien comunicados internamente. Sin dar demasiado lejos, te puedo decir que muchos de los puntos lejanos a cabo son las entradas del blog. Y mientras lo hacen un buen trabajo de los blogs con enlaces a otras páginas, hacer un trabajo pobre Ellos, por la promoción de sus entradas de blog en el sitio web.

Conclusión

Espero que hayan disfrutado jugando junto con sus propios datos y ha conseguido un buen sentido de cómo Gephi puede ayudar a visualizar grandes datos procesables para usted y para sus clientes.