Hoe tekst te ontleden
Diversen / / April 05, 2023
Als je een paar computerprogrammeertalen hebt geleerd, heb je misschien de term 'tekst ontleden' gehoord. Dit wordt gebruikt om de complexe gegevenswaarden van het bestand te vereenvoudigen. Het artikel helpt u te weten hoe u tekst kunt ontleden met behulp van de taal. Bovendien, als u een fout tegenkomt bij het parseren van tekst x, weet u hoe u de parseerfout in het artikel kunt oplossen.
Inhoudsopgave
- Hoe tekst te ontleden
- Wat is het parseren van tekst?
- NLP of natuurlijke taalverwerking
- Wat is het parseren van tekst?
- Wat zijn de redenen om tekst te parseren?
- Methode 1: via DataFrame-klasse
- Methode 2: via Word-tokenisatie
- Methode 3: via DocParser-klasse
- Methode 4: via het hulpmiddel Tekst ontleden
- Methode 5: via TextFieldParser (Visual Basic)
- Pro-tip: tekst ontleden via MS Excel
- Parseerfout oplossen
Hoe tekst te ontleden
In dit artikel hebben we een volledige gids getoond om tekst op verschillende manieren te ontleden en hebben we ook een korte inleiding gegeven tot het ontleden van tekst.
Wat is het parseren van tekst?
Voordat u zich gaat verdiepen, leert u de concepten van het ontleden van tekst met behulp van welke code dan ook. Het is belangrijk om de basisprincipes van de taal en de codering te kennen.
NLP of natuurlijke taalverwerking
Om tekst te ontleden, wordt natuurlijke taalverwerking of NLP gebruikt, een subveld van het domein van kunstmatige intelligentie. Python-taal, een van de talen die tot de categorie behoren, wordt gebruikt om tekst te ontleden.
De NLP-codes stellen computers in staat menselijke talen te begrijpen en te verwerken om ze geschikt te maken voor verschillende toepassingen. Om ML- of Machine Learning-technieken op de taal toe te passen, moeten de ongestructureerde tekstgegevens worden omgezet in gestructureerde tabelgegevens. Voor het voltooien van de parseeractiviteit wordt de Python-taal gebruikt om de programmacodes te wijzigen.
Wat is het parseren van tekst?
Het ontleden van tekst betekent simpelweg het converteren van de gegevens van het ene formaat naar het andere formaat. Het formaat waarin het bestand is opgeslagen, wordt geparseerd of geconverteerd naar een bestand in een ander formaat, zodat de gebruiker het in verschillende toepassingen kan gebruiken.
- Met andere woorden, het proces betekent het analyseren van de tekenreeks of een tekst en deze omzetten in logische componenten door het formaat van het bestand te wijzigen.
- Sommige regels van de Python-taal worden gebruikt om deze algemene programmeertaak te voltooien. Bij het ontleden van tekst wordt de gegeven reeks tekst opgesplitst in kleinere componenten.
Wat zijn de redenen om tekst te parseren?
De redenen waarom de tekst moet worden geparseerd, worden in deze sectie gegeven en het is een vereiste kennis voordat u weet hoe u tekst moet parseren.
- Alle geautomatiseerde gegevens hebben niet hetzelfde formaat en kunnen verschillen naargelang de verschillende toepassingen.
- De gegevensindelingen variëren voor verschillende toepassingen en een incompatibele code zou tot deze fout leiden.
- Er is geen individueel universeel computerprogramma voor het selecteren van de gegevens van alle gegevensformaten.
Methode 1: via DataFrame-klasse
De DataFrame-klasse van de Python-taal heeft alle vereiste functies om tekst te ontleden. Deze ingebouwde bibliotheek bevat de nodige codes om gegevens van elk formaat naar een ander formaat te ontleden.
Korte introductie van de DataFrame-klasse
DataFrame Class is een feature-rijke datastructuur, die wordt gebruikt als een data-analysetool. Dit is een krachtige tool voor gegevensanalyse die kan worden gebruikt om gegevens met minimale inspanning te analyseren.
- De code wordt ingelezen in het panda's DataFrame om de analyse in de Python-taal uit te voeren.
- De klasse wordt geleverd met talloze pakketten van de panda's die worden gebruikt door Python-gegevensanalisten.
- Het kenmerk van deze klasse is een abstractie, een code waarin de interne functionaliteit van de functie verborgen is voor de gebruikers, van de NumPy-bibliotheek. De NumPy-bibliotheek is een python-bibliotheek die de opdrachten en functies omvat voor het werken met arrays.
- De klasse DataFrame kan worden gebruikt om een tweedimensionale array met meerdere rij- en kolomindexen weer te geven. Deze indexen helpen bij het opslaan van multidimensionale gegevens en worden daarom MultiIndex genoemd. Deze moeten worden gewijzigd om te weten hoe de ontleedfout kan worden opgelost.
De panda's van de Python-taal helpen bij het uitvoeren van de SQL- of database-achtige bewerkingen met de grootst mogelijke perfectie om fouten bij het ontleden van tekst x te voorkomen. Het bevat ook enkele IO-tools die helpen bij het analyseren van de bestanden van CSV, MS Excel, JSON, HDF5 en andere gegevensindelingen.
Lees ook:Fix Er is een fout opgetreden tijdens het proberen om een proxyverzoek in te dienen
Proces van het parseren van tekst met behulp van DataFrame Class
Om te weten hoe u tekst moet ontleden, kunt u het standaardproces gebruiken met behulp van de DataFrame-klasse die in deze sectie wordt gegeven.
- Ontcijfer het gegevensformaat van de invoergegevens.
- Bepaal de uitvoergegevens van de gegevens zoals CSV of Door komma's gescheiden waarde.
- Schrijf op de code een primitief gegevenstype zoals lijst of dict.
Opmerking: Het schrijven van de code op een leeg DataFrame kan vervelend en complex zijn. Met de panda's kunnen de gegevens op de DataFrame-klasse worden gemaakt op basis van deze gegevenstypen. Daarom kunnen de gegevens in het primitieve gegevenstype eenvoudig worden geparseerd naar het vereiste gegevensformaat.
- Analyseer de gegevens met behulp van de tool voor gegevensanalyse, Panda's DataFrame, en druk het resultaat af.
Optie I: Standaard Formaat
De standaardmethode om elk bestand op te maken met een bepaald gegevensformaat, zoals CSV, wordt hier uitgelegd.
- Sla het bestand met de gegevenswaarden lokaal op uw pc op. U kunt het bestand bijvoorbeeld een naam geven gegevens.txt.
- Importeer het bestand in panda's met een specifieke naam en importeer de gegevens naar een andere variabele. Zo worden de panda's van de taal geïmporteerd in de naam pd in de gegeven code.
- De import moet een volledige code hebben met de details van de naam van het invoerbestand, de functie en het formaat van het invoerbestand.
Opmerking: Hier, de variabele met de naam res wordt gebruikt om de lezen functie van de gegevens in het bestand gegevens.txt met de geïmporteerde panda's pd. Het gegevensformaat van de ingevoerde tekst wordt gespecificeerd in de CSV formaat.
- Roep het benoemde bestandstype op en analyseer de geparseerde tekst op het afgedrukte resultaat. Bijvoorbeeld de opdracht res nadat de uitvoering van de opdrachtregel zal helpen bij het afdrukken van de geparseerde tekst.
Een voorbeeldcode voor het hierboven beschreven proces wordt hieronder gegeven en zal helpen bij het begrijpen van het ontleden van tekst.
importeer panda's als pdres = pd.read_csv(‘data.txt’)res
In dit geval, als u de gegevenswaarden in het bestand invoert gegevens.txt zoals [1,2,3], zou het worden geparseerd en weergegeven als 1 2 3.
Optie II: String-methode
Als de tekst die aan de code wordt gegeven alleen tekenreeksen of alfatekens bevat, kunnen de speciale tekens in de tekenreeks, zoals komma's, spatie, enz., worden gebruikt om de tekst te scheiden en te ontleden. Het proces is vergelijkbaar met de gewone interne tekenreeksbewerkingen. Om erachter te komen hoe u de parseerfout kunt oplossen, moet u het proces volgen van het parseren van de tekst met behulp van deze optie, die hieronder wordt uitgelegd.
- De gegevens worden uit de tekenreeks gehaald en alle speciale tekens die de tekst scheiden, worden genoteerd.
Bijvoorbeeld, in de onderstaande code, de speciale tekens in de string mijn_tekenreeks, welke zijn, ',' En ':’ worden geïdentificeerd. Dit proces moet zorgvuldig worden uitgevoerd om fouten bij het ontleden van tekst x te voorkomen.
- De tekst in de tekenreeks wordt afzonderlijk gesplitst op basis van de waarden en de positie van de speciale tekens.
De tekenreeks wordt bijvoorbeeld opgesplitst in tekstgegevenswaarden op basis van de speciale tekens die zijn geïdentificeerd met behulp van de opdracht splitsen.
- De gegevenswaarden van de tekenreeks worden alleen afgedrukt als de geparseerde tekst. Hier de afdrukken statement wordt gebruikt om de geparseerde gegevenswaarde van de tekst af te drukken.
De voorbeeldcode voor het hierboven beschreven proces wordt hieronder weergegeven.
my_string = 'Namen: Tech, computer'sfinal = [name.strip() voor naam in my_string.split(‘:’)[1].split(‘,’)]print(“Namen: {}”.format (sfinal))
In dit geval wordt het resultaat van de geparseerde tekenreeks weergegeven zoals hieronder weergegeven.
Namen: [‘Tech’, ‘computer’]
Om meer duidelijkheid te krijgen en te weten hoe tekst moet worden geparseerd terwijl u de tekenreekstekst gebruikt, a voor lus wordt gebruikt en de code wordt als volgt gewijzigd.
my_string = 'Namen: Tech, computer's1 = mijn_string.split(‘:’)s2 = s1[1]s3 = s2.split(‘,’)s4 = [name.strip() voor naam in s3]voor idx, item in opsommen([s1, s2, s3, s4]):print(“Stap {}: {}”.format (idx, item))
Het resultaat van de geparseerde tekst voor elk van deze stappen wordt weergegeven zoals hieronder weergegeven. U kunt opmerken dat in stap 0 de tekenreeks wordt gescheiden op basis van het speciale teken : en de tekstgegevenswaarden worden gescheiden op basis van het teken in verdere stappen.
Stap 0: [‘Namen’, ‘Tech, computer’]Stap 1: Technologie, computerStap 2: [‘ Tech’, ‘ computer’]Stap 3: [‘Tech’, ‘computer’]
Optie III: Complex bestand parseren
In de meeste gevallen bevatten de bestandsgegevens die moeten worden geparseerd verschillende gegevenstypen en gegevenswaarden. In dit geval kan het moeilijk zijn om het bestand te ontleden met de eerder beschreven methoden.
De kenmerken van het ontleden van de complexe gegevens in het bestand zijn ervoor te zorgen dat de gegevenswaarden in tabelvorm worden weergegeven.
- De titel of metagegevens van de waarden worden bovenaan het bestand afgedrukt,
- De variabelen en velden worden in tabelvorm in de uitvoer afgedrukt, en
- De gegevenswaarden vormen een samengestelde sleutel.
Voordat we ons verdiepen in het leren ontleden van tekst in deze methode, is het noodzakelijk om een paar basisconcepten te leren. Het ontleden van de gegevenswaarden gebeurt op basis van reguliere expressies of Regex.
Regex-patronen
Om te weten hoe u parseerfouten kunt oplossen, moet u ervoor zorgen dat de regex-patronen in de uitdrukkingen juist zijn. De code om de gegevenswaarden van de tekenreeksen te ontleden, omvat de algemene Regex-patronen die hieronder in deze sectie worden vermeld.
- '\D': komt overeen met het decimale cijfer in de tekenreeks,
- '\S': komt overeen met het witruimteteken,
- ‘\w’: komt overeen met het alfanumerieke teken,
- ‘+’ of ‘*’: voert een hebzuchtige match uit door een of meer karakters in de strings te matchen,
- 'a-z': komt overeen met de groepen kleine letters in de tekstgegevenswaarden,
- 'A-Z' of 'a-z': komt overeen met de groepen hoofdletters en kleine letters van de tekenreeks, en
- ‘0-9’: overeenkomt met de numerieke waarden.
Normale uitdrukkingen
Reguliere expressiemodules vormen een belangrijk onderdeel van het panda-pakket in de Python-taal en een verkeerde re kan leiden tot een fout bij het ontleden van tekst x. Het is een kleine taal die in Python is ingebed om het tekenreekspatroon in de uitdrukking te vinden. Reguliere expressies of regex zijn tekenreeksen met een speciale syntaxis. Hiermee kan de gebruiker patronen in andere tekenreeksen matchen op basis van de waarden in de tekenreeksen.
De Regex wordt gemaakt op basis van het gegevenstype en de vereiste van de uitdrukking in de tekenreeks, zoals Tekenreeks = (.*)\n. De regex wordt in elke expressie vóór het patroon gebruikt. De symbolen die in de reguliere expressies worden gebruikt, worden hieronder vermeld en helpen u te weten hoe u tekst moet ontleden.
- .: om een willekeurig teken uit de gegevens op te halen,
- *: gebruik nul of meer gegevens uit de vorige uitdrukking,
- (.*): om een deel van de reguliere expressie tussen haakjes te groeperen,
- \N: Maak een nieuw regelteken aan het einde van de regel in code,
- \D: creëer een korte integrale waarde in het bereik van 0 tot 9,
- +: gebruik een of meer gegevens uit de vorige uitdrukking, en
- |: maak een logische verklaring; gebruikt voor of uitdrukkingen.
RegexObjecten
Het RegexObject is een retourwaarde voor de compileerfunctie en wordt gebruikt om een MatchObject te retourneren als de expressie overeenkomt met de matchwaarde.
1. MatchObject
Aangezien de Booleaanse waarde van het MatchObject altijd True is, kunt u een als instructie om de positieve overeenkomsten in het object te identificeren. In het geval van het gebruik van de als instructie, wordt de groep waarnaar wordt verwezen door de index gebruikt om de overeenkomst van het object in de uitdrukking te achterhalen.
- groep() geeft een of meer subgroepen van overeenkomst terug,
- groep (0) retourneert de hele wedstrijd,
- groep 1) geeft de eerste subgroep tussen haakjes, en
- Terwijl we naar meerdere groepen verwijzen, moeten we een python-specifieke extensie gebruiken. Deze extensie wordt gebruikt om de naam aan te geven van de groep waarin de match moet worden gevonden. De specifieke extensie wordt geleverd binnen de groep tussen haakjes. Bijvoorbeeld de uitdrukking, (?P
regex1) zou verwijzen naar de specifieke groep met de naam groep 1 en controleer op de overeenkomst in de reguliere expressie, regex1. Om te leren hoe u een parseerfout kunt oplossen, moet u controleren of de groep correct is gericht.
2. Methoden van MatchObject
Terwijl u zoekt naar het ontleden van tekst, is het belangrijk om te weten dat het MatchObject twee basismethoden heeft, zoals hieronder vermeld. Als het MatchObject wordt gevonden in de opgegeven expressie, retourneert het zijn instantie, anders retourneert het geen.
- De overeenkomst (reeks) methode wordt gebruikt om de overeenkomsten van de tekenreeks aan het begin van de reguliere expressie te vinden, en
- De zoeken (tekenreeks) methode wordt gebruikt om door de tekenreeks te scannen om de locatie voor een overeenkomst in de reguliere expressie te vinden.
Functies voor reguliere expressies
Regex-functies zijn coderegels die worden gebruikt om een bepaalde functie uit te voeren zoals gespecificeerd door de gebruiker uit de set gegevenswaarden die is verkregen.
Opmerking: Om de functies te schrijven, worden onbewerkte tekenreeksen gebruikt voor de reguliere expressies om fouten bij het ontleden van tekst x te voorkomen. Dit wordt gedaan door het subscript toe te voegen R vóór elk patroon in de uitdrukking.
De algemene functies die in de expressies worden gebruikt, worden hieronder uitgelegd.
1. re.findall()
Deze functie retourneert alle patronen in de tekenreeks als er een overeenkomst is gevonden en retourneert een lege lijst als er geen overeenkomst is gevonden. Bijvoorbeeld de functie, tekenreeks = re.findall(‘[aeiou]’, regex_bestandsnaam) wordt gebruikt om de klinker in de bestandsnaam te vinden.
2. opnieuw.split()
Deze functie wordt gebruikt om de tekenreeks te splitsen in het geval dat er een overeenkomst wordt gevonden met een opgegeven teken, zoals een spatie. Als er geen overeenkomst wordt gevonden, wordt een lege string geretourneerd.
3. re.sub()
De functie vervangt de overeenkomende tekst door de inhoud van de gegeven vervangvariabele. In tegenstelling tot andere functies, wordt de oorspronkelijke tekenreeks geretourneerd als er geen patroon wordt gevonden.
4. onderzoek()
Een van de basisfuncties om te helpen bij het leren ontleden van tekst is de zoekfunctie. Het helpt bij het zoeken naar het patroon in de string en het retourneren van het match-object. Als de zoekopdracht de overeenkomst niet kan identificeren, wordt er geen waarde geretourneerd.
5. opnieuw compileren (patroon)
Deze functie wordt gebruikt om patronen voor reguliere expressies te compileren in een RegexObject, wat eerder is besproken.
Andere vereisten
De vermelde vereisten zijn een extra functie die door geavanceerde programmeurs wordt gebruikt bij gegevensanalyse.
- Om de reguliere expressie te visualiseren, regexper wordt gebruikt, en
- Om de reguliere expressie te testen, regex101 is gebruikt.
Lees ook:Hoe NumPy op Windows 10 te installeren
Proces van het ontleden van tekst
De methode om de tekst in deze complexe optie te ontleden wordt hieronder beschreven.
- De belangrijkste stap is om het invoerformaat te begrijpen door de inhoud van het bestand te lezen. Bijvoorbeeld de met openen En lezen() functies worden gebruikt om de inhoud van het bestand met de naam te openen en te lezen steekproef. De steekproef bestand bevat de inhoud van het bestand bestand.txt; om te leren hoe u de parseerfout kunt oplossen, moet het bestand volledig worden gelezen.
- De inhoud van het bestand wordt afgedrukt om de gegevens handmatig te analyseren om de metagegevens van de waarden te achterhalen. Hier de afdrukken() functie wordt gebruikt om de inhoud van het bestand af te drukken steekproef bestand.
- De vereiste datapakketten om de tekst te ontleden worden in de code geïmporteerd en er wordt een naam aan de klasse gegeven voor verdere codering. Hier de normale uitdrukkingen En panda's worden geïmporteerd.
- De reguliere expressies die nodig zijn voor de code worden in het bestand gedefinieerd door het regex-patroon en de regex-functie op te nemen. Hierdoor kan het tekstobject of corpus de code gebruiken voor gegevensanalyse.
- Om te weten hoe u tekst moet ontleden, kunt u de voorbeeldcode die hier wordt gegeven raadplegen. De compileren() functie wordt gebruikt om de string uit de groep te compileren tekenreeksnaam1 van het dossier bestandsnaam. De functie om te controleren op overeenkomsten in de regex wordt gebruikt door de opdracht ief_parse_line (regel),
- De lijnparser voor de code wordt geschreven met behulp van de def_parse_file (bestandspad), waarin de gedefinieerde functie controleert op alle regex-overeenkomsten in de opgegeven functie. Hier, de regex zoekopdracht() methode zoekt naar de sleutel rx in het bestand bestandsnaam en retourneert de sleutel en match van de eerste overeenkomende regex. Elk probleem met de stap kan leiden tot een fout bij het ontleden van tekst x.
- De volgende stap is het schrijven van een bestandsparser met behulp van de bestandsparserfunctie def_parse_file (bestandspad). Er wordt een lege lijst gemaakt om de gegevens van de code te verzamelen, zoals gegevens = [], wordt de match op elke regel gecontroleerd door match = _parse_line (regel), en de exacte waardegegevens worden geretourneerd op basis van het gegevenstype.
- Om het nummer en de waarde voor de tabel te extraheren, gebruikt u de opdracht lijn.strip().split(‘,’) is gebruikt. De rij{} commando wordt gebruikt om een woordenboek te maken met de rij met gegevens. De data.append (rij) commando wordt gebruikt om de gegevens te begrijpen en te ontleden naar een tabelformaat.
Het bevel gegevens = pd. DataFrame (gegevens) wordt gebruikt om een Panda's DataFrame te maken op basis van de dict-waarden. Als alternatief kunt u de volgende opdrachten gebruiken voor het respectievelijke doel, zoals hieronder vermeld.
- data.set_index([‘string’, ‘integer’], inplace=True) om de index van de tabel in te stellen.
- data = data.groupby (niveau=data.index.names).first() om nans te consolideren en te verwijderen.
- data = data.apply (pd.to_numeric, errors='ignore') om de score te upgraden van float naar een integerwaarde.
De laatste stap om te weten hoe tekst moet worden geparseerd, is het testen van de parser met behulp van de als verklaring door de waarden toe te wijzen aan een variabele gegevens en afdrukken met behulp van de afdrukken (gegevens) commando.
De voorbeeldcode voor de uitleg hierboven wordt hier gegeven.
met open(‘file.txt’) als voorbeeld:sample_contents = voorbeeld.lezen()afdrukken (sample_contents)importeren opnieuwimporteer panda's als pdrx_bestandsnaam = {‘string1’: opnieuw compileren (r ‘string = (?,*)\N'),
}ief_parse_line (regel):voor sleutel, rx in rx_filename.items():match = rx.zoeken (regel)indien overeenkomen:return-toets, overeenkomenretourneer Geen, Geendef parse_file (bestandspad):gegevens = []met open (bestandspad, 'r') als file_object:regel = file_object.readline()terwijl regel:key, match = _parse_line (regel)als sleutel == ‘tekenreeks1’:string = match.group(‘string1’)geheel getal = geheel getal (tekenreeks1)waarde_type = match.group(‘string1’)regel = file_object.readline()terwijl lijn.strip():getal, waarde = lijn.strip().split(‘,’)waarde = waarde.strip()rij = {‘Gegevens1’: tekenreeks1,‘Data2’: nummer,waarde_type: waarde}data.append (rij)regel = file_object.readline()regel = file_object.readline()gegevens = pd. DataFrame (gegevens)gegevens retournerenif _ _name_ _ = = ‘_ _main_ _’:bestandspad = ‘voorbeeld.txt’data = ontleden (bestandspad)afdrukken (gegevens)
Methode 2: via Word-tokenisatie
Het proces van het omzetten van een tekst of corpus in tokens of kleinere stukken op basis van bepaalde regels wordt tokenisatie genoemd. Om te leren hoe u parseerfouten kunt oplossen, is het belangrijk om de woordtokenisatieopdrachten in de code te analyseren. Net als bij de regex kunnen met deze methode eigen regels worden gemaakt en het helpt bij taken voor het voorbewerken van tekst, zoals het in kaart brengen van woordsoorten. Ook activiteiten zoals het vinden en matchen van veelgebruikte woorden, het opschonen van tekst en het klaarmaken van de gegevens voor geavanceerde tekstanalysetechnieken zoals sentimentanalyse worden met deze methode uitgevoerd. Als de tokenisatie onjuist is, kan er een fout optreden in de ontleedtekst x.
NLTK-bibliotheek
Het proces maakt gebruik van de populaire taaltoolkit-bibliotheek genaamd NLTK, die een uitgebreide reeks functies heeft voor het uitvoeren van veel NLP-taken. Deze kunnen worden gedownload via de Pip- of Pip-installatiepakketten. Om te weten hoe u tekst moet ontleden, kunt u het basispakket van de Anaconda-distributie gebruiken, die standaard de bibliotheek bevat.
Vormen van tokenisatie
De gebruikelijke vormen van deze methode zijn woordtokenisatie en zintokenisatie. Dankzij het token op woordniveau drukt de eerste slechts één woord af, terwijl de laatste het woord op zinsniveau afdrukt.
Proces van het ontleden van tekst
- De NLTK-toolkitbibliotheek wordt geïmporteerd en de tokenisatieformulieren worden geïmporteerd uit de bibliotheek.
- Er wordt een string gegeven en de opdrachten om de tokenisatie uit te voeren worden gegeven.
- Terwijl de string wordt afgedrukt, zou de uitvoer zijn computer is het woord.
- In het geval van woordtokenisatie of word_tokenize(), wordt elk woord in de zin afzonderlijk afgedrukt in de ‘’ en wordt gescheiden door een komma. De uitvoer voor de opdracht zou zijn 'computer', 'is', 'het', 'woord', '.'
- In het geval van tokenisatie van zinnen of verzonden_tokenize(), worden de afzonderlijke zinnen binnen de ‘’ en woordherhaling is toegestaan. De uitvoer voor de opdracht zou zijn 'computer is het woord.'
De code die de bovenstaande stappen voor tokenisatie uitlegt, wordt hier gegeven.
import nltkvan nltk.tokenize importeer sent_tokenize, word_tokenizestring = "computer is het woord."afdrukken (reeks)print (word_tokenize (tekenreeks))afdrukken (verzonden_tokenize (tekenreeks))
Lees ook:Hoe javascript te repareren: ongeldig (0) Fout
Methode 3: via DocParser-klasse
Net als bij de DataFrame-klasse kan de klasse DocParser worden gebruikt om de tekst in de code te ontleden. Met de klasse kunt u de parse-functie aanroepen met het bestandspad.
Proces van het ontleden van tekst
Volg de onderstaande instructies om te weten hoe u tekst kunt ontleden met behulp van de DocParser-klasse.
- De get_format (bestandsnaam) functie wordt gebruikt om de bestandsextensie uit te pakken, terug te zetten naar een ingestelde variabele voor de functie en door te geven aan de volgende functie. Bijvoorbeeld, p1 = get_format (bestandsnaam) zou de bestandsextensie van bestandsnaam, stel het in op de variabele p1en geef het door aan de volgende functie.
- Een logische structuur met andere functies wordt opgebouwd met behulp van de als-elif-anders verklaringen en functies.
- Als de bestandsextensie geldig is en de structuur logisch is, wordt het get_parser functie wordt gebruikt om de gegevens in het bestandspad te ontleden en het tekenreeksobject terug te sturen naar de gebruiker.
Opmerking: Om te weten hoe u de parseerfout kunt oplossen, moet deze functie correct zijn geïmplementeerd.
- Het ontleden van de gegevenswaarden wordt gedaan met de bestandsextensie van het bestand. De concrete implementatie van de klasse, die zijn ontleed_txt of ontleed_docx wordt gebruikt om tekenreeksobjecten te genereren uit de delen van het opgegeven bestandstype.
- Het parseren kan worden gedaan voor bestanden met andere leesbare extensies zoals ontleed_pdf, ontleed_html, En ontleden_pptx.
- De gegevenswaarden en interface kunnen worden geïmporteerd in toepassingen met importinstructies en een DocParser-object instantiëren. Dit kan worden gedaan door bestanden in de Python-taal te parseren, zoals parse_file.py. Deze bewerking moet zorgvuldig worden uitgevoerd om fouten bij het ontleden van tekst x te voorkomen.
Methode 4: via het hulpmiddel Tekst ontleden
De tool Tekst ontleden wordt gebruikt om specifieke gegevens uit variabelen te extraheren en toe te wijzen aan andere variabelen. Dit is onafhankelijk van alle andere tools die in een taak worden gebruikt en de BPA Platform-tool wordt gebruikt om variabelen te consumeren en uit te voeren. Gebruik de hier gegeven link om toegang te krijgen tot de Ontleed teksttool online en gebruik de eerder gegeven antwoorden over het ontleden van tekst.
Methode 5: via TextFieldParser (Visual Basic)
De TextFieldParser gebruikte objecten om zeer grote bestanden te ontleden en te verwerken die gestructureerd en afgebakend zijn. De breedte en kolom van tekst, zoals logbestanden of verouderde database-informatie, kan bij deze methode worden gebruikt. De parseermethode is vergelijkbaar met het herhalen van de code over een tekstbestand en wordt voornamelijk gebruikt om tekstvelden te extraheren, vergelijkbaar met methoden voor het manipuleren van tekenreeksen. Dit wordt gedaan om afgebakende tekenreeksen en velden van verschillende breedtes te tokeniseren met behulp van het gedefinieerde scheidingsteken, zoals een komma of tabruimte.
Functies om tekst te ontleden
De volgende functies kunnen worden gebruikt om de tekst in deze methode te ontleden.
- Om een scheidingsteken te definiëren, de Scheidingstekens instellen is gebruikt. Bijvoorbeeld de opdracht testReader. Scheidingstekens instellen (vbTab) wordt gebruikt om in te stellen tabblad spatie als scheidingsteken.
- Om een veldbreedte in te stellen op een positief geheel getal voor een vaste veldbreedte van tekstbestanden, kunt u de testReader. SetFieldWidths (geheel getal) commando.
- Om het veldtype van de tekst te testen, kunt u de volgende opdracht gebruiken testReader. Tekstveldtype = Microsoft. Visual Basic. FileIO.FieldType. vaste breedte.
Methoden om MatchObject te vinden
Er zijn twee basismethoden om het MatchObject in de code of de geparseerde tekst te vinden.
- De eerste methode is om het formaat te definiëren en door het bestand te lopen met behulp van de ReadFields methode. Deze methode zou helpen bij het verwerken van elke regel van de code.
- De PeekChars methode wordt gebruikt om elk veld afzonderlijk te controleren voordat het wordt gelezen, meerdere indelingen te definiëren en te reageren.
In beide gevallen, als een veld niet overeenkomt met de opgegeven indeling tijdens het ontleden of zoeken naar het ontleden van tekst, MalformedLineException uitzondering wordt geretourneerd.
Pro-tip: tekst ontleden via MS Excel
Als laatste en eenvoudige methode om de tekst te ontleden, kunt u de MS-Excel app als een parser om door tabs en komma's gescheiden bestanden te maken. Dit zou helpen bij het vergelijken van uw geparseerde resultaat en helpen bij het vinden van hoe u de parseerfout kunt oplossen.
1. Selecteer de gegevenswaarden in het bronbestand en druk op de Ctrl + C-toetsen samen om het bestand te kopiëren.
2. Open de Excelleren app met behulp van de Windows-zoekbalk.
3. Klik op de A1 cel en druk op de Ctrl + V-toetsen tegelijkertijd om de gekopieerde tekst te plakken.
4. Selecteer de A1 cel, navigeer naar de Gegevens tabblad en klik op de Tekst naar kolommen optie in de Gegevenshulpmiddelen sectie.
5A. Selecteer de afgebakend optie als een komma of tabblad spatie wordt gebruikt als scheidingsteken en klik op de Volgende En Finish toetsen.
5B. Selecteer de Vaste breedte optie, wijs een waarde toe voor het scheidingsteken en klik op de Volgende En Finish toetsen.
Lees ook:Hoe Fix Move Excel Column Error
Parseerfout oplossen
Er kan een fout optreden in het parseren van tekst x op Android-apparaten als Parseerfout: er is een probleem opgetreden bij het parseren van het pakket. Dit gebeurt meestal wanneer de app niet kan worden geïnstalleerd vanuit de Google Play Store of wanneer een app van derden wordt uitgevoerd.
De fouttekst x kan optreden als de lijst met tekenvectoren wordt herhaald en andere functies een lineair model vormen voor het berekenen van de gegevenswaarden. De foutmelding is Error in parse (text = x, keep.source = FALSE):
U kunt het artikel lezen op hoe parseerfout op Android op te lossen om de oorzaken en methoden te leren om de fout te verhelpen.
Afgezien van de oplossingen in de gids, kunt u de volgende oplossingen proberen.
- Het opnieuw downloaden van de .apk bestand of het herstellen van de naam van het bestand.
- Het herstellen van wijzigingen in de Androidmanifest.xml bestand, als u beschikt over programmeervaardigheden op expertniveau.
Aanbevolen:
- Hoe het Facebook-account van iemand anders te verwijderen
- Top 10 vaardigheden die nodig zijn om een ethische hacker te worden
- 21 Beste Pastebin-alternatieven om code en tekst te delen
- Fix Command mislukt met foutcode 1 Python Egg Info
Het artikel helpt bij het lesgeven hoe tekst te ontleden en om te leren hoe u parseerfouten kunt oplossen. Laat ons weten welke methode heeft geholpen bij het oplossen van de fout in het parseren van tekst x en welke methode van parseren de voorkeur heeft. Deel uw suggesties en vragen in de opmerkingen hieronder.