Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entwickelt man Anwendungen zur Sprachverarbeitung mit künstlicher Intelligenz und zur Verarbeitung natürlicher Sprache in PHP?

Wie entwickelt man Anwendungen zur Sprachverarbeitung mit künstlicher Intelligenz und zur Verarbeitung natürlicher Sprache in PHP?

WBOY
WBOYOriginal
2023-05-13 12:30:061431Durchsuche

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 installieren

Geben 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.jar

4. 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.

    Die Installation, Konfiguration und Verwendung von StanfordNLP erfordert ein bestimmtes technisches Niveau. Wenn Sie neu sind, lernen Sie zuerst die Java-Programmierung.
  1. 3. Zusammenfassung
In diesem Artikel haben wir vorgestellt, wie man Sprachverarbeitung und natürliche Sprachverarbeitung in PHP durchführt. Wir haben auch etwas über zwei Bibliotheken für künstliche Intelligenz erfahren: PHP-ML und StanfordNLP, die die entsprechenden Aufgaben problemlos erledigen können.

Bei der Entwicklung von Anwendungen für künstliche Intelligenz müssen wir unter Berücksichtigung von Leistungsproblemen die zugrunde liegende Programmiersprache verwenden. Aber mit der Unterstützung von PHP-FFI können wir problemlos mit PHP und C/C++ interagieren. Gleichzeitig hat PHP den Vorteil, dass es leicht zu erlernen und zu warten ist, was es zur idealen Wahl für Nicht-Unternehmens-Technologie-Stacks macht.

Daher ist PHP möglicherweise eine ausgezeichnete und effiziente Wahl für PHP-Entwickler, die die Technologie der künstlichen Intelligenz auf ihre eigenen Websites oder Anwendungen anwenden möchten.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn