从树

时间:2018-06-08 10:38:02

标签: python awk grep

我正在使用递归神经网络,并且必须使用预先训练好的GLOVE字嵌入。由于我的数据集很小,我不想使用所有嵌入,只使用我的数据集中的嵌入。手套文本文件如下所示:

  

整个0.099415 0.063893 -0.65517 -0.31035 -0.54867 -0.31378 -0.75248 0.11362 0.029626 -0.23832 0.054125 -0.6937 0.019753 -0.25373 0.12972 -0.16954 -0.40668 -0.25018 -0.36012 -0.32704 0.15759 0.041711 0.39897 0.53711 0.058105 -0.8139 -0.39827 0.077777 0.2354 0.27001 3.6635 0.35466 0.81482 -1.1884 -0.29611 0.5244 -0.45087 0.13699 -0.93812 0.4332 -0.45985 0.13347 -0.069847 0.097409 -0.073005 0.55471 -0.13301 -0.47559 -1.057 -0.60987

     

建立0.083877 0.14873 -0.80328 -0.24779 -0.10944 -0.11647 -0.87871 -0.43654 0.015808 -0.61117 0.83698 0.39583 -0.1244 -0.36991 -0.43331 0.23538 0.14534 0.2862 0.00098344 0.74532 0.7003 -0.34758 -0.29388 0.17333 -0.51236 -1.2029 -0.35278 -1.1695 -0.61088 0.18471 3.0157 -0.67365 -0.45001 -1.0056 0.034002 -0.026611 0.0097914 0.55304 -0.19343 0.44712​​ -0.33502 -0.91209 0.19758 -0.035535 -0.77284 0.28167 -0.6852 -0.62592 -0.36489 -0.22197

     

任务1.9144 0.40923 -0.31422 -0.6443 0.55513 -0.81588 -0.766 0.18716 0.94453 -1.0715 0.52092 0.20347 -0.36264 0.5649 -0.30487 -0.13143 0.080574 0.16483 -0.25986 0.45458 -0.40467 0.7947 -0.66128 -0.49532 0.31973 -1.1424 0.097268 -0.48496 -0.17357 0.29176 2.7318 -0.073546 -1.7509 -0.86062 -0.0093403 0.021347 -0.006449 -0.18159 -0.27718 0.10547 -0.30741 -0.48023 0.40922 -1.2402 -0.476 0.30602 0.32634 0.62645 -0.91152 0.42901

     

相关联0.23032 1.0919-0.029497 0.749 -0.17768 0.22918 -0.38591 -0.15044 0.25437 -0.35935 0.42707 0.056076 -0.3842 -0.35789 0.35419 0.45716 -0.15992 -1.0055 0.25288 0.0078635 -0.031715 0.16926 0.90977 0.36871 0.04203 -0.81182 -0.81018 -0.40931 -0.2312 0.50252 2.6289 - 0.57009 0.87378 -1.6698 -0.13101 0.28056 0.040286 -0.12814 0.23653 1.2403 0.29779 0.94279 -0.057406 -0.17155 0.96692 -0.055877 -0.48754 0.25528 0.12889 0.10638

输入数据(文本文件)采用树形式,如下所示:

  

(3(2(2)(2 Rock))(4(3(2)(4(2)(2)(2(2(2(2))(2(2 be)(2) (2)(2(2-21)(2(2(2 Century)(2' s))(2(3 new)(2(2``)(2 Conan))))))) )(2''))(2和))(3(2 that)(3(2 he)(3(2' s)(3(2)(3(2) to)(4(3(2 make)(3(3(2 a)(3 splash))(2(2 even)(3 greater))))(2(2 than)(2(2(2(2) (1(2 Arnold)(2 Schwarzenegger))(2,))(2(2 Jean-Claud)(2(2 Van)(2 Damme))))(2或))(2(2 Steven)(2) Segal)))))))))))))(2。)))

     

(4(4(4(2))(4(3华丽)(3(2详细)(2续))))(2(2(2))(2``))(2(2) )(2(2(2主)(2(2)(2(2)(2环))))(2(2'')(2三部曲))))) )(2(3(2(2 is)(2(2 so)(2 huge)))(2(2 that)(3(2(2(2 a)(2列))(2(2)) (2个字)))(2(2(2 can)(1 not))(3)(2)描述(2)(2(2)(2个共同作者/导演)(2(2)彼得)(3(2杰克逊)(2' s))))(3(2扩展)(2视觉)))(2(2))(2(2(2 JRR)(2(2托尔金) )(2' s)))(2中土)))))))))(2。)))

我想要的输出是有一个新的文本文件,其中只包含输入文本文件中的单词的嵌入。这意味着,从输入文件中提取单词,在手套文件中匹配它们,并将这些手套文件行存储在与文字匹配的新文件中。

我尝试使用awk,grep,python这样做,但无法达成统一的解决方案。 任何帮助表示赞赏。这是我第一次提出任何问题,如果有任何错误,请纠正我。

我尝试了什么: 如果我从树文件中获取单词列表,那么我可以使用

'grep -F -x -f word_list.txt glove.6B.50d.txt > final.txt'

要获取单词列表,我尝试使用python代码:

import re
words = re.compile(r'([A-Za-z])')
file = open('tree.txt','r')
text = file.read()
a = [x for x in text if x in set(words)]
file.close()

但它会抛出错误

Traceback (most recent call last):
File "get_words.py", line 7, in <module>
a = [x for x in text if x in set(words)]
TypeError: '_sre.SRE_Pattern' object is not iterable

还尝试通过在线查看使用awk提取部分,但无法理解任何内容。

0 个答案:

没有答案