N-Gram-functies extraheren uit verwijzing naar tekstonderdelen

In dit artikel wordt een onderdeel in de Azure Machine Learning-ontwerpfunctie beschreven. Gebruik het onderdeel N-Gram-functies uit tekst extraheren om ongestructureerde tekstgegevens te bevatten .

Configuratie van het onderdeel N-Gram-functies uit tekst extraheren

Het onderdeel ondersteunt de volgende scenario's voor het gebruik van een n-gram-woordenlijst:

Een nieuwe n-gramwoordenlijst maken

  1. Voeg het onderdeel N-Gram-functies uit tekst extraheren toe aan uw pijplijn en verbind de gegevensset met de tekst die u wilt verwerken.

  2. Gebruik de kolom Tekst om een kolom van het type tekenreeks te kiezen die de tekst bevat die u wilt extraheren. Omdat de resultaten uitgebreid zijn, kunt u slechts één kolom tegelijk verwerken.

  3. Stel de vocabulairemodus in op Maken om aan te geven dat u een nieuwe lijst met n-gram-functies maakt.

  4. Stel N-Gramgrootte in om de maximale grootte van de n-grammen aan te geven die moeten worden geëxtraheerd en opgeslagen.

    Als u bijvoorbeeld 3 invoert, worden unigrammen, bigrams en trigrammen gemaakt.

  5. De functie Weging geeft aan hoe de documentfunctievector wordt gebouwd en hoe woordenschat uit documenten moet worden geëxtraheerd.

    • Binair gewicht: wijst een binaire aanwezigheidswaarde toe aan de geëxtraheerde n-grammen. De waarde voor elke n-gram is 1 wanneer deze voorkomt in het document, en anders 0.

    • TF-gewicht: wijst een termfrequentiescore (TF) toe aan de geëxtraheerde n-grammen. De waarde voor elke n-gram is de frequentie van het optreden in het document.

    • IDF-gewicht: wijst een idF-score (inverse document frequency) toe aan de geëxtraheerde n-grammen. De waarde voor elke n-gram is het logboek van de corpusgrootte gedeeld door de frequentie van het optreden in het hele corpus.

      IDF = log of corpus_size / document_frequency

    • TF-IDF-gewicht: wijst een termfrequentie/inverse documentfrequentie (TF/IDF) score toe aan de geëxtraheerde n-grammen. De waarde voor elke n-gram is de TF-score vermenigvuldigd met de IDF-score.

  6. Stel Minimale woordlengte in op het minimum aantal letters dat in een n-gram kan worden gebruikt in één woord .

  7. Gebruik Maximale woordlengte om het maximum aantal letters in te stellen dat kan worden gebruikt in één woord in een n-gram.

    Standaard zijn maximaal 25 tekens per woord of token toegestaan.

  8. Gebruik De absolute minimumfrequentie van n-gramdocument om de minimale frequentie in te stellen die vereist zijn voor een n-gram die moet worden opgenomen in de n-gramwoordenlijst.

    Als u bijvoorbeeld de standaardwaarde 5 gebruikt, moet een n-gram ten minste vijf keer in het corpus worden weergegeven om in de n-gramwoordenlijst te worden opgenomen.

  9. Stel Maximale documentverhouding n-gram in op de maximale verhouding van het aantal rijen dat een bepaalde n-gram bevat, over het aantal rijen in het totale corpus.

    Een verhouding van 1 geeft bijvoorbeeld aan dat, zelfs als in elke rij een specifieke n-gram aanwezig is, de n-gram kan worden toegevoegd aan de woordenlijst n-gram. Meestal wordt een woord dat in elke rij voorkomt, beschouwd als een ruiswoord en wordt het verwijderd. Als u domeinafhankelijke ruiswoorden wilt filteren, probeert u deze verhouding te verlagen.

    Belangrijk

    De frequentie van het voorkomen van bepaalde woorden is niet gelijk. Dit verschilt per document. Als u bijvoorbeeld opmerkingen van klanten over een specifiek product analyseert, kan de productnaam een zeer hoge frequentie hebben en dicht bij een ruiswoord komen, maar een belangrijke term zijn in andere contexten.

  10. Selecteer de optie N-gram-functievectoren normaliseren om de functievectors te normaliseren. Als deze optie is ingeschakeld, wordt elke n-gram-functievector gedeeld door de L2-norm.

  11. Verzend de pijplijn.

