Tekst voorverwerken

Voert opschoon bewerkingen uit voor tekst

Categorie: Text Analytics

Notitie

Van toepassing op : machine learning Studio (klassiek)

Deze inhoud is alleen van toepassing op Studio (klassiek). Er zijn Vergelijk bare modules voor slepen en neerzetten toegevoegd aan Azure Machine Learning Designer. In dit artikel vindt u meer informatie over de twee versies.

Module overzicht

In dit artikel wordt beschreven hoe u de tekst module preprocess gebruikt in azure machine learning Studio (klassiek) om tekst op te schonen en te vereenvoudigen. Door de tekst voor te verwerken, kunt u gemakkelijker zinvolle functies maken op basis van tekst.

De tekst module preprocess ondersteunt bijvoorbeeld deze algemene bewerkingen op tekst:

  • Verwijdering van stop woorden
  • Reguliere expressies gebruiken om specifieke doel teken reeksen te zoeken en te vervangen
  • Lemmatisering, waarmee meerdere verwante woorden worden omgezet naar één canonieke vorm
  • Filteren op specifieke delen van spraak
  • Case-normalisatie
  • Verwijdering van bepaalde klassen tekens, zoals cijfers, speciale tekens en reeksen van herhaalde tekens, zoals "AAAA"
  • E-mail berichten en Url's identificeren en verwijderen

U kunt kiezen welke reinigings opties u wilt gebruiken en desgewenst een aangepaste lijst met stop woorden opgeven.

De module ondersteunt momenteel zes talen: Engels, Spaans, Frans, Nederlands, Duits en Italiaans.

