Извлечение информации из текста в Python - PullRequest
0 голосов
/ 02 сентября 2018

Я новичок в текстовом майнинге. У меня есть файл CSV. Мне нужно пройти через каждую строку и извлечь некоторую информацию, а затем записать их в другой файл CSV. Я ищу конкретную информацию, которую я имею в словаре. Рассмотрим ниже предложение:

"версия приложения - 1.8.2, а переменная skt.len передает требуемую информацию. Файл ReadMe.txt имеет технические характеристики."

Мой словарь: ["версия приложения", "переменная", "файл"]

Мне нужно извлечь:

  • версия приложения: 1.8.2
  • переменная: skt.len
  • файл: ReadMe.txt

Каков наилучший способ извлечения такой информации из текста? Я играю с функциями NLTK и StanfordCoreNLP. Но я пока не мог извлечь информацию. Я думаю использовать регулярное выражение для извлечения версии приложения. Есть идеи?

PS: я знаю, что это может усложнить задачу. Но предложения в каждой строке файла CSV могут иметь различную структуру. Например: «версия приложения» в одной строке, может быть «версия приложения» в другой строке. Или «файл» в одной строке может быть «имя файла» в другой строке.

1 Ответ

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

Я использую R и ниже - один из способов (не лучший, но просто чтобы показать, как это работает) для извлечения значения переменной:

>> str_extract(text, '(?<=variable\\s)(\\w+)(.)?(\\w+)?')

здесь текст - это вся строка, которой вы поделились. Это дает мне вывод

>> skt.len

Я уверен, что в Python есть аналогичные функции, чтобы сделать это и получить вывод в нужном формате.

...