Очистка текстовых данных для задач НЛП - PullRequest
0 голосов
/ 20 мая 2018

Этим утром я пытался обучить чат-бота на наборе данных Cornell Movie - Dialogs Corpus, но у меня возникли проблемы с очисткой текстовых данных для подачи в мой алгоритм.Вот фрагмент из текстового файла

L1045 +++$+++ u0 +++$+++ m0 +++$+++ BIANCA +++$+++ They do not!
L1044 +++$+++ u2 +++$+++ m0 +++$+++ CAMERON +++$+++ They do to!
L985 +++$+++ u0 +++$+++ m0 +++$+++ BIANCA +++$+++ I hope so.
L984 +++$+++ u2 +++$+++ m0 +++$+++ CAMERON +++$+++ She okay?
L925 +++$+++ u0 +++$+++ m0 +++$+++ BIANCA +++$+++ Let's go.

L924 +++ $ +++ u2 +++ $ +++ m0 +++ $ +++ CAMERON +++ $ +++ Wow Меня интересуют только диалоги в последней части каждого предложения.Как я могу очистить этот файл и сделать его документом CSV?

Ссылка на набор данных http://www.cs.cornell.edu/~cristian/Cornell_Movie-Dialogs_Corpus.html

Ответы [ 4 ]

0 голосов
/ 12 марта 2019

Попробуйте эту библиотеку для базовой очистки: https://pypi.org/project/textcleaner/

Существует функция с именем remove_symbols () , вы также можете передать список вместо файла в качестве аргумента.

Ниже приведена ссылка на документацию для использования этой функции.https://yugantm.github.io/textcleaner/documentation.html#remove_symbols

Существует множество других функций для очистки текстовых данных.

Надеюсь, это поможет:)

0 голосов
/ 20 мая 2018

Ну, вы можете сделать это, используя простое регулярное выражение.

Фрагмент кода

import re
string = "+++$+++ u0 +++$+++ m0 +++$+++ BIANCA +++$+++ They do not!"
cleaned = " ".join(re.findall("[a-zA-Z]+", string))
print(cleaned)

Вывод : 'u m BIANCA They do not'

Чтобы выполнить это на каждой строке.Я предлагаю вам преобразовать ваши данные во фрейм pandas и использовать метод .apply (), чтобы выполнить очистку

0 голосов
/ 21 мая 2018

Итерация по всем строкам в виде строки.

Допустим, у вас есть:

str = "+++ $ +++ u0 +++ $ +++m0 +++ $ +++ BIANCA +++ $ +++ Они не делают! "

, и вы хотите, чтобы вы сказали" Они не делают! "

Делайте как:

str.split ("+++ $ +++") [- 1]

Это даст вам желаемый результат.Как только у вас будет вывод желаний в виде строки, напишите их построчно в файле .csv.

Надеюсь, это поможет.

0 голосов
/ 20 мая 2018

Шаблон прямо здесь!+++$+++.Разделите это на это, и вы получите данные CSV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...