Este tutorial debería ilustrar cómo trabajar con PMSE (y tal vez cómo empezar). Le introducirá las funciones básicas que representan la funcionalidad principal de PMSE.
Suite de software genérica y middleware para SNLP. Filosofía UNIX: un kit de construcción de pequeñas unidades que pueden combinarse para formar una nueva cadena de herramientas. Independiente del idioma. Escrito en Perl, suite de pruebas automatizada de alta cobertura de código, compatible con UTF-8. Basado en CLI, procesamiento eficiente y paralelo. Documentación exhaustiva. Modo interactivo disponible.
Primero tenemos que definir el entorno de trabajo. PMSE está diseñado para procesar documentos independientemente del idioma en el que estén escritos. Por lo tanto, adoptamos una estrategia sobre cómo tratar con documentos en varios idiomas. Establecimos una raíz para la biblioteca que se encuentra en:
/data/library/
Cuando se establece la raíz de la biblioteca, se pueden agregar directorios para idiomas específicos. El código se deriva de la especificación de idioma iso-639-3. El directorio para inglés será así:
/data/library/e/n/g/.
Si desea construir su biblioteca desde cero, necesitará un directorio en el que se colocarán los archivos fuente. Llamamos a ese directorio original, una vez que tenga sus archivos, debe procesarlos (convertir a texto plano, hacer la tokenización, extracción de n-gramas, etc.) para obtener la información deseada. Los archivos procesados se almacenarán en el directorio derived.
Se diseñó un script P_daf para proporcionar un marco de trabajo para la descarga automatizada. P_daf lee un archivo INI, en el cual se especifica la URL del objetivo. Aquí hay un ejemplo de un archivo INI muy simple llamado demo.ini:
[global]
lastfetch = 2013-01-30 00:00:00
interval = 6 months
name = demo
[Hyperion]
threads = 1;
BASE = http://www.gutenberg.org
url = %BASE%/ebooks/5436
match = a\shref="(?http://www.gutenberg.org/ebooks/(?\d+).(?kindle).noimages)"\stype
get = $file store = "$ENV{PMCORP_ROOT}/e/n/g/original/Hyperion.mobi"
El significado de las secciones y argumentos en el archivo se describe en el manual de PMSE. El archivo demo.ini debe almacenarse en el directorio $PMSE_BIN/cfg/daf.d/. Si ha colocado el INI allí, ahora puede llamar al script:
P_daf --fetch demo
Después de la descarga, el archivo 5436.epub debería colocarse en el directorio /data/library/e/n/g/original/.
Primero, vaya a la biblioteca y luego llame al script P_dmf. Para convertir el formato MOBI a txt, debe instalar el administrador de libros electrónicos calibre, que es utilizado por P_dmf como una de las herramientas integradas. Puede usar la bandera PM_CONVERTOR_WARNINGS=1 para mostrar los convertidores que faltan en su sistema.
cd /data/library/e/n/g/
PM_CONVERTOR_WARNINGS=1 P_dmf --in /data/library/e/n/g/original/
Si todo salió bien, debería ver el directorio /data/library/e/n/g/derived/. Debería contener un archivo de texto llamado Hyperion.txt. Vamos a mostrar su estructura:
tree derived/
derived/
├── Hyperion.mobi
│ ├── lvl.last
│ └── Hyperion.mobi
│ │ └── Hyperion.txt -> /data/library/e/n/g/derived/Hyperion.mobi/./lvl.1/Hyperion.mobi/Hyperion.txt
│ └── lvl.1
│ └── Hyperion.mobi
│ └── Hyperion.txt
El archivo txt contiene un encabezado y pie de página con información de Gutenberg. Usaremos P_rer para 'limpiar' el archivo.
P_rer 's{.+?(Title:\sHyperion)}{$1}xms' Hyperion.txt
P_rer 's{\*\*\*\sEND\sOF\sTHE\sPROJECT.+}{}xms' Hyperion.txt
La eliminación de estas secciones asegurará que los datos lingüísticos extraídos sean correctos. (La repetición de tokens puede afectar la distribución de frecuencias.)
En PMSE existe un tokenizador y segmentador de oraciones predefinido simple para inglés. Ambos usan P_rer y tienen la forma de un macro. Un macro aquí es un envoltorio de shell - un script con el que se llama con argumentos específicos.
MAK_tokenize Hyperion.txt eng
MAK_1s1l -l eng -i Hyperion.txt
La funcionalidad principal de PMSE es la generación de n-gramas y el conteo de diversa información estadística. El siguiente código tomará como entrada todos los archivos txt en el directorio derived y generará bigramas y contará su puntuación MI.
P_gnp --in derived/ --cluster count --ifilter '+token=\A[\w\d]+\z' --out bigrams --measure 'mi=all' --report 3
Nota: Usamos una especificación predeterminada de n-gramas. El parámetro tiene la siguiente forma: --ngrams 2 2 ' ' (n-gramas de tamaño 2, de ventana de tamaño 2 y el separador entre tokens es un espacio en blanco).
Los bigramas se almacenan como un objeto PMSE interno. El script P_dvf es capaz de convertir esta estructura a varios formatos. Además, es capaz de filtrar y ordenar los resultados.
P_dvf --in mi_1\|2 --filter '($value < 9) | ($key =~ m{\b(that|this|was|and|we|she|he|I|a|is|are|the|be)\b}xmsi)' --sort '+val'
correo electrónico: sales@petamem.com
teléfono: +49 911 894 6455
fax: +420 284 680 110
Créalo o no, ahora viene la mejor parte. PMSE es un producto comercial para el sector académico y PetaMem quiere ofrecerle un paquete "todo incluido, sin complicaciones, sin preocupaciones". También queremos que esta suite de software sea asequible para todos. Hay dos modelos de licencia simples: Por usuario por estación de trabajo, que es de 49,- EUR por mes o para todo el departamento, que es de 499,- EUR por mes sin límites en el número de usuarios o estaciones de trabajo (incluidos estudiantes). Todos los precios son + 19% IVA, que no se aplica si se encuentra fuera de Alemania y tiene un VAT-Id.
Prometemos licenciamiento "sin complicaciones, sin preocupaciones". Con el costo de licenciamiento obtiene no solo el derecho a usar el software, sino también actualizaciones gratuitas del software y soporte gratuito. Cualquier actualización/degradación de licencia es intuitiva y hace lo que quiero decir. ¿Tenía cinco licencias individuales y le gustaría una licencia de departamento o viceversa? ¡No hay problema! Simplemente infórmenos por correo electrónico y ajustaremos las condiciones de licenciamiento el mismo día hábil.
Mejora aún más: nuestra empresa está comprometida con el código abierto y cuando dependemos de software comercial, hay pocas cosas que queramos evitar más que un bloqueo de proveedor. Es posible que tenga preocupaciones similares al depender de un producto comercial y lo entendemos completamente. Si decide finalizar la suscripción de licenciamiento de PMSE - bueno - conserva PMSE y puede seguir usándolo. Pierde las actualizaciones gratuitas y el soporte gratuito, pero continúa usando el software. Gratis.
Si tiene más preguntas sobre licenciamiento o desea ordenar el producto, no dude en contactar a sales@petamem.com.
Si tiene más preguntas técnicas detalladas, comuníquese con support@petamem.com
cerrar