Was sind gute Ausgangspunkte für jemand Interesse in der Verarbeitung natürlicher Sprache?[geschlossen]

StackOverflow https://stackoverflow.com/questions/212219

  •  03-07-2019
  •  | 
  •  

Frage

Frage

Also habe ich vor kurzem kam mit einigen neuen möglichen Projekte, die zu tun haben mit der Ableitung 'Bedeutung' aus text vorgelegt und von den Benutzern generiert.

Verarbeitung natürlicher Sprache ist der Bereich, der sich mit diesen Arten von Problemen, und nach ersten Recherchen fand ich die OpenNLP-Hub und Universität Kollaborationen wie die attempto Projekt.Und stackoverflow hat diese.

Wenn irgend jemand link für mich einige gute Ressourcen, die von Research papers und introductionary Texte zu apis, würde ich glücklicher sein als ein 6 Jahre alten Kind öffnete seine Weihnachtsgeschenke!

Update

Durch eine Ihrer Empfehlungen, die ich gefunden habe opencyc ("die weltweit größte und die meisten komplette general-knowledge base und commonsense reasoning engine").Noch mehr tolle noch, es ist ein Projekt, das ist eine kondensierte version von opencyc genannt DOLDE.Es verfügt über semantische Daten in rdf/owl/skos-n3-syntax.

Ich habe auch schon gestolpert antlr, ein parser-generator für die 'constructing recognizers, Dolmetscher, Compilern und übersetzern aus grammatikalischen Beschreibungen'.

Und es gibt eine Frage, auf die hier von mir, dass die Listen Tonnen freie und open data.

Dank stackoverflow-community!

War es hilfreich?

Lösung

Tough call, NLP ist ein viel breiteres Feld als die meisten Leute denken, es ist.Die Sprache grundsätzlich kann aufgeteilt werden in mehrere Kategorien, die erfordert, dass Sie lernen, völlig unterschiedliche Dinge.

Bevor ich beginne, lassen Sie mich Ihnen sagen, dass ich bezweifle, Sie haben keine nennenswerten Erfolge (wie eine professionelle, zumindest), ohne einen Abschluss in etwas (eng verwandten) Feld.Es gibt eine Menge Theorie beteiligt, die meisten von trockenen Sachen und schwer zu lernen.Sie müssen eine Menge Ausdauer und vor allem:Zeit.

Wenn Sie daran interessiert sind, die Bedeutung des Textes, gut, das ist das Nächste Große Ding.Semantische Suchmaschinen sind vorhergesagt als Einleitung Web 3.0, aber wir sind weit entfernt von " es " noch nicht.Extrahieren Logik von text ist abhängig von mehreren Schritten:

  • Tokenization, Chunking
  • Disambiguation auf einer lexikalischen Ebene (die Zeit vergeht wie ein Pfeil, aber Frucht fliegt wie eine Banane.)
  • Syntaktisches Parsing
  • Morphologische Analyse (Tempus, Aspekt, Kasus, Numerus, was nicht alles)

Eine kleine Liste, aus der Spitze von meinem Kopf.Es gibt noch mehr: -) und viele weitere details zu jeder Punkt.Zum Beispiel, wenn ich sage, "analysieren", was ist das?Es gibt viele verschiedene Analyse-algorithmen, und es gibt ebenso viele parsing-Formalismen.Unter den mächtigsten sind Baum-angrenzende Grammatik und Head-driven phrase structure grammar.Aber beide von Ihnen sind kaum verwendet in die Feld (für jetzt).In der Regel werden Sie den Umgang mit einigen halb gebacken generativen Ansatz und haben zur Durchführung der morphologischen Analyse selbst.

Gehen Sie von dort auf die Semantik ist ein großer Schritt.Ein Syntax - /Semantik-Schnittstelle ist abhängig sowohl auf die syntaktische und semantic framework beschäftigt, und es gibt keine einzige funktionierende Lösung noch nicht.Auf der semantischen Seite, es ' s classic generative Semantik, dann gibt es Diskurs Darstellung Theorie, dynamische Semantik, und viele mehr.Auch der logische Formalismus der alles zu Grunde liegt, ist noch nicht klar definiert.Einige sagen, man sollte verwenden first-order logic, aber das scheint kaum ausreichend;dann gibt es intensionale Logik, wie Sie von Montague, aber das scheint übermäßig Komplex und rechnerisch nicht durchführbar.Es ist auch dynamische Logik (Groenendijk und Stokhof Pionierarbeit geleistet haben dieses Zeug.Great stuff!) und erst vor kurzem, in diesem Sommer eigentlich Jeroen Groenendijk präsentiert einen neuen Formalismus, Neugierig Semantik, auch sehr interessant.

Wenn Sie wollen, um begonnen zu erhalten, die auf einem sehr einfachen Niveau zu Lesen Blackburn und Bos (2005), es ist großartiges Zeug, und die de-facto-introduction to Computational Semantics!Ich habe vor kurzem erweitert Ihr system um decken Sie die partition-Theorie der Fragen (Frage zu beantworten ist ein Tier!), wie vorgeschlagen, durch Groenendijk und Stokhof (1982), aber leider die Theorie hat eine Komplexität von O(n2) über die Domäne von Einzelpersonen.Dabei bin ich gefunden B&B, die Umsetzung von etwas, erhm... hackish, an Orten.Immer noch, es ist wirklich, wirklich helfen, Tauchen Sie ein in computational semantics, und es ist immer noch eine sehr beeindruckende Werkschau, was getan werden kann.Auch Sie verdienen es, extra cool-Punkte für die Umsetzung einer Grammatik, die sich in Pulp Fiction (Film).

