Я только что использовал LIWC Английский словарь 2007 года (я заплатил за то же самое) и выполнил простой поиск на данный момент. Любые другие ответы приветствуются.
Должен сказать, я немного удивлен импульсивностью нескольких ответов здесь. С тех пор кто-то попросил код. Вот что я сделал:
''' Returns frequency of function words '''
def get_func_word_freq(words,funct_words):
fdist = nltk.FreqDist([funct_word for funct_word in funct_words if funct_word in words])
funct_freq = {}
for key,value in fdist.iteritems():
funct_freq[key] = value
return funct_freq
''' Read LIWC 2007 English dictionary and extract function words '''
def load_liwc_funct():
funct_words = set()
data_file = open(liwc_dict_file, 'rb')
lines = data_file.readlines()
for line in lines:
row = line.rstrip().split("\t")
if '1' in row:
if row[0][-1:] == '*' :
funct_words.add(row[0][:-1])
else :
funct_words.add(row[0])
return list(funct_words)
Любой, кто сделал какой-то код на python, скажет вам, что поиск или извлечение слов с конкретными POS-тегами - это не ракетостроение. Чтобы добавить, теги (по вопросу) NLP (обработка естественного языка) и NLTK (набор инструментов естественного языка) должны быть достаточным указанием для проницательных.
В любом случае, я понимаю и уважаю чувства людей, которые отвечают здесь, поскольку большинство из них бесплатны, но я думаю, что меньшее, что мы можем сделать, - это проявить немного уважения к плакатам с вопросами. Как правильно указано, помощь получается, когда вы помогаете другим, так же, как и уважение, получается, когда другие уважают других.