Il s'agit de l'enregistrement de la 91e "Préparation des données d'analogie" de Traitement du langage 100 knock 2015. Cette fois, c'est techniquement super facile car il s'agit d'un système de prétraitement pour frapper plus tard.
Lien | Remarques |
---|---|
091.Préparation des données d'analogie.ipynb | Lien GitHub du programme de réponse |
100 coups de traitement du langage amateur:91 | Je vous suis toujours redevable de 100 coups de traitement linguistique |
type | version | Contenu |
---|---|---|
OS | Ubuntu18.04.01 LTS | Il fonctionne virtuellement |
pyenv | 1.2.15 | J'utilise pyenv car j'utilise parfois plusieurs environnements Python |
Python | 3.6.9 | python3 sur pyenv.6.J'utilise 9 3.7 ou 3.Il n'y a aucune raison profonde de ne pas utiliser la série 8 Les packages sont gérés à l'aide de venv |
Au chapitre 10, nous continuerons à travailler sur l'apprentissage des vecteurs de mots du chapitre précédent.
Téléchargez Données d'évaluation de l'analogie de Word. La ligne commençant par ":" dans ces données représente le nom de la section. Par exemple, la ligne ": capital-common-countries" marque le début de la section "capital-common-countries". À partir des données d'évaluation téléchargées, extrayez les cas d'évaluation inclus dans la section «famille» et enregistrez-les dans un fichier.
Les "données analogiques" semblent être des données d'analogie. Les 10 premières lignes sont présentées ci-dessous. Un deux-points au début, comme «: capital-common-countries», signifie un bloc, suivi de «Athènes Grèce Bagdad Iraq» et la relation entre la capitale et le pays en deux ensembles sur une seule ligne. De cette manière, ce sont des données dans lesquelles des blocs et des dizaines de lignes après qui sont disposés en deux ensembles d'une ligne. Cette fois, nous allons extraire le contenu du bloc familial à partir de ces données.
questions-words.txt
: capital-common-countries
Athens Greece Baghdad Iraq
Athens Greece Bangkok Thailand
Athens Greece Beijing China
Athens Greece Berlin Germany
Athens Greece Bern Switzerland
Athens Greece Cairo Egypt
Athens Greece Canberra Australia
Athens Greece Hanoi Vietnam
Athens Greece Havana Cuba
with open('./questions-words.txt') as file_in, \
open('./091.analogy_family.txt', 'w') as file_out:
target = False #Données cibles
for line in file_in:
if target:
#Dans le cas des données cibles, sortie jusqu'à ce qu'elle devienne une autre section
if line.startswith(': '):
break
print(line.strip(), file=file_out)
elif line.startswith(': family'):
#Découverte des données cibles
target = True
Pour être honnête, je n'ai rien fait de spécial techniquement, donc je n'ai aucun intérêt à expliquer. Si vous le forcez, plus de 90% est un copier-coller de 100 coups de traitement de langue amateur: 91. Les 10 premières lignes du texte résultant sont:
091.analogy_family.txt
boy girl brother sister
boy girl brothers sisters
boy girl dad mom
boy girl father mother
boy girl grandfather grandmother
boy girl grandpa grandma
boy girl grandson granddaughter
boy girl groom bride
boy girl he she
boy girl his her
Omis par la suite
Recommended Posts