Dieses Ding ist ein wichtiger Hausaufgaben für einen Untersuchungskurs. Es wurde im Grunde zufällig geschrieben. Zu dieser Zeit wusste ich nichts und konnte nicht alle Arten von APIs verwenden, daher war die Umsetzung an vielen Orten sehr unangemessen. Darüber hinaus hat das Modell auch das einfachste Modell ausgewählt, um Ärger zu sparen, und es hat keinen Referenzwert sowohl auf der Codeebene als auch auf akademischer Ebene.
Da es keine Genehmigung zur Verwendung der Daten gibt, kann ich den Datensatz nicht offenlegen. Bitte verstehen Sie
Chinesisches Q & A -System basierend auf LSTM
Dieses Projekt erkennt die Funktion, den Satz zu finden, bei dem sich die Antwort auf eine bestimmte Frage in mehreren Sätzen befindet, indem ein Zwei-Wege-Long- und Kurzzeit-Speicher-Netzwerkmodell festgelegt wird. In der Prämisse, Internetressourcen von Drittanbietern zu verwenden , entwickeln Sie sich. Data kann durch die Verwendung des im Trainings geschultes Modells überprüft werden. Der MRR kann 0,75 oder mehr erreichen.
Wie man rennt
Umweltabhängigkeit
Programm Version Python 3.5.2 Tensorflow 1.2.1 Jieba 0,38 CUDA 8.0 (8.0.61.2) Cudnn 5.1 Cuda und Cudnn sind beide Abhängigkeiten von Tensorflow. Bitte überprüfen Sie die offizielle TensorFlow -Dokumentation, um die Installationsmethode zu erhalten. Der Rest kann mit dem Befehl
pip installinstalliert werdenAnweisungen zur Verwendung von Ressourcen von Drittanbietern
- Bei der Durchführung von Wortsegmentierung im chinesischen Text wird die Jieba -Segmentierung verwendet
- Bei der Codierung guter Wörter wird die Codierung von Wortbetten verwendet, um die Leistungsverluste zu vermeiden, die durch eine HOT-Codierung verursacht werden. Der Wortvektor verwendet eine 50-dimensionale Wortvektordatei, die durch Offline-Datentraining in chinesischen Wikipedia erhalten wurde
Führen Sie das Programm aus
Führen Sie nach der Installation der Abhängigkeitsbibliothek Main.py direkt aus. Wenn es ein Modell gibt, das geschult wurde, fordert das Programm auf, das Modell direkt zu laden oder erneut mit dem Training zu starten.
main.py empfängt keine Parameter. Wenn Sie die Konfiguration ändern müssen, ändern Sie den Code direkt. Es gibt detaillierte chinesische Kommentare in der Datei. Bitte ändern Sie sie entsprechend
taevaluation.py ist ein Evaluierungsskript, das Bewertungen von MRR, MAP und ACC@1 liefern kann, das vom Assistant Teaching Assistant verfasst wurde. Ich habe einige Änderungen am Eingangs- und Ausgangsformat vorgenommen
Über Training
Wenn Sie das geschulte Modell nicht verwenden oder es kein geschultes Modell gibt, verwendet das Programm die Daten in der Schulung.Data und entwickelt sich.Data, um das Modell zu trainieren. Bei Verwendung von Standardparametern verbraucht das Training bis zu 8G Speicher + 2G Videospeicher. Bitte stellen Sie sicher, dass der Computer im Voraus über ausreichende Hardwareressourcen verfügt, um Fehlerberichte zu verhindern. Der vollständige Trainingsprozess dauerte etwa 12 Stunden unter meinen GTX 850 m+i5 4210H -Bedingungen.
Wenn ich die Parameter auch mit denselben Parametern anpasste, können die Ergebnisse jedes Trainings unter Verwendung der MRR -Metrik immer noch um maximal 0,03 schwanken, und der Grund ist nicht klar. Aufgrund persönlicher Hardware- und Zeitbeschränkungen wurde nur eine sehr grobe Parameteranpassung durchgeführt, und die meisten Parameter haben noch Platz für die weitere Optimierung. Wenn Sie interessiert sind, können Sie es auch versuchen, es zu optimieren.