10,000件の記事から薬品名と遺伝子名を含む文章を抽出したいです。そして私のコードは
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)
記事全体から遺伝子や薬品名を含む文章を抽出したい。たとえば、「メトホルミンは、対数変換された SLC22A1 排泄を減少させました (1.5860.47 から 1.0060.52 へ、p=0.001)」。「結論として、このよく管理された研究では、SLC22A1、ACE、AGTR1、および ADD1 の研究された多型とメトホルミンに対する抗糖尿病反応との顕著な関連性を示すことはできませんでした。」
このコードは、多くの文を返します。つまり、上記の 1 つの単語が文に含まれていれば、それが出力されます...! このコードの作成を手伝ってください