Сопоставление слов с информацией из веб-скребка - PullRequest
0 голосов
/ 10 июня 2019

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

Мой вопрос:

Допустим, я создал веб-скребок, который извлекает всю информацию с веб-сайта размещения вакансий. Информация выглядит так:

Row 1 -  Company X , Computer engineer
Row 2 -  Company X , Civil engineer
Row 2 -  Company Y , Data Scientist
Row 3 -  Company Z , Data Analyst

Я хочу создать что-то в python или даже преуспеть, если будет проще, если этот флаг автоматически помечает строку или оценивает компанию на основе заранее определенных слов.

если речь идет об инженере, тогда оценка будет:

Company X = 2 , Company Y = 0 , Company Z = 0

Если вам нужны какие-либо детали, не стесняйтесь. Что я должен искать в Интернете для любого вида ответа? Помогут ли мне НЛП или Regex?

Спасибо!

1 Ответ

0 голосов
/ 10 июня 2019

регулярных выражений достаточно для вашей проблемы. Сначала вы должны уточнить свои очищенные данные, чтобы сделать их довольно постоянными в своем формате, а затем вы можете извлекать данные с помощью регулярных выражений. Вот пример для ваших данных:

import re
from pprint import pprint

REGEX = re.compile(r'Row (?P<row>\d+) *- *Company (?P<company>\S+) *, *(?P<profession>.*)')

rows = [
    'Row 1 -  Company X , Computer engineer',
    'Row 2 -  Company X , Civil engineer',
    'Row 2 -  Company Y , Data Scientist',
    'Row 3 -  Company Z , Data Analyst'
]

found_data = []

for row in rows:
    found = REGEX.match(row)
    if found:
        found_data.append([
            found.group('row'),
            found.group('company'),
            found.group('profession')
        ])
pprint(found_data)
[['1', 'X', 'Computer engineer'],
 ['2', 'X', 'Civil engineer'],
 ['2', 'Y', 'Data Scientist'],
 ['3', 'Z', 'Data Analyst']]

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