Как удалить пробелы между буквами, которые составляют одно и то же слово?

#python #nlp #token #tokenize

Вопрос:

В основном у меня есть целый документ, который в какой-то момент включает текст = «R E S U L T», и после того, как я его маркирую, функция маркирует его буква за буквой, поэтому я хотел бы сообщить компьютеру, что «РЕЗУЛЬТАТ» должен быть маркирован как целое слово. Есть какие-нибудь идеи о том, как убрать пробелы в словах, разделенных пробелами в документе?

Я как-то подумал о том, чтобы сообщить компьютеру, что если он найдет такой шаблон, как Буква пробел Буква пробел, может быть, он сможет его идентифицировать?

это результат, который я получаю:

R СУЩЕСТВИТЕЛЬНОЕ конж

E СУЩЕСТВИТЕЛЬНОЕ obj

S PROPN obj

U ПРОПН плоский

L ПРОПН плоский

T PROPN плоский

и это мой код:

 for value in dict.values():
    sentence= nlp2(value)
    for token in sentence:
        token_text = token.text
        token_pos = token.pos_
        token_dep = token.dep_
        print("{:<12}{:<10}{:<10}".format(token_text,token_pos,token_dep))
 

большое спасибо!:)

Комментарии:

1. Несмотря на ваши теги, я не могу определить, что делает ваша nlp2 функция. Если вы используете пакет, пожалуйста, включите эту include строку в свой код. Возможно, имеет смысл скорректировать ваш текст перед отправкой его в токенизатор. Является ли РЕЗУЛЬТАТ единственным словом, которое вы ожидаете услышать? Если это так, вы, вероятно, могли бы сэкономить дополнительные головные боли при обработке, выполнив сначала это преобразование.

2. да, я думаю, что пример кода, который я привел, был бесполезен, я планировал преобразовать текст до вызова nlp2 (), и отсутствие РЕЗУЛЬТАТА-не единственное слово … есть идеи, как настроить текст? еще раз большое тебе спасибо!

3. Есть ли какие-либо примеры других слов со вставленными пробелами? Если есть какая-то закономерность, возможно, вы могли бы просто поискать, когда это начнется, и применять удаление пробелов только в этих случаях. Это может быть вопрос поиска регулярного выражения и удаления всех пробелов, но тогда это также может зависеть от определения того, какие пробелы являются значимыми.

Ответ №1:

Похоже, переменная для предложения-это слово «РЕЗУЛЬТАТ», поэтому вы перебираете буквы. Вы бы перебирали слова, например, если предложение представляет собой список. Поэтому проверьте свои переменные значения и предложения и посмотрите, что вам нужно изменить. См. Этот пример игрушки:

 word_not_sentence = 'RESULT'
sentence_as_list_of_words = ['desired', 'RESULT']

for letter in word_not_sentence:
    print(letter)

for word in sentence_as_list_of_words:
    print(word)