Разница между общим количеством слов (длина списка) и словарь списка или файла в НЛП? - PullRequest
0 голосов
/ 25 сентября 2018

Как вычислить общее количество слов и словарь корпуса, хранящегося в виде списка в python?В чем основное различие между этими двумя терминами?

Предположим, я использую следующий список. общее количество слов или длина списка может быть вычислено как len(L1).Однако мне интересно знать, как рассчитать словарь из приведенного ниже списка.

 L1 = ['newnes', 'imprint', 'elsevier', 'elsevier', 'corporate', 'drive', 'suite', 
'burlington', 'usa', 'linacre', 'jordan', 'hill', 'oxford', 'uk',
'elsevier', 'inc', 'right', 'reserved', 'exception', 'newness', 'uk', 'military',
'organization', 'summary', 'task', 'definition', 'system', 'definition',
'system', 'engineering', 'military', 'project', 'military', 'project', 
'definition', 'input', 'output', 'operation', 'requirement', 'development',
'overview', 'spacecraft', 'development', 'architecture', 'design']

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Это то, что вы ищете?

from nltk.stem import WordNetLemmatizer

lemmatizer = WordNetLemmatizer()
list_of_tokens = ['cat', 'dog','cats', 'children','dog']
unique_tokens = set(list_of_tokens)
### {'cat', 'cats', 'children', 'dog'}

tokens_lemmatized = [ lemmatizer.lemmatize(token) for token in unique_tokens]
#### ['child', 'cat', 'cat', 'dog']

unique_tokens_lemmatized = set(tokens_lemmatized)
#### {'cat', 'child', 'dog'}

print('Input tokens:',len(list_of_tokens) , 'Lemmmatized tokens:', len(unique_tokens_lemmatized)
#### Input tokens: 5 Lemmmatized tokens: 3
0 голосов
/ 25 сентября 2018

Если ваш вопрос касается того, как получить количество уникальных слов в списке, это может быть достигнуто с помощью наборов. (Из того, что я помню из НЛП, словарькорпус должен означать набор уникальных слов в этом корпусе.)

Преобразовать ваш список в набор, используя метод set(), а затем вызвать len() для этого.В вашем случае вы получите количество уникальных слов в списке L1, например, так:

len(set(L1))     #number of unique words in L1

Редактировать: Вы уже упоминали, что словарь представляет собой набор лемматизированных слов.В этом случае вы должны сделать то же самое, за исключением импорта лемматизатора из NLTK или любой используемой вами библиотеки NLP, запуска списка или чего-либо еще в лемматизатор и преобразования результата в набор и продолжения описанного выше.

...