Domanda

Sto cercando qualcosa che potrebbe esistere o meno. Esiste un "motore di regole grammaticali inglesi" disponibile sulla piattaforma Windows (in particolare per qualcosa come .NET o C #)?

In particolare, sto cercando qualcosa che sarebbe in grado di prendere una frase nel "tempo futuro" e cambiarla nel "passato" (basato sulle regole grammaticali inglesi) .. come:

Lavora sul software del widget e poi incontra Ricardo

a questo:

Ha lavorato su software widget e poi ha incontrato Ricardo

Esiste già un motore di regole che lo fa?

È stato utile?

Soluzione

Parla con questo ragazzo , potrebbe averne idee per te. In generale, l'inglese è troppo ambiguo per questo tipo di cose. Ad esempio:

  

Taglia la carta a metà.

È un comando imperativo o un frammento di frase passato? E il mio preferito personale:

  

Il tempo vola come una freccia; la frutta vola come una banana.

Qualsiasi essere umano può analizzarlo, ma solo grazie a una grande conoscenza semantica.

Detto ciò, ci sono alcune cose che potrebbero valere la pena di esaminare, come SharpNLP

Altri suggerimenti

Come altri hanno affermato, questo è un problema molto difficile e non è stato risolto nel caso generale. Tuttavia, ci sono alcuni sistemi che funzionano abbastanza bene. La WordNet di Princeton è una di queste. Può identificare parti del discorso, sinonimi, ecc. (Forse compreso il tempo) con un certo grado di precisione. Penso che potresti essere interessato a queste funzioni , che sembrano trovare la radice di una parola data una particolare coniugazione e potrebbe anche essere in grado di trovare una particolare coniugazione data la radice (ma quella pagina non fornisce esempi, quindi non posso essere sicuro di interpretare correttamente i documenti).

La risposta breve è no, i motori di analisi NLP generali non esistono.

La risposta lunga è "kinda", ma ci sono 50 anni di ricerche che dimostrano che si tratta di un problema molto difficile, nel caso generale . Potrebbe essercene uno che sta facendo trasformazioni di tempo specifiche. Indipendentemente da ciò, C # probabilmente non ne avrà uno.

Dai un'occhiata a questo , si chiama Grammatica. Potrebbe non essere esattamente quello che stai cercando, ma è sicuramente un buon inizio per analizzare le regole grammaticali inglesi in C #.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top