Tekst voorverwerken configureren

  1. Voeg de tekst module preprocess toe aan uw experiment in Studio (klassiek). U kunt deze module vinden onder Text Analytics.

  2. Verbind een gegevensset met ten minste één kolom met tekst.

  3. Als de tekst die u voorverwerkt, allemaal in dezelfde taal is, selecteert u de taal in de vervolg keuzelijst taal . Met deze optie wordt de tekst voorverwerkt met taal kundige regels die specifiek zijn voor de geselecteerde taal.

  4. Als u tekst wilt voorverwerken die mogelijk meerdere talen bevat, kiest u de kolom bevat taal optie.

    Gebruik vervolgens de kolom eigenschap cultuur-taal om een kolom te kiezen in de gegevensset die de taal aangeeft die in elke rij wordt gebruikt. De kolom moet een standaard taal-id bevatten, zoals "Engels" of en .

    Op basis van deze id past de module de juiste taal kundige resources toe om de tekst te verwerken.

    Als uw gegevensset geen dergelijke id's bevat, gebruikt u de module taal detecteren om de taal vooraf te analyseren en een id te genereren.

    Tip

    Er treedt een fout op als er een niet-ondersteunde taal is opgenomen. Zie de sectie technische opmerkingen voor meer informatie.

  5. Verwijderen door een onderdeel van de spraak: Selecteer deze optie als u analyse van een deel van spraak wilt Toep assen. U kunt vervolgens de tags voor deel van spraak gebruiken om bepaalde klassen van woorden te verwijderen.

    • Zelfstandige naam woorden verwijderen: Selecteer deze optie als u de zelfstandige naam woorden wilt verwijderen.
    • Bijvoegingen verwijderen: Selecteer deze optie als u de bijvoegingen wilt verwijderen.
    • Termen verwijderen: Selecteer deze optie als u de woorden wilt verwijderen.

    Zie de sectie met technische opmerkingen voor meer informatie over het gebruik van de onderdeel-of-speech-identificatie methode.

  6. Tekst kolom die moet worden opgeschoond: Selecteer de kolom of kolommen die u wilt voorverwerken.

  7. Stop woorden verwijderen: Selecteer deze optie als u een vooraf gedefinieerde lijst met stop woord wilt Toep assen op de tekst kolom. Het verwijderen van woorden wordt niet meer uitgevoerd vóór andere processen.

    Stop woord-lijsten zijn taal afhankelijk en aanpasbaar. Zie de sectie met technische opmerkingen voor meer informatie.

  8. Lemmatisering: Selecteer deze optie als u wilt dat woorden worden weer gegeven in de canonieke vorm. Deze optie is handig voor het verminderen van het aantal unieke instanties van andere vergelijk bare tekst tokens.

    Het lemmatisering-proces is zeer taal afhankelijk. Zie de sectie technische opmerkingen voor meer informatie.

  9. Zinnen detecteren: Selecteer deze optie als u wilt dat de module een teken grens markering voor een zin invoegt bij het uitvoeren van analyses.

    In deze module wordt een reeks van drie sluis tekens gebruikt ||| om de zin af te duiden.

  10. U kunt desgewenst aangepaste zoek-en vervang bewerkingen uitvoeren met reguliere expressies.

    • Aangepaste reguliere expressie: Definieer de tekst die u zoekt.
    • Aangepaste vervangende teken reeks: Definieer één vervangende waarde.
  11. Hoofdletter gevoelig voor kleineletters: Selecteer deze optie als u ASCII-hoofd tekens wilt omzetten in een kleine letter vorm.

    Als tekens niet zijn genormaliseerd, wordt hetzelfde woord in hoofd letters en kleine letters beschouwd als twee verschillende woorden: bijvoorbeeld AM is hetzelfde als am .

  12. U kunt desgewenst de volgende typen tekens of teken reeksen uit de verwerkte uitvoer tekst verwijderen:

    • Nummers verwijderen: Selecteer deze optie als u wilt dat alle numerieke tekens voor de opgegeven taal worden verwijderd.

    Identificatie van wat een getal vormt, is afhankelijk van het domein en taal afhankelijk. Als de numerieke tekens integraal deel uitmaken van een bekend woord, kan het getal niet worden verwijderd.

    • Speciale tekens verwijderen: gebruik deze optie om niet-alfanumerieke speciale tekens te vervangen door het sluis | teken.

      Zie de sectie technische opmerkingen voor meer informatie over speciale tekens.

    • Dubbele tekens verwijderen: Selecteer deze optie als u reeksen die tekens herhalen wilt verwijderen. Zo zou een reeks zoals ' aaaaa ' worden verwijderd.

    • E-mail adressen verwijderen: Selecteer deze optie om een wille keurige volg orde van de indeling te verwijderen <string>@<string> .

    • Url's verwijderen: Selecteer deze optie om een reeks te verwijderen die de volgende URL-voor voegsels bevat:

      • http, https
      • ftp
      • www
  13. Uitbestedingen van woorden uitvouwen: deze optie is alleen van toepassing op talen die verb-contract ANTEN gebruiken; Dit is momenteel alleen beschikbaar in het Engels.

    Als u deze optie selecteert, kunt u bijvoorbeeld de zin ' zou niet blijven behouden ' vervangen. "would not stay there"

  14. Backslashes normaliseren naar slashes: Selecteer deze optie om alle exemplaren van \\ aan toe te wijzen / .

  15. Tokens splitsen op speciale tekens: Selecteer deze optie als u woorden wilt splitsen op tekens zoals, enzovoort & - .

    De teken reeks wordt bijvoorbeeld onderverdeeld MS-WORD in twee tokens MS en WORD .

Voorbeelden

De volgende voor beelden in de Azure AI Gallery illustreren het gebruik van de preprocess-tekst module:

Technische opmerkingen

In deze sectie vindt u meer informatie over de onderliggende pre-verwerkings technologie van tekst en het opgeven van aangepaste tekst bronnen.

Ondersteunde talen

Op dit moment Azure Machine Learning ondersteuning voor de voor verwerking van tekst in deze talen:

  • Nederlands
  • Engels
  • Frans
  • Duits
  • Italiaans
  • Spaans

Er zijn extra talen gepland. Raadpleeg de micro soft machine learning blog voor aankondigingen.

Lemmatisering

Lemmatisering is het proces van het identificeren van één canonieke vorm om meerdere woord tokens te vertegenwoordigen.

