“regex для слов” (семантическая замена) - какой-либо синтаксис в качестве примера и библиотеки?

Вот простой способ с dplyr:

library(dplyr)
df %>% group_by(ID) %>%
  filter(row_number() <= which.max(condition) | sum(condition) == 0)
# # A tibble: 7 x 3
# # Groups:   ID [3]
#      ID  time condition
#   <int> <int>     <int>
# 1     1     1         0
# 2     1     2         0
# 3     1     3         0
# 4     1     4         1
# 5     2     1         0
# 6     2     2         1
# 7     3     1         1

Он опирается на which.max, который возвращает индекс первого первого максимального значения в векторе. | sum(condition) == 0 заботится о сохранении цензуры (где условие всегда равно 0).

Используя эти данные:

1    1       0
1    2       0
1    3       0
1    4       1
2    1       0 
2    2       1
2    3       1
2    4       0
3    1       1
3    2       1
3    3       0
3    4       0')
7
задан Vinko Vrsalovic 23 October 2008 в 05:50
поделиться

6 ответов

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

Одним хорошим местом, чтобы начать исследовать был бы "Word Net" - это - словарь семантики, собирая в группу слова подобным значением и также записью отношений между словами полезными способами.

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

2
ответ дан 7 December 2019 в 10:10
поделиться

Если Вы не связываетесь с конкретным языком, у Haskell есть Грамматическая Платформа Aarne Ranta:

http://www.grammaticalframework.org/

который явно разработан для генерации синтаксических анализаторов, и т.д. для обработки естественного языка этого вида.

2
ответ дан 7 December 2019 в 10:10
поделиться

Хорошее место для запуска было бы CARLAStudio SIL для своего "Автоматизированного Связанного комплекта" Адаптации Языка. Кроме того, SIL'S Адаптирует Его. SIL имеет огромный диапазон программного обеспечения лингвистического анализа, которое является направлением, Вы, кажется, идете. Это - конечно, большой переход от регулярных выражений, которые не заботятся о значении к чему-то, что может обработать лингвистический анализ.

0
ответ дан 7 December 2019 в 10:10
поделиться

Если Вы хотите что-то более устойчивое для синтаксического анализа естественных языков / преобразование, Вы могли бы попробовать порт C# OpenNLP.

0
ответ дан 7 December 2019 в 10:10
поделиться

Я не знаю ни о каких синтаксисах, которые существуют для английской обработки языка как Вы, обсуждают. Необходимо было бы создать собственный DSL использование одного из наборов инструментов (таких как Word Net) там.

-1
ответ дан 7 December 2019 в 10:10
поделиться
Другие вопросы по тегам:

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