File 将WordNet文件转换为.txt
我需要将数据库文件(noun.shape、noun.state、verb.conception ecc)从其自定义扩展名转换为.txt,以便更轻松地提取其自定义类别中的名词、动词、形容词和副词。File 将WordNet文件转换为.txt,file,text,nlp,wordnet,File,Text,Nlp,Wordnet,我需要将数据库文件(noun.shape、noun.state、verb.conception ecc)从其自定义扩展名转换为.txt,以便更轻松地提取其自定义类别中的名词、动词、形容词和副词。 换句话说,在“仅数据库文件”中,您将找到我要查找的文件,不幸的是,它们的扩展名为.STATE或.SHAPE。它们在记事本中是可读的,但我需要一个包含这些文件中所有项目的列表,但括号中没有它们的定义。如果您只是将WordNet用作词典,您可以尝试打开多语言WordNet,请参阅 同时,请稍等片刻,因为NL
换句话说,在“仅数据库文件”中,您将找到我要查找的文件,不幸的是,它们的扩展名为.STATE或.SHAPE。它们在记事本中是可读的,但我需要一个包含这些文件中所有项目的列表,但括号中没有它们的定义。如果您只是将WordNet用作词典,您可以尝试
打开多语言WordNet
,请参阅
同时,请稍等片刻,因为NLTK开发人员很快就会将开放的多语言Wordnet API整合在一起,请参阅第1048行的内容
import os, codecs
from nltk.corpus import wordnet as wn
# Read Open Multi WN's .tab file
def readWNfile(wnfile, option="ss"):
reader = codecs.open(wnfile, "r", "utf8").readlines()
wn = {}
for l in reader:
if l[0] == "#": continue
if option=="ss":
k = l.split("\t")[0] #ss as key
v = l.split("\t")[2][:-1] #word
else:
v = l.split("\t")[0] #ss as value
k = l.split("\t")[2][:-1] #word as key
try:
temp = wn[k]
wn[k] = temp + ";" + v
except KeyError:
wn[k] = v
return wn
if not os.path.exists('msa/wn-data-zsm.tab'):
os.system('wget http://compling.hss.ntu.edu.sg/omw/wns/zsm.zip')
os.system('unzip zsm.zip')
msa_wn = readWNfile('msa/wn-data-zsm.tab')
eng_wn_keys = {(str(i.offset).zfill(8) + '-'+i.pos).decode('utf8'):i for i in wn.all_synsets()}
for i in set(eng_wn_keys).intersection(msa_wn.keys()):
print eng_wn_keys[i], msa_wn[i]