Heim >Backend-Entwicklung >PHP-Tutorial >Wie entwickelt man Anwendungen zur Sprachverarbeitung mit künstlicher Intelligenz und zur Verarbeitung natürlicher Sprache in PHP?
Mit der kontinuierlichen Weiterentwicklung der Technologie der künstlichen Intelligenz sind Sprachverarbeitung und Anwendungen zur Verarbeitung natürlicher Sprache zu einer wichtigen Entwicklungsrichtung im Internetbereich geworden. Als beliebte Programmiersprache unterscheidet sich PHP auch von anderen Sprachen dadurch, dass es über eine ganz eigene Art der Anwendung der Technologie der künstlichen Intelligenz verfügt. In diesem Artikel wird vorgestellt, wie man Anwendungen zur Sprachverarbeitung mit künstlicher Intelligenz und zur Verarbeitung natürlicher Sprache in PHP entwickelt.
1. Sprachverarbeitung
Um die Sprachverarbeitung in PHP durchzuführen, müssen Sie die Erweiterungsbibliothek PHP-FFI verwenden, die Abkürzung für Foreign Function Interface in verschiedenen Programmiersprachen C-Code zu definieren. Über PHP-FFI können wir Methoden externer C/C++-Bibliotheken in PHP aufrufen und Werte zurückgeben.
PHP-FFI-Erweiterung und zugehörige Abhängigkeiten installieren
Sie können den folgenden Befehl auf der Linux-Plattform verwenden:
sudo apt-get install libffi-dev sudo pecl install ffi
Verwenden Sie Composer, um das FFI einzuführen Bibliothekspaket
composer require polysign/php-ffi
Wir haben eine .php-Datei, die eine externe C/C++-Bibliothek simuliert, da PHP-FFI den Aufruf über diese Datei abschließt.
Wir müssen zuerst eine FFI-Instanz erstellen:
$ffi = FFI::load("module.h");
Unter diesen ist module.h der Pfad zur .h-Datei der externen C/C++-Bibliothek. Die Funktion in diesem Beispiel heißt „get_integer()“ und gibt einen Wert vom Typ int zurück.
Beim Aufruf externer Funktionen können wir die folgende Methode verwenden:
$result = $ffi->get_integer();
So ruft PHP-FFI externe C/C++-Bibliotheken auf. Mit dieser Methode können wir verschiedene Sprachverarbeitungsbibliotheken aufrufen.
2. Verarbeitung natürlicher Sprache
Es gibt zwei Hauptbibliotheken, die die Verarbeitung natürlicher Sprache implementieren, nämlich PHP-ML und StanfordNLP.
1.PHP-ML
PHP-ML ist eine einfache und benutzerfreundliche Bibliothek für maschinelles Lernen, die die Verarbeitung und Klassifizierung natürlicher Sprache problemlos implementieren kann Bibliothek Wie folgt:
Verwenden Sie Composer, um das PHP-ML-Paket einzuführen
composer require php-ml/php-ml
Im Programm verwendet:
use PhpmlClassificationSVC; use PhpmlSupportVectorMachineKernel; // 创造一个SVC实例 $classifier = new SVC(Kernel::LINEAR, $cost = 1000); // 训练数据 $classifier->train($samples, $labels); // 预测 $classifier->predict($unknown);
2.StanfordNLP#🎜🎜 ##🎜 🎜 #StanfordNLP ist eine Java-Bibliothek, die erweiterte Vorgänge zur Verarbeitung natürlicher Sprache ausführen kann, wie z. B. die Erkennung benannter Entitäten, die Extraktion von Entitätsbeziehungen, die Satzsegmentierung, die Kennzeichnung von Wortarten usw.
Diese Bibliothek erfordert die Unterstützung der Java-Laufzeitumgebung.
Wir müssen zuerst Java installieren (überspringen Sie diesen Schritt, wenn es bereits installiert ist). Sie können den folgenden Befehl auf der Linux-Plattform verwenden:
sudo apt-get install default-jdk
Dann installieren Sie StanfordNLP im Java-Umgebung. Es enthält mehrere Modelle, die wir nach Bedarf auswählen können:
1 Laden Sie den Code von StanfordNLP herunter:
wget https://nlp.stanford.edu/software/stanford-parser-full-2018-10-17.zip
2. Entpacken Sie
unzip stanford-parser-full-2018-10-17.zip#🎜🎜 #3. Abhängigkeiten installierenGeben Sie zuerst das entpackte Verzeichnis in das Terminal ein und führen Sie dann den folgenden Befehl aus:
export STANFORD_MODELS=$(pwd)/stanford-parser-full-2018-10-17 export CLASSPATH=$STANFORD_MODELS/stanford-parser.jar4. Verwenden Sie StanfordNLP in PHP Das in Java verwendete Java-Programm wird über den Java-Befehl „exec()“ aufgerufen. Auf diese Weise muss der Benutzer, der die PHP-Datei ausführt, über Ausführungsberechtigungen verfügen, wenn er Java ausführt. Wenn wir den Java-Parser in PHP verwenden, müssen wir das Java-Programm ausführen und die Ergebnisse an STDOUT (Standardausgabestream) ausgeben und dann STDOUT aus dem PHP-Skript lesen, um die Ergebnisse zu erhalten.
<?php $output = shell_exec('java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000 2>&1 &'); sleep(5); // 这里必须等待一段时间来启动 $text = 'The quick brown fox jumped over the lazy dog.'; $url = "http://127.0.0.1:9000/?properties="; $url .= urlencode('{"annotators": "tokenize,ssplit,pos","outputFormat": "json"}'); $data = urlencode($text); $result = file_get_contents($url . "&text=" . $data); var_dump(json_decode($result, true));Wenn dieses Skript ausgeführt wird, werden die von StanfordNLP zurückgegebenen Analyseergebnisse im JSON-Format ausgegeben. Wichtige Hinweise
Da StanfordNLP viel Speicher und Rechenressourcen benötigt, verwenden Sie es bitte mit Vorsicht, wenn Sie große oder große Textmengen verarbeiten.
Das obige ist der detaillierte Inhalt vonWie entwickelt man Anwendungen zur Sprachverarbeitung mit künstlicher Intelligenz und zur Verarbeitung natürlicher Sprache in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!