Je veux extraire des phrases contenant un nom de médicament et de gène à partir de 10 000 articles. et mon code estJe veux extraire des phrases contenant un médicament et un nom de gène à partir de 10 000 articles
import re
import glob
import fnmatch
import nltk
from nltk.tokenize import sent_tokenize, word_tokenize
flist= glob.glob ("C:/Users/Emma Belladona/Desktop/drug working/*.txt")
print (flist)
for txt in flist:
#print (txt)
fr = open (txt, "r")
tmp = fr.read().strip()
a = (sent_tokenize(tmp))
b = (word_tokenize(tmp))
for c, value in enumerate(a, 1):
if value.find("SLC22A1") != -1 and value.find("Metformin"):
print ("Result", value)
re.findall("\w+\s?[gene]+", a)
else:
if value.find("Metformin") != -1 and value.find("SLC22A1"):
print ("Results", value)
if value.find("SLC29B2") != -1 and value.find("Metformin"):
print ("Result", value)
Je veux extraire des phrases qui ont le gène et le nom du médicament dans le corps de l'article. Par exemple "La metformine a diminué logarithmiquement converti SLC22A1 excrétion (de 1.5860.47 à 1.0060.52, p¼0.001)." "En conclusion, nous ne pouvions pas démontrer des associations frappantes des polymorphismes étudiés de SLC22A1, ACE, AGTR1 et ADD1 avec des réponses antidiabétiques à la metformine dans cette étude bien contrôlée."
Ce code renvoie beaucoup de phrases, c'est-à-dire si un mot de dessus est entré dans la phrase qui est imprimée ...! Aidez-moi faire le code pour cette
S'il vous plaît décrire décrire exactement ce qui ne va pas. Que devrait-il se passer et que se passe-t-il à la place? – lenz
Avec l'instruction 'print (tmp)', vous imprimez tout ce que vous lisez, quelles que soient vos recherches. Si votre problème est que vous avez plus de lignes 'Result' dans la sortie que vous le souhaitez, alors clarifiez votre question. – alexis
'si value.find (" SLC22A1 ")! = -1 et value.find (" Metformin ")' que voulez-vous faire ici? vérifier si "SLC22A1" et "Metformin" sont dans la valeur? parce que si c'est ça, alors c'est faux. –