Парсинг значения из текста

Уже существует статья в Википедии о предмете (см. Параметр ), который определяет и отличает условия параметр и аргумент . Короче говоря, параметр является частью функции/процедуры/сигнатуры метода, и аргументом является фактическое значение, предоставленное во времени выполнения и/или сайте вызова для параметра.

в статье Wikipedia также говорится, что два термина часто используются синонимично (особенно при обосновании о коде неофициально):

, Хотя параметры также обычно упоминаются как аргументы, аргументы более правильно считаются фактическими значениями или ссылками, присвоенными переменным параметра, когда подпрограмму называют во времени выполнения.

, Учитывая следующий пример функционируют в C, который добавляет, что два целых числа, x и y упоминались бы как его параметры:

int add(int x, int y) {
    return x + y;
}

На сайте вызова с помощью add, таком как пример, показанный ниже, 123 и 456 , упоминался бы как эти аргументы из вызова.

int result = add(123, 456);

кроме того, некоторые спецификации языка (или официальная документация) принимают решение использовать параметр или аргумент исключительно и прилагательные использования как [1 116] формальный и фактический вместо этого для устранения неоднозначности между этими двумя случаями. Например, документация C/C++ часто относится для функционирования параметры как [1 119] формальные аргументы и вызов функции аргументы как [1 121] действительные аргументы . Для примера см. “ Формальные и Действительные аргументы ” в Ссылка Языка Visual C++ .

10
задан Community 23 May 2017 в 12:07
поделиться

6 ответов

Используйте NLTK , в частности главу 7 об извлечении информации.

Вы скажем, вы хотите извлечь смысл, и есть модули для семантического анализа, но я думаю, что IE - это все, что вам нужно, и, честно говоря, это одна из немногих областей, с которыми компьютеры НЛП могут справиться прямо сейчас.

См. разделы 7.5 и 7.6 на подтемы Распознавания именованных сущностей (чтобы разбить и классифицировать Мэнни Рамереза ​​как личность, Доджерс как спортивную организацию и Хьюстон Астрос как другую спортивную организацию или что-то еще, что подходит для вашей области) и Извлечение отношений. Существует чанкер NER, который вы можете подключить после установки NLTK. Из их примеров извлечение геополитической сущности (GPE) и человека:

>>> sent = nltk.corpus.treebank.tagged_sents()[22]
>>> print nltk.ne_chunk(sent) 
(S
  The/DT
  (GPE U.S./NNP)
  is/VBZ
  one/CD
  ...
  according/VBG
  to/TO
  (PERSON Brooke/NNP T./NNP Mossman/NNP)
  ...)

Обратите внимание, что вам все равно нужно знать токенизацию и тегирование, как обсуждалось в предыдущих главах,

8
ответ дан 3 December 2019 в 14:44
поделиться

Обработка естественного языка (NLP) - это название для синтаксического анализа, ну, естественного языка. Существует множество алгоритмов и эвристик, и это активная область исследований. Какой бы алгоритм вы ни запрограммировали, его нужно будет обучить на корпусе. Как человек: мы изучаем язык, читая текст, написанный другими людьми (и / или слушая предложения, произносимые другими людьми).

С практической точки зрения, взгляните на Natural Language Toolkit ]. Для теоретического обоснования того, что вы собираетесь кодировать, вы можете ознакомиться с Основами статистической обработки естественного языка Криса Маннинга и Хинриха Шютце.

alt text
(источник: stanford.edu )

7
ответ дан 3 December 2019 в 14:44
поделиться

Вам нужно обратиться к Natural Language Toolkit , который предназначен именно для такого рода вещей.

Этот раздел руководства выглядит очень уместным: Категоризация и тегирование слов - вот отрывок:

>>> text = nltk.word_tokenize("And now for something completely different")
>>> nltk.pos_tag(text)
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'),
('completely', 'RB'), ('different', 'JJ')]

Здесь мы видим, что и - это CC, координирующее соединение; теперь и полностью являются RB или наречиями; вместо - это IN, предлог; что-то - NN, существительное; и другой - это JJ, прилагательное.

10
ответ дан 3 December 2019 в 14:44
поделиться

Вот книга, на которую я недавно наткнулся: Обработка естественного языка с помощью Python

4
ответ дан 3 December 2019 в 14:44
поделиться

То, что вы хотите, называется NP (существительная фраза) фрагментацией или извлечением.

Некоторые ссылки здесь

Как уже отмечалось, это очень специфичный для проблемной области материал. Чем больше вы сможете сузить, тем эффективнее будет. И вам нужно будет обучить свою программу для вашего конкретного домена.

3
ответ дан 3 December 2019 в 14:44
поделиться

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

Как правило, подход к этим вещам ДЕЙСТВИТЕЛЬНО зависит от того, в чем именно состоит ваша проблемная область. Если вы сможете отсеять проблемную область, вы можете получить очень серьезные преимущества; если использовать ваш пример, если вы можете определить, что ваша проблемная область - это бейсбол, это дает вам действительно сильное преимущество. Даже в этом случае требуется ОЧЕНЬ много работы, чтобы получить что-нибудь особенно полезное.

Да, для чего это стоит, да, существующий корпус слов будет полезен. Что еще более важно, определение ожидаемой функциональной сложности системы будет иметь решающее значение; вам нужно разбирать простые предложения или нужно разобрать сложное поведение? Можете ли вы ограничить ввод относительно простым набором?

1
ответ дан 3 December 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: