Traitement linguistique 100 coups 2015 ["Chapitre 6: Traitement de texte anglais"](http: //www.cl.ecei) Il s'agit de l'enregistrement de 55e "Extraction d'expressions uniques" de .tohoku.ac.jp / nlp100 / # ch6). Cette fois, l'extraction d'expressions uniques. Extrayez le nom de la personne, qui est un type d'expression unique. Le programme est simple en 3 étapes. La PNL de Stanford Core peut le faire facilement.
Lien | Remarques |
---|---|
055.Extraction d'expression unique.ipynb | Lien GitHub du programme de réponse |
100 coups de traitement du langage amateur:55 | Copiez et collez la source de nombreuses pièces source |
Officiel PNL de Stanford Core | Premier regard sur la page PNL de Stanford Core |
type | version | Contenu |
---|---|---|
OS | Ubuntu18.04.01 LTS | Il fonctionne virtuellement |
pyenv | 1.2.16 | J'utilise pyenv car j'utilise parfois plusieurs environnements Python |
Python | 3.8.1 | python3 sur pyenv.8.J'utilise 1 Les packages sont gérés à l'aide de venv |
Stanford CoreNLP | 3.9.2 | Je l'ai installé il y a un an et je ne me souviens pas en détail ... C'était le dernier même après un an, alors je l'ai utilisé tel quel |
openJDK | 1.8.0_242 | J'ai utilisé le JDK qui a été installé à d'autres fins tel quel |
Un aperçu des différentes technologies de base pour le traitement du langage naturel grâce au traitement de texte anglais à l'aide de la PNL Stanford Core.
Stanford Core NLP, Stemming, Part-word tagging, Unique expression extraction, Co-reference analysis, Dependency analysis, Clause structure analysis, S expression
Effectuez le traitement suivant sur le texte anglais (nlp.txt).
Extrayez tous les noms de personne dans le texte d'entrée.
import xml.etree.ElementTree as ET
XPATH = './document/sentences/sentence/tokens/token[NER="PERSON"]'
print([ token.findtext('word') for token in ET.parse('./nlp.txt.xml').iterfind(XPATH)])
Si la valeur de la balise «
production | 1er niveau | Deuxième niveau | Troisième niveau | 4ème niveau | 5ème niveau | 6ème niveau | 7ème niveau |
---|---|---|---|---|---|---|---|
mot | root | document | sentences | sentence | tokens | token | word |
Expression unique | root | document | sentences | sentence | tokens | token | NER |
Le fichier XML est [GitHub](https://github.com/YoheiFukuhara/nlp100/blob/master/06.%E8%8B%B1%E8%AA%9E%E3%83%86%E3%82%AD% E3% 82% B9% E3% 83% 88% E3% 81% AE% E5% 87% A6% E7% 90% 86 / nlp.txt.xml).
xml:nlp.txt.xml(Extrait)
<root>
<document>
<docId>nlp.txt</docId>
<sentences>
<sentence id="1">
--Omission--
<tokens>
<token id="4">
<word>Alan</word>
<lemma>Alan</lemma>
<CharacterOffsetBegin>636</CharacterOffsetBegin>
<CharacterOffsetEnd>640</CharacterOffsetEnd>
<POS>NNP</POS>
<NER>PERSON</NER>
<Speaker>PER0</Speaker>
Tout ce que vous avez à faire est de passer le XPATH à la fonction ʻiterfind dans le paquet
xml`.
Lorsque le programme est exécuté, les résultats suivants sont affichés.
Résultat de sortie
['Alan', 'Turing', 'Joseph', 'Weizenbaum', 'MARGIE', 'Schank', 'Wilensky', 'Meehan', 'Lehnert', 'Carbonell', 'Lehnert', 'Racter', 'Jabberwacky', 'Moore']
Recommended Posts