De bibliotheken voor de verwerking van natuurlijke taal die zijn opgenomen in Azure Machine Learning Studio (klassiek) combi neer de volgende meertalige bewerkingen om lemmatisering te bieden:

  • Schei ding van zinnen: in vrije tekst die wordt gebruikt voor analyse van sentiment en andere tekst analyse, worden zinnen vaak uitgevoerd of zijn er Lees tekens verloren. Invoer teksten kunnen een wille keurig lang deel van tekst vormen, variërend van een tweet of fragment tot een volledige alinea of zelfs document.

    Met de hulp middelen voor natuurlijke talen die door Studio (klassiek) worden gebruikt, wordt de zin schei ding uitgevoerd als onderdeel van de onderliggende lexicale analyse. Zinnen worden echter niet gescheiden in de uitvoer. Desgewenst kunt u opgeven dat een zin grens moet worden gemarkeerd voor hulp bij andere tekst verwerking en-analyse.

  • Tokeniseren: de regels die de grenzen van woorden bepalen, zijn taal afhankelijk en kunnen complex zijn, zelfs in talen die spaties tussen woorden gebruiken.

    Voor sommige talen (zoals Chinees of Japans) wordt geen witruimte tussen woorden gebruikt en voor het scheiden van woorden is een morfologische analyse vereist.

    Daarom bieden de tokens-methoden en-regels die worden gebruikt in deze module, verschillende resultaten van taal tot taal. Deze tokens-regels worden bepaald door bibliotheken voor tekst analyse die door micro soft Research worden geboden voor elke ondersteunde taal en kunnen niet worden aangepast.

  • Onderdeel-van-spraak-identificatie: in een reeks woorden kan het lastig zijn om het exacte deel van de spraak voor elk woord te identificeren. Zelfs een schijn bare eenvoudige zin zoals ' tijd vliegt zoals een pijl ' kan veel tien parses hebben (een beroemde-voor beeld). Delen van spraak zijn ook verschillend, afhankelijk van de Morphology van verschillende talen.

    In Azure Machine Learning wordt een ondubbelzinnig model gebruikt om het enige deel van de spraakte kiezen, op basis van de huidige context van een zin. De onderdeel-van-spraak informatie wordt gebruikt om te helpen bij het filteren van woorden die worden gebruikt als functies en hulp bij het uitpakken van sleutel zinnen. De uitvoer van deze module bevat echter niet expliciet POS-Tags en kan daarom niet worden gebruikt voor het genereren van tekst met POS-Tags.

  • Woordenlijst formulier genereren: een woord kan meerdere lemmasof woordenlijst formulieren hebben die elk van een andere analyse zijn. Het Engelse woord gebouw heeft bijvoorbeeld twee mogelijke lemmas: voortbouwend als het woord een zelfstandig naam item is (' het hoge gebouw ') of een Build als het woord een werk woord is ("zij built a House"). In Azure Machine Learning wordt alleen het enkelvoudige woordenlijst formulier gegenereerd.

Voor beeld van lemmatisering-uitvoer

Bron Lemmatized met case conversie
Hij zwemt Ik ben mijn zwem
Hij gaat een zwem slag Ik ga naar een zwem
Zwem kracht is geschikt voor het bouwen van kracht Zwem kracht voor het bouwen van kracht
Hij bouwt een gebouw Ik bouw een build
We bouwen allemaal gebouwen alles wordt gebouwd

Notitie

De taal modellen die worden gebruikt voor het genereren van een woordenlijst formulier, zijn getraind en getest op diverse algemene doel-en technische teksten, en worden gebruikt in veel andere micro soft-producten waarvoor Api's met een natuurlijke taal zijn vereist. Natuurlijk taal is echter niet eenduidig en 100% nauw keurigheid van alle woorden lijsten is niet haalbaar. Lemmatisering kunnen bijvoorbeeld worden beïnvloed door andere onderdelen van spraak, of op de manier waarop de zin wordt geparseerd.

Als u extra preprocessing wilt uitvoeren of een taal kundige analyse wilt uitvoeren met behulp van een gespecialiseerde of een domeingebonden woordenlijst, raden we u aan om aanpas bare NLP-hulpprogram ma's te gebruiken, zoals die beschikbaar zijn in Python en R.

Speciale tekens

Speciale tekens worden gedefinieerd als één teken dat niet kan worden geïdentificeerd als een ander deel van de spraak en kan interpunctie bevatten: dubbele punten, punt komma's enzovoort.

Stopwords

