Start

Deze walkthrough moet illustreren hoe je met PMSE kunt werken (en misschien hoe je kunt beginnen). Het introduceert je in basisfuncties die de kernfunctionaliteit van PMSE vertegenwoordigen.

Databibliotheek

Generiek softwarepakket en middleware voor SNLP. UNIX-filosofie: een bouwpakket van kleine eenheden die kunnen worden gecombineerd tot een nieuwe toolchain. Taal-agnostisch. Geschreven in Perl, geautomatiseerde testsuite met hoge codecoverage, UTF-8-bewust. CLI-gebaseerd, efficiënt & parallelle verwerking. Uitgebreide documentatie. Interactieve modus beschikbaar.

We moeten eerst de werkomgeving definiëren. PMSE is ontworpen om documenten onafhankelijk te verwerken van de taal waarin ze zijn geschreven. We hebben daarom een strategie aangenomen voor het omgaan met documenten in verschillende talen. We hebben een hoofdmap voor de bibliotheek vastgesteld die zich bevindt in:

/data/library/

Wanneer de hoofdmap van de bibliotheek is ingesteld, kunnen mappen voor specifieke talen worden toegevoegd. De code is afgeleid van de iso-639-3 taalspecificatie. De map voor Engels zal dus zijn:

 /data/library/e/n/g/. 

Als u uw bibliotheek vanaf nul wilt bouwen, heeft u een map nodig waarin de bronbestanden worden geplaatst. We noemen zo'n map original, zodra u uw bestanden heeft, moet u ze verwerken (converteren naar platte tekst, tokenisatie uitvoeren, n-grammen extractie enzovoort) om de gewenste informatie te verkrijgen. Verwerkte bestanden worden opgeslagen in de derived map.

Haal het bestand op

Bestand Ophalen Diagram

Een P_daf script is ontworpen om een framework te bieden voor geautomatiseerde downloads. P_daf leest een INI-bestand waarin de URL van het doel is gespecificeerd. Hier is een voorbeeld van een zeer eenvoudig INI-bestand genaamd 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"

De betekenis van secties en argumenten in het bestand wordt beschreven in de PMSE handleiding. Het demo.ini bestand moet worden opgeslagen in de $PMSE_BIN/cfg/daf.d/ map. Als u de INI daar heeft geplaatst, kunt u nu het script aanroepen:

 P_daf --fetch demo 

Na het downloaden moet bestand 5436.epub worden geplaatst in de /data/library/e/n/g/original/ map.

Converteer het bestand

Ga eerst naar de bibliotheek en roep dan het P_dmf script aan. Om het MOBI-formaat naar txt te converteren, moet u de calibre e-bookmanager installeren, die door P_dmf wordt gebruikt als een van de geïntegreerde tools. U kunt de PM_CONVERTOR_WARNINGS=1 vlag gebruiken om converters weer te geven die ontbreken op uw systeem.

        cd /data/library/e/n/g/
        PM_CONVERTOR_WARNINGS=1 P_dmf --in /data/library/e/n/g/original/ 

Als alles goed is gegaan, zou u de /data/library/e/n/g/derived/ map moeten zien. Het moet een tekstbestand bevatten met de naam Hyperion.txt. Laten we de structuur ervan weergeven:

 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

Maak het bestand schoon

Het txt-bestand bevat een header en footer met Gutenberg-informatie. We gebruiken P_rer om het bestand 'schoon te maken'.

        P_rer 's{.+?(Title:\sHyperion)}{$1}xms' Hyperion.txt
        P_rer 's{\*\*\*\sEND\sOF\sTHE\sPROJECT.+}{}xms' Hyperion.txt

Het verwijderen van deze secties zorgt ervoor dat de geëxtraheerde taalkundige gegevens correct zijn. (Herhaling van tokens kan de distributie van frequenties beïnvloeden.)

Tokenisatie

Tokenisatie

In PMSE bestaat een eenvoudig voorgedefinieerde tokenizer en zinssegmentator voor Engels. Beide gebruiken P_rer en hebben de vorm van een macro. Macro is hier een shell-wrapper - een script dat wordt aangeroepen met specifieke argumenten.

         MAK_tokenize Hyperion.txt eng
         MAK_1s1l -l eng -i Hyperion.txt

N-grammen Extractie

n-grammen diagram

De kernfunctionaliteit van PMSE is het genereren van n-grammen en het tellen van verschillende statistische informatie. De volgende code neemt als invoer alle txt-bestanden in de derived map en genereert bigrammen en berekent hun MI-score.

 P_gnp --in derived/ --cluster count --ifilter '+token=\A[\w\d]+\z' --out bigrams --measure 'mi=all' --report 3 

Opmerking: We gebruikten een standaardspecificatie van n-grammen. De parameter ziet er als volgt uit: --ngrams 2 2 ' ' (n-grammen van grootte 2, van venster van grootte 2 en het scheidingsteken tussen tokens is een witruimte).

Visualisatie & Filteren

De bigrammen worden opgeslagen als een intern PMSE-object. Het P_dvf script is in staat om deze structuur om te zetten naar verschillende formaten. Ook is het in staat om de resultaten te filteren en te sorteren.

 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' 

Koop PMSE

e-mail: sales@petamem.com
telefoon: +49 911 894 6455
fax: +420 284 680 110

Licentiekosten

Geloof het of niet, nu komt het goede deel. PMSE is een commercieel product voor de academische sector en PetaMem wil u een "alles inbegrepen, zonder gedoe, zonder zorgen" pakket aanbieden. We willen ook dat dit softwarepakket voor iedereen betaalbaar is. Er zijn twee eenvoudige licentiemodellen: Per gebruiker per werkstation, namelijk 49,- EUR per maand of voor de hele afdeling, namelijk 499,- EUR per maand zonder limiet op het aantal gebruikers of werkstations (inclusief studenten). Alle prijzen zijn + 19% BTW, wat niet van toepassing is als u zich buiten Duitsland bevindt en een BTW-nummer heeft.

Licentievoorwaarden

We beloven "geen gedoe, geen zorgen" licenties. Met de licentiekosten verkrijgt u niet alleen het recht om de software te gebruiken, maar ook gratis software-upgrades en gratis ondersteuning. Eventuele licentie-upgrades/downgrades zijn intuïtief en doen-wat-ik-bedoel. Had u vijf enkele licenties en wilt u een afdelingslicentie of vice versa? Geen enkel probleem! Informeer ons gewoon via e-mail en wij passen de licentievoorwaarden dezelfde werkdag aan.

Het wordt nog beter: ons bedrijf is toegewijd aan open source en wanneer we vertrouwen op commerciële software, zijn er maar weinig dingen die we meer willen vermijden dan een vendor lock-in. U heeft mogelijk vergelijkbare zorgen wanneer u vertrouwt op een commercieel product en dat begrijpen we volledig. Mocht u besluiten om het licentieabonnement van PMSE te beëindigen - nou - dan houdt u PMSE en mag u het blijven gebruiken. U verliest de gratis upgrades en gratis ondersteuning, maar u blijft de software gebruiken. Gratis.

Mocht u nog verdere vragen hebben over licenties of wilt u het product bestellen, aarzel dan niet om contact op te nemen met sales@petamem.com.

Mocht u nog verdere gedetailleerde technische vragen hebben, neem dan contact op met support@petamem.com

sluiten