Und wenn ich schon dabei bin, pick-up-Prolog.Eine Menge von research in computational semantics basiert auf den Prolog. Lernen Prolog Jetzt! ist ein gutes intro.Ich kann auch empfehlen, "The Art of Prolog" und Covington ' s "Prolog Programming in Depth" - und "Natural Language Processing for Prolog-Programmierer", von denen die erstere ist kostenlos erhältlich online.

Andere Tipps

Chomsky ist völlig die falsche Quelle zu suchen NLP (und er würde sagen, wie viel sich mit Nachdruck) - siehe: „ Statistische Methoden und Linguistik " von Abney.

Jurafsky und Martin, wie oben erwähnt, ist ein Standardwerk, aber ich mich lieber Manning und Schütze . Wenn Sie über NLP ernst sind, werden Sie wahrscheinlich beide lesen möchten. Es gibt Videos von einem der Mannings Kurse online .

Wenn Sie bis zum DCG Kapitel durch Prolog erhalten in Lernen Jetzt Prolog! oben erwähnt von Herrn Dimitrov, werden Sie einen guten Anfang an einige Semantik in Ihr System bekommen haben, da Prolog Ihnen eine sehr einfache Art und Weise der Aufrechterhaltung eine Datenbank von Wissen und Gewissen gibt, die durch Frage-Antwort aktualisiert werden können.

Wie die Literatur betrifft, so habe ich eine wichtige Empfehlung für Sie: laufen und kaufen Sprachverarbeitung von Jurafsky & Martin. Es ist ziemlich viel die Buch über NLP (das erste Kapitel online verfügbar ist); in ein frillion Universitätskursen verwendet, aber auch sehr gut lesbar für die Nicht-Linguisten und praxisorientiert, während zur gleichen Zeit ziemlich tief in die Linguistik Probleme gehen. Ich kann es wirklich nicht genug empfehlen. Kapitel 17, 18 und 21 zu sein scheinen, was Sie suchen (14, 15 und 18 in der ersten Auflage); sie zeigen Ihnen einfache Lambda-Notation, die mit Funktionen ziemlich gut zu Prolog DCG ist übersetzt.

Oh, btw, auf die Meister in der Linguistik bekommen; wenn NL Semantik ist das, was du bist in, würde ich eher alle KI-bezogene Kurse empfehlen, können Sie (obwohl alle Kurse auf „plain“ linguistischen Semantik, Logik, logische Semantik, DRT , LFG / HPSG / CCG, NL Parsing, formale linguistische Theorie usw. würde nicht schaden ...)

Beim Lesen Chomskys Originalliteratur ist nicht wirklich nützlich; soweit ich weiß, gibt es keine aktuellen Implementierungen sind, dass direkt entspricht seine Theorien, alle nützlichen Sachen seines ziemlich viel von anderen Theorien subsumiert (und alle, die in der Nähe von Linguisten für jede Frage der Zeit bleibt werden absorbieren Wissen von Chomsky durch Osmose).

Ich würde sehr empfehlen, das Spiel mit dem NLTK und Lesen den NLTK Buch . Die NLTK ist sehr leistungsfähig und einfach in zu erhalten.

Sie könnten versuchen, ein bisschen auf Phrase strukturiert Programmierer , die im Grunde ist die Mathematik hinter viel Sprache processessing. Es ist eigentlich nicht so schwer, wobei am Set und Graphentheorie basiert weitgehend. Ich studierte es vor vielen Monden als Teil einer diskreten Mathematik natürlich, und ich denke, es verfügbar viele gute Referenzen in diesem Stadium ist.

Edit: Nicht so viel wie ich auf Google erwartet, obwohl

Einer der frühen Entdecker in NLP ist Noam Chomsky; schrieb er kleine Bücher über das Thema in den 50er Jahren durch die 70er Jahre. Sie können von dieser Eingriff Lektüre.

Cycorp haben eine kurze Beschreibung von rel="nofollow, wie sie ihre Cyc Wissensbasis leitet Bedeutung von Sätzen.

eine massive Wissensbasis der gemeinsamen Fakten Durch die Verwendung kann das System bestimmt die logischste Parst einen Satz.

Ein einfacher Ort mit den Bausteinen zu beginnen, ist der Blick in der Dokumentation für ein Paket, das es zu tun versucht. Ich würde die Python [Natural Language Toolkit (NLTK) 1 , besonders empfehlen wegen ihre gut geschrieben, kostenloses Buch , die mit Beispielen gefüllt ist. Es wird Sie nicht den ganzen Weg zu bekommen, was Sie wollen (was ein AI-hartes Problem ist), aber es wird Ihnen einen guten Halt. NLTK hat Parser, Chunkers, kontextfreie Grammatiken und mehr.

Dies ist wirklich harte Sachen. Ich würde beginnen durch einen Master in Linguistik zumindest immer, und dann in Richtung meiner Promotion in Informatik arbeiten, auf NLP konzentrieren.

Das Problem ist, dass die meisten von uns haben nicht das Verständnis dessen, was Sprache ist. Und ohne das Verständnis, es ist verdammt schwer, eine Lösung zu implementieren.

Kommentare einigen Lesungen geben, die wahrscheinlich in Ordnung ist, wenn man sich mit einer kleinen Teilmenge des Problems beginnen möge spielen, aber um eine wirklich robuste Lösung zu kommen, dann gibt es keine Abkürzungen. Sie müssen den akademischen Hintergrund in beiden Disziplinen.

Eine sehr angenehme lesbare Einführung ist The Language Instinct von Steven Pinker. Es geht in die Chomsky Sachen und erzählt auch interessante Geschichten aus der Evolutionsbiologie Winkel. Könnte mit so etwas beginnt wert sein vor dem Tauchen in Chomskys Papiere und die damit verbundenen Arbeiten, wenn Sie auf das Thema neu sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top