Een stop woord (of stop woord) is een woord dat vaak uit indexen wordt verwijderd, omdat het gebruikelijk is en weinig waarde bevat voor het ophalen van informatie, zelfs als het taal kundig zinvol kan zijn.

Veel talen maken bijvoorbeeld een semantisch onderscheid tussen oneindige en oneindige artikelen (' het gebouw ' versus ' gebouw '), maar voor machine learning en het ophalen van gegevens is de informatie soms niet relevant. Daarom kunt u besluiten deze woorden te negeren.

De Azure Machine Learning omgeving bevat lijsten met de meest voorkomende stopwords voor elk van de ondersteunde talen.

Taal Aantal stopwords Voorbeelden
Nederlands 49 aan, af, al
Engels 312 a, ongeveer, boven
Frans 154 de, des, d, La
Duits 602 a, AB, aber
Italiaans 135 a, Adesso, AI
Spaans 368 ésa, ésta, éste

Voor uw gemak is een zip-bestand met de standaard stopwords voor alle huidige talen beschikbaar gemaakt in azure Storage: Stopwords.zip.

De lijst met stop woord wijzigen

Er wordt verwacht dat veel gebruikers hun eigen stop woord-lijsten willen maken, of de termen die zijn opgenomen in de standaard lijst te wijzigen. In het volgende experiment in de Cortana Intelligence Gallery ziet u hoe u een stop woorden lijst kunt aanpassen.

Als u de lijst wijzigt of uw eigen stop woorden lijst maakt, moet u rekening houden met de volgende vereisten:

  • Het bestand moet een enkele tekst kolom bevatten. Mogelijk wordt de volgende fout weer gegeven als er een extra kolom aanwezig is: ' tekst fout kolom selectie voor verwerkings patroon ' op opschonen ' moet er één kolom (s) worden opgegeven in de invoer-gegevensset, maar er worden twee kolom (men)/worden opgegeven. (Fout 0022) "

    Als dit het geval is, zoekt u naar spaties, tabbladen of verborgen kolommen die aanwezig zijn in het bestand waaruit de stop woord-lijst oorspronkelijk is geïmporteerd. Afhankelijk van hoe het bestand is voor bereid, kunnen tabs of komma's in de tekst ook meerdere kolommen maken.

    Wanneer u deze fout ontvangt, controleert u het bron bestand of gebruikt u de module kolommen selecteren in gegevensset om één kolom te kiezen die moet worden door gegeven aan de tekst module preprocess .

  • Elke rij kan slechts één woord bevatten. Voor het parseren van het bestand worden woorden bepaald door het invoegen van spaties.

  • De stop woord-lijst mag niet leeg zijn.

Volg orde van bewerkingen

In deze module kunt u meerdere bewerkingen Toep assen op tekst. De volg orde waarin deze bewerkingen worden toegepast, kan echter niet worden gewijzigd. Dit kan van invloed zijn op de verwachte resultaten.

Als u bijvoorbeeld lemmatisering toepast op tekst en ook stop woord verwijderen gebruikt, worden alle woorden geconverteerd naar hun lemma-formulieren voordat de lijst met stop woord wordt toegepast. Als uw tekst bijvoorbeeld een woord bevat dat zich niet in de stop woord-lijst bevindt, maar de lemma in de lijst stop woord, zou het woord worden verwijderd.

Zorg ervoor dat u doel voorwaarden vooraf test om de juiste resultaten te garanderen.

Niet-ondersteunde talen

Als uw tekst kolom talen bevat die niet door Azure Machine Learning worden ondersteund, raden we u aan alleen die opties te gebruiken waarvoor geen taal afhankelijke verwerking is vereist. Dit kan ertoe leiden dat er geen vreemde resultaten worden gevonden.

Als u de optie kolom bevat taalgebruikt, moet u er ook voor zorgen dat er geen niet-ondersteunde talen zijn opgenomen in de tekst die wordt verwerkt. Als er een niet-ondersteunde taal of de bijbehorende id aanwezig is in de gegevensset, wordt de volgende runtime fout gegenereerd:

"Tekst fout vóór verwerking (0039): Geef een ondersteunde taal op."

Om te voor komen dat het hele experiment mislukt omdat er een niet-ondersteunde taal is gedetecteerd, gebruikt u de module Split data en geeft u een reguliere expressie op om de gegevensset te verdelen over ondersteunde en niet-ondersteunde talen.

Met de volgende reguliere expressie wordt bijvoorbeeld de gegevensset gesplitst op basis van de gedetecteerde taal voor de kolom Sentence :

\"Sentence Language" Dutch|English|French|Italian|Spanish

Als u een kolom hebt die de taal-id bevat of als u een dergelijke kolom hebt gegenereerd, kunt u een reguliere expressie, zoals de volgende, gebruiken om te filteren op de id-kolom:

\"Sentence Iso6391 Name" nl|en|fr|it|es

Verwachte invoer

Naam Type Beschrijving
Gegevensset Gegevens tabel Invoergegevens
Stop woorden Gegevens tabel Optionele aangepaste lijst met te verwijderen stop woorden

Module parameters

Naam Type Bereik Optioneel Standaard Beschrijving
Url's verwijderen Boolean-waarde Waar

Niet waar
Vereist true Url's verwijderen
Taal Taal Engels

Spaans

Frans

Nederlands

Duits

Italiaans
Vereist Engels Selecteer de taal die u wilt voorverwerken
Tekst kolom die moet worden opgeschoond Kolom selectie Vereist StringFeature De tekst kolom selecteren die u wilt opschonen
Aangepaste reguliere expressie Tekenreeks Optioneel De aangepaste reguliere expressie opgeven
Aangepaste vervangende teken reeks Tekenreeks Optioneel Geef de aangepaste vervangende teken reeks voor de aangepaste reguliere expressie op
Stop woorden verwijderen Boolean-waarde Vereist true Stop woorden verwijderen
Lemmatisering Boolean-waarde Vereist true Lemmatisering gebruiken
Verwijderen door een onderdeel van spraak Type waar onwaar waar

onjuist
Vereist Niet waar Geef aan of de analyse van een deel van de spraak moet worden gebruikt om bepaalde woord klassen te identificeren en te verwijderen
Zelfstandige naam woorden verwijderen Boolean-waarde Van toepassing wanneer de optie filteren op onderdeel van spraak is geselecteerd true Zelfstandige naam woorden verwijderen
Bijvoegingen verwijderen Boolean-waarde Van toepassing wanneer de optie filteren op onderdeel van spraak is geselecteerd true Bijvoegingen verwijderen
Termen verwijderen Boolean-waarde Van toepassing wanneer de optie filteren op onderdeel van spraak is geselecteerd true Termen verwijderen
Zinnen detecteren Boolean-waarde Vereist true Zinnen detecteren door een teken uit de zin \ ' |||' toe te voegen \ die kan worden gebruikt door de module n-gram-kenmerken.
Hoofdletter gevoelig voor kleine letters Boolean-waarde Vereist true Hoofdletter gevoelig voor kleine letters
Nummers verwijderen Boolean-waarde Vereist true Nummers verwijderen
Speciale tekens verwijderen Boolean-waarde Vereist true Verwijder niet-alfanumerieke speciale tekens en vervang ze door het \ teken ' |\ '
Dubbele tekens verwijderen Boolean-waarde Vereist true Dubbele tekens verwijderen
E-mail adressen verwijderen Boolean-waarde Vereist true E-mail adressen verwijderen

Outputs

Naam Type Beschrijving
Gegevensset voor resultaten Gegevens tabel Gegevensset voor resultaten

Uitzonderingen

Uitzondering Beschrijving
Fout 0003 Een uitzonde ring treedt op als een of meer invoer waarden null of leeg zijn.
Fout 0030 Er treedt een uitzonde ring op in wanneer het niet mogelijk is om een bestand te downloaden.
Fout 0048 Een uitzonde ring treedt op wanneer het niet mogelijk is om een bestand te openen.
Fout 0049 Een uitzonde ring treedt op wanneer het niet mogelijk is om een bestand te parseren.

Zie machine learning fout codesvoor een lijst met fouten die specifiek zijn voor Studio-modules (Classic).

Zie Machine Learning rest API fout codesvoor een lijst met API-uitzonde ringen.

Zie ook

Tekstanalyse

Module lijst a-Z