как помешать НЛТК разбить конкретные слова? - PullRequest
0 голосов
/ 31 января 2019

У меня есть список тегов stackoverflow: [javascript, node.js, c ++, amazon-s3, ....].

Я хочу обозначить вопрос stackoverflow: «что я предпочитаю?javascript, node.js, c ++ или amazon-S3? Это пустышка. "

, и я хочу, чтобы nltk токенизировал" node.js "в один токен:" node.js ", а не" node "и'js'.

Как сказать nltk не разбивать слово, если оно есть в моем списке тегов?

Я прочитал этот возможный дубликат, и вопрос кажетсябыть таким же, но ответ на основе Multi Word Expression Tokenizer не удовлетворяет мою потребность.

На самом деле, если я использую это решение, я думаю, мне придется реконструировать вручнуювсе теги, например:

tokenizer = nltk.tokenize.MWETokenizer()
tokenizer.add_mwe('Python', '-', '3', '.', 'x)

Мне нужно, чтобы все существующие теги были "непокрытыми"

1 Ответ

0 голосов
/ 01 февраля 2019

Я не знаю всего диапазона тегов, которые вы хотите сохранить как целые токены, но похоже, что базовая функция word_tokenize() NLTK будет сохранять эти конкретные элементы как токены без определения списка тегов.

import nltk
sentence = "what do I prefer ? javascript, node.js, c++ or amazon-S3 ? This is dummy."
tokens = nltk.word_tokenize(sentence)
print(tokens)

Вывод:

['what', 'do', 'I', 'prefer', '?', 'javascript', ',', 'node.js', ',', 'c++', 'or', 'amazon-S3', '?', 'This', 'is', 'dummy', '.']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...