Existe uma abordagem algorítmica para identificar se as datas indicadas em um parágrafo se correlacionam com eventos (frases) específicos no parágrafo?
Exemplo, considere o seguinte parágrafo:
Em junho de 1970, o grande líder prestou juramento. Mas foi somente depois de maio de 1972, após a morte do Ministro de Estado, que ele assumiu as rédeas do país. Enquanto ele gozava de apoio popular até meados de 1980, sua influência começou a cair posteriormente.
Existe um algoritmo (determinístico ou estocástico) # que pode gerar uma 2-tupla (data, evento), em que o evento implica, pelo parágrafo, que ocorreu na data ? No caso acima:
- (Junho de 1970, grande líder prestou juramento)
(Maio de 1972, assumiu as rédeas)
ou melhor ainda
- (Maio de 1972, o grande líder assumiu as rédeas)
- (1980, queda de influência)
#Mais tarde
(<= May 1972, death of the Minister of State)
ou(<= Mid-1980, [the great leader] enjoyed popular support)
.Respostas:
Em geral, o problema de identificar datas e outros marcadores temporais no texto é chamado de problema de extrair referências temporais . A pesquisa vinculada o levará a artigos relacionados a isso.
fonte
Como você pede uma abordagem algorítmica, eu serei tão teimoso quanto um algoritmo. Sinto muito por tratar essa questão dessa maneira, mas como não parece um problema teórico complexo, vou sintetizar as abordagens possíveis.
Pergunta: você pode me dar uma definição algorítmica de uma data e de um evento específico?
Se você puder: Como sua definição é algorítmica, provavelmente esse é um tipo de gramática formal , e seu problema será ajustá-la para capturar todos os casos que você precisar considerar. (Estou interessado se você puder me dar uma definição exata que não seja uma gramática formal)
Se você não pode: pelo menos, pode apresentar exemplos. Tudo bem então. A melhor - e única coisa em que consigo pensar - é nos algoritmos de aprendizado de máquina, que você precisará treinar para reconhecer suas datas e seus eventos. (Usando um corpus de frases anotadas à mão) No entanto, isso é bastante exagerado em comparação com alguns grandes regexp feitos à mão que provavelmente farão o trabalho. Se você realmente quer fazê-lo, acho que o mais eficiente será esse tipo de regexp dado como parâmetro para o algoritmo de aprendizado, mas é melhor perguntar aos especialistas em aprendizado de máquina.
Boa sorte com isso, é muito mais fácil falar sobre isso (nos dois casos).
fonte