Een bestaande n-gramwoordenlijst gebruiken

  1. Voeg het onderdeel N-Gram-functies uit tekst extraheren toe aan uw pijplijn en verbind de gegevensset met de tekst die u wilt verwerken met de gegevenssetpoort .

  2. Gebruik de kolom Tekst om de tekstkolom te selecteren die de tekst bevat die u wilt weergeven. Standaard selecteert het onderdeel alle kolommen van het type tekenreeks. Voor de beste resultaten verwerkt u één kolom tegelijk.

  3. Voeg de opgeslagen gegevensset toe die een eerder gegenereerde n-gramwoordenlijst bevat en verbind deze met de invoerwoordenlijstpoort . U kunt ook de uitvoer van het resultaatwoordenboek van een upstream-exemplaar van het onderdeel N-Gram-functies uit tekst extraheren verbinden.

  4. Selecteer voor de modus Woordenschat de optie Alleen-lezen bijwerken in de vervolgkeuzelijst.

    De optie ReadOnly vertegenwoordigt het invoercorpus voor de invoerwoordenlijst. In plaats van termfrequenties te berekenen vanuit de nieuwe tekstgegevensset (aan de linkerkant), worden de n-gramgewichten uit de invoerwoordenlijst toegepast zoals ze zijn.

    Tip

    Gebruik deze optie wanneer u een tekstclassificatie scoret.

  5. Zie de beschrijvingen van eigenschappen in de vorige sectie voor alle andere opties.

  6. Verzend de pijplijn.

Deductiepijplijn bouwen die gebruikmaakt van n-grammen om een realtime-eindpunt te implementeren

Een trainingspijplijn die de functie N-Grams uit het tekst - en scoremodel extraheren bevat om voorspellingen te doen op de testgegevensset, is gebouwd in de volgende structuur:

Voorbeeld van N-Grams-trainingspijplijn extraheren

De woordenschatmodus van de omcirkelde functie N-grammen uit tekst extraheren is Maken en de woordenlijstmodus van het onderdeel dat verbinding maakt met het onderdeel Score Model is ReadOnly.

Nadat u de bovenstaande trainingspijplijn hebt ingediend, kunt u de uitvoer van het omcirkelde onderdeel registreren als gegevensset.

gegevensset registreren

Vervolgens kunt u realtime deductiepijplijn maken. Nadat u deductiepijplijn hebt gemaakt, moet u de deductiepijplijn als volgt handmatig aanpassen:

deductiepijplijn

Verzend vervolgens de deductiepijplijn en implementeer een realtime-eindpunt.

Resultaten

Met het onderdeel N-Gram-functies uit tekst extraheren worden twee typen uitvoer gemaakt:

  • Resultaatgegevensset: deze uitvoer is een samenvatting van de geanalyseerde tekst in combinatie met de n-grammen die zijn geëxtraheerd. Kolommen die u niet hebt geselecteerd in de optie Tekstkolom , worden doorgegeven aan de uitvoer. Voor elke kolom met tekst die u analyseert, genereert het onderdeel de volgende kolommen:

    • Matrix van n-gram-exemplaren: het onderdeel genereert een kolom voor elke n-gram in het totale corpus en voegt een score toe in elke kolom om het gewicht van de n-gram voor die rij aan te geven.
  • Woordenlijst van resultaat: De woordenlijst bevat de werkelijke n-gramwoordenlijst, samen met de term frequentiescores die worden gegenereerd als onderdeel van de analyse. U kunt de gegevensset opslaan voor hergebruik met een andere set invoerwaarden of voor een latere update. U kunt de woordenschat ook opnieuw gebruiken voor modellering en scoren.

Woordenlijst van resultaten

De woordenlijst bevat de n-gramwoordenlijst met de term frequentiescores die worden gegenereerd als onderdeel van de analyse. De DF- en IDF-scores worden gegenereerd, ongeacht andere opties.

  • Id: een id die wordt gegenereerd voor elke unieke n-gram.
  • NGram: De n-gram. Spaties of andere woordscheidingstekens worden vervangen door het onderstrepingsteken.
  • DF: de term frequentiescore voor de n-gram in het oorspronkelijke corpus.
  • IDF: De inverse documentfrequentiescore voor de n-gram in het oorspronkelijke corpus.

U kunt deze gegevensset handmatig bijwerken, maar er kunnen fouten optreden. Bijvoorbeeld:

  • Er treedt een fout op als het onderdeel dubbele rijen met dezelfde sleutel vindt in de invoerwoordenlijst. Zorg ervoor dat geen twee rijen in de woordenlijst hetzelfde woord hebben.
  • Het invoerschema van de woordenlijstgegevenssets moet exact overeenkomen, inclusief kolomnamen en kolomtypen.
  • De kolom Id en de kolom DF moeten van het type geheel getal zijn.
  • De kolom IDF moet van het float-type zijn.

Notitie

Verbind de gegevensuitvoer niet rechtstreeks met het onderdeel Model trainen. U moet kolommen met vrije tekst verwijderen voordat ze in het trainmodel worden ingevoerd. Anders worden de kolommen met vrije tekst behandeld als categorische functies.

Volgende stappen

Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.