Когда вы хотите узнать новый язык, WordBook незаменим. В этой статье я пытался создать собственную книгу книги из транснации подкастов. Наклоняясь слова, которые инженеры часто используют более эффективно о моем исследовании.
Я пытался использовать обработку на естественном языке в первый раз. Пожалуйста, не иди слишком сильно на меня.
1. Найти статьи или транскрипты о вашем новом языке.
Я нашел изменяемый файл Подкасты стенограммы https://github.com/thechangelog/transcripts/tree/master/gotime Я буду использовать эти тексты на этот раз.
2. Очищение
Подготовка
>>> from nltk import sent_tokenize, word_tokenize, pos_tag >>> text = "We've got a great show lined up today. This is our first episode, so we're gonna do some brief introductions"
nltk.sent_takenize.
Мы можем получить разделенные слова из текста, которое использует предложение Tokenizer.
>>> sent_tokenize(text) ["We've got a great show lined up today.", "This is our first episode, so we're gonna do some brief introductions"]
nltk.word_tokedize.
Структура этих предложений, которые разделены и Word_Tokenize функций отдельно от предложения и получают токенизированные слова.
>>> [word_tokenize(sent) for sent in sent_tokenize(text)] [['We', "'ve", 'got', 'a', 'great', 'show', 'lined', 'up', 'today', '.'], ['This', 'is', 'our', 'first', 'episode', ',', 'so', 'we', "'re", 'gon', 'na', 'do', 'some', 'brief', 'introductions']]
nltk.pos_tag
POS_TAG предоставляет часть речевой теггера для заданного списка токенов.
>>> [pos_tag(word_tokenize(sent)) for sent in sent_tokenize(text)] [[('We', 'PRP'), ("'ve", 'VBP'), ('got', 'VBD'), ('a', 'DT'), ('great', 'JJ'), ('show', 'NN'), ('lined', 'VBD'), ('up', 'RP'), ('today', 'NN'), ('.', '.')], [('This', 'DT'), ('is', 'VBZ'), ('our', 'PRP$'), ('first', 'JJ'), ('episode', 'NN'), (',', ','), ('so', 'IN'), ('we', 'PRP'), ("'re", 'VBP'), ('gon', 'VBG'), ('na', 'TO'), ('do', 'VB'), ('some', 'DT'), ('brief', 'NN'), ('introductions', 'NNS')]]
Вы можете получить описание о теге, указанном в функции post_tag https://stackoverflow.com/questions/15388831/what-are-all-Possible-Pos-tags-of-nltk.
3. Лемматизируйте слова
Мы должны изменить данные кортежа для лемматизации. («Мы», «VBD») -> («Мы», «V»)
Вы можете получить слова лемматизации. Алгоритм WordNetLemMatizer Muny для использования. Мы должны дать теги на лемматизировать функцию явно
>>> lemmatizer = nltk.stem.WordNetLemmatizer() >>> lemmatizer.lemmatize("better", pos=nltk.corpus.wordnet.ADJ) 'good'
FYI: get_wordnet_pos Функция Полезно для изменения данных для погибги.
Я тоже пытался Стэнфорд Коренлп. Это выглядит лучше, чем Wordnet. https://github.com/stanfordnlp/stanfordnlp
>>> import stanfordnlp >>> stanfordnlp.download('en') >>> nlp = stanfordnlp.Pipeline() >>> text = "We've got a great show lined up today. This is our first episode, so we're gonna do some brief introductions" >>> doc = nlp(text) >>> print([w.lemma for w in doc.sentences[1].words]) ['this', 'be', 'we', 'first', 'episode', ',', 'so', 'we', 'be', 'go', 'to', 'do', 'some', 'brief', 'introduction']
Я облако становится более лучшим лемматизированным словами, чем раньше (например. WordNetLemmatizer: «Собираюсь» => «Гон», Стэнфордкоренлп: «Собираюсь» => «Иди»)
Я могу получить разлученные и лемматизированные слова через любые этапы. На следующем этапе я пытаюсь перечислить слова и создать полезную книгу книги.
Оригинал: “https://dev.to/8pockets/making-own-wordbook-by-natural-language-processing-4ia5”