Heim > Backend-Entwicklung > Python-Tutorial > Beispiele für die Verarbeitung natürlicher Sprache in Python: Wortsegmentierung

Beispiele für die Verarbeitung natürlicher Sprache in Python: Wortsegmentierung

王林
Freigeben: 2023-06-09 22:01:45
Original
1335 Leute haben es durchsucht

Die Python-Sprache ist heute eine der beliebtesten Programmiersprachen, und ihr leistungsstarkes Toolkit zur Verarbeitung natürlicher Sprache ist auch zu ihrem einzigartigen Vorteil geworden. Natural Language Processing (NLP) ist eine wichtige Forschungsrichtung im Bereich der künstlichen Intelligenz und hat breite Anwendungsaussichten. In diesem Artikel wird hauptsächlich eines der Beispiele für die Verarbeitung natürlicher Sprache in Python vorgestellt – die Wortsegmentierung.

Die Tokenisierung ist eine grundlegende Aufgabe bei der Verarbeitung natürlicher Sprache. Ihr Zweck besteht darin, einen Text in sinnvolle Vokabulareinheiten zu segmentieren, wie z. B. Wörter und Satzzeichen auf Englisch, ein Wort und Wörter auf Chinesisch usw. Die Wortsegmentierung ist der erste Schritt in der Verarbeitung natürlicher Sprache und bildet auch die Grundlage für Aufgaben wie Wortart-Tagging, Erkennung benannter Entitäten und Stimmungsanalyse, die im nächsten Schritt implementiert werden.

In Python gibt es viele häufig verwendete Wortsegmentierungstools wie nltk, spacy und jieba. In diesem Artikel stellen wir hauptsächlich die Verwendung des häufig verwendeten jieba-Wortsegmentierungstools vor.

Zuerst müssen wir das Jieba-Wortsegmentierungstool installieren. Führen Sie einfach den folgenden Befehl aus:

!pip install jieba
Nach dem Login kopieren

Nachdem die Installation abgeschlossen ist, können wir eine Wortsegmentierung für den Text durchführen. Angenommen, wir haben einen chinesischen Text:

text = "自然语言处理是人工智能领域的一个重要方向,其目的是让计算机能够理解自然语言及其含义。"
Nach dem Login kopieren

Wir können die cut()-Methode von Jieba verwenden, um ihn in Wörter zu segmentieren. Der Beispielcode lautet wie folgt: cut()方法将其分词,示例代码如下:

import jieba

text = "自然语言处理是人工智能领域的一个重要方向,其目的是让计算机能够理解自然语言及其含义。"
seg_list = jieba.cut(text, cut_all=False)

print(" ".join(seg_list))
Nach dem Login kopieren

cut()方法接受两个参数,第一个参数为待分词的文本内容,第二个参数cut_all表示是否采用全模式分词(即全部切分出可行的词语),如果不指定,默认为False,表示采用精确模式分词。

代码运行结果如下所示:

自然语言 处理 是 人工智能 领域 的 一个 重要 方向 , 其 目的 是 让 计算机 能够 理解 自然语言 及 其 含义 。
Nach dem Login kopieren

在这个例子中,我们可以看到,jieba分词将文本正确地分割成了一个个有意义的词语单元。同时,我们也可以通过调用jieba.cut()方法的不同参数完成其他的分词操作:

  • cut() 方法返回的是一个生成器,可以直接使用 for 循环迭代输出分词结果;
  • cut_for_search() 方法是一个混合模式分词器,既可以精确分词,又可以扫描出文本中所有可能是词语的组合;
  • lcut()lcut_for_search() 方法将返回一个列表类型的分词结果。

除此之外,jieba分词工具还支持自定义词典,可以增加分词的准确率。例如,我们可以定义一个包含领域相关术语的词典,命名为newdict.txt,并调用jieba分词器的load_userdict()

import jieba

# 加载自定义词典
jieba.load_userdict("newdict.txt")

text = "自然语言处理是人工智能领域的一个重要方向,其目的是让计算机能够理解自然语言及其含义。"
seg_list = jieba.cut(text, cut_all=False)

print(" ".join(seg_list))
Nach dem Login kopieren
Der cut()Die Methode code> akzeptiert zwei Parameter, der erste Parameter ist der zu segmentierende Textinhalt, der zweite Parameter <code>cut_all gibt an, ob die Wortsegmentierung im Vollmodus verwendet werden soll (d. h. alle möglichen Wörter werden segmentiert), andernfalls angegeben, ist der Standardwert False, was darauf hinweist, dass die Wortsegmentierung im präzisen Modus verwendet wird.

Das Ergebnis der Ausführung des Codes ist wie folgt: 🎜rrreee🎜In diesem Beispiel können wir sehen, dass die Jieba-Wortsegmentierung den Text korrekt in sinnvolle Worteinheiten segmentiert. Gleichzeitig können wir auch andere Wortsegmentierungsoperationen abschließen, indem wir verschiedene Parameter der Methode jieba.cut() aufrufen: 🎜
  • cut() Die Methode gibt einen Generator zurück, der direkt eine for-Schleife verwenden kann, um iterativ Wortsegmentierungsergebnisse auszugeben.
  • cut_for_search() Die Methode ist ein Wortsegmentierer im gemischten Modus, der Wörter genau segmentieren kann und scannen Sie Text. Alle möglichen Kombinationen von Wörtern. Die Methoden
  • lcut() und lcut_for_search() geben einen Listentyp mit Wortsegmentierungsergebnissen zurück.
🎜Darüber hinaus unterstützt das Jieba-Wortsegmentierungstool auch benutzerdefinierte Wörterbücher, was die Genauigkeit der Wortsegmentierung erhöhen kann. Beispielsweise können wir ein Wörterbuch mit domänenbezogenen Begriffen definieren, es newdict.txt nennen und die Methode load_userdict() des Jieba-Wortsegmentierers aufrufen, um das benutzerdefinierte Wörterbuch zu laden : 🎜 rrreee🎜Anhand dieses einfachen Beispiels haben wir gelernt, wie man das Wortsegmentierungstool jieba für die Verarbeitung natürlicher Sprache in Python verwendet. Die Wortsegmentierung ist eine der Grundaufgaben des NLP. Die Beherrschung der Verwendung der Wortsegmentierungstechnologie ist auch für die Realisierung anderer komplexer NLP-Aufgaben sehr wichtig. Ich glaube, dass jeder durch kontinuierliches Lernen und Üben die Python-Technologie zur Verarbeitung natürlicher Sprache besser beherrschen und bessere Hilfe bei der Verarbeitung verschiedener Textdaten leisten kann. 🎜

Das obige ist der detaillierte Inhalt vonBeispiele für die Verarbeitung natürlicher Sprache in Python: Wortsegmentierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage