日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
12種自然語言處理的開源工具

讓我們看看可以用在你自己的 NLP 應用中的十幾個工具吧。-- Dan Barker(作者)

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供定日網(wǎng)站建設、定日做網(wǎng)站、定日網(wǎng)站設計、定日網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、定日企業(yè)網(wǎng)站模板建站服務,十年定日做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

在過去的幾年里,自然語言處理(NLP)推動了聊天機器人、語音助手、文本預測等這些滲透到我們的日常生活中的語音或文本應用程技術的發(fā)展。目前有著各種各樣開源的 NLP 工具,所以我決定調查一下當前開源的 NLP 工具來幫助你制定開發(fā)下一個基于語音或文本的應用程序的計劃。

盡管我并不熟悉所有工具,但我將從我所熟悉的編程語言出發(fā)來介紹這些工具(對于我不熟悉的語言,我無法找到大量的工具)。也就是說,出于各種原因,我排除了三種我熟悉的語言之外的工具。

R 語言可能是沒有被包含在內的最重要的語言,因為我發(fā)現(xiàn)的大多數(shù)庫都有一年多沒有更新了。這并不一定意味著它們沒有得到很好的維護,但我認為它們應該得到更多的更新,以便和同一領域的其他工具競爭。我還選擇了最有可能用在生產(chǎn)場景中的語言和工具(而不是在學術界和研究中使用),而我主要是使用 R 作為研究和發(fā)現(xiàn)工具。

我也驚訝地發(fā)現(xiàn) Scala 的很多庫都沒有更新了。我上次使用 Scala 已經(jīng)過去了兩年了,當時它非常流行。但是大多數(shù)庫從那個時候就再沒有更新過,或者只有少數(shù)一些有更新。

最后,我排除了 C++。 這主要是因為我上次使用 C++ 編寫程序已經(jīng)有很多年了,而我所工作的組織還沒有將 C++ 用于 NLP 或任何數(shù)據(jù)科學方面的工作。

Python 工具

自然語言工具包(NLTK)

毋庸置疑, 自然語言工具包(NLTK) 是我調研過的所有工具中功能最完善的一個。它幾乎實現(xiàn)了自然語言處理中多數(shù)功能組件,比如分類、令牌化、詞干化、標注、分詞和語義推理。每一個都有多種不同的實現(xiàn)方式,所以你可以選擇具體的算法和方式。同時,它也支持不同的語言。然而,它以字符串的形式表示所有的數(shù)據(jù),對于一些簡單的數(shù)據(jù)結構來說可能很方便,但是如果要使用一些高級的功能來說就可能有點困難。它的使用文檔有點復雜,但也有很多其他人編寫的使用文檔,比如 這本很棒的書 。和其他的工具比起來,這個工具庫的運行速度有點慢。但總的來說,這個工具包非常不錯,可以用于需要具體算法組合的實驗、探索和實際應用當中。

SpaCy

SpaCy 可能是 NLTK 的主要競爭者。在大多數(shù)情況下都比 NLTK 的速度更快,但是 SpaCy 的每個自然語言處理的功能組件只有一個實現(xiàn)。SpaCy 把所有的東西都表示為一個對象而不是字符串,從而簡化了應用構建接口。這也方便它與多種框架和數(shù)據(jù)科學工具的集成,使得你更容易理解你的文本數(shù)據(jù)。然而,SpaCy 不像 NLTK 那樣支持多種語言。它確實接口簡單,具有簡化的選項集和完備的文檔,以及用于語言處理和分析各種組件的多種神經(jīng)網(wǎng)絡模型??偟膩碚f,對于需要在生產(chǎn)中表現(xiàn)出色且不需要特定算法的新應用程序,這是一個很不錯的工具。

TextBlob

TextBlob 是 NLTK 的一個擴展庫。你可以通過 TextBlob 用一種更簡單的方式來使用 NLTK 的功能,TextBlob 也包括了 Pattern 庫中的功能。如果你剛剛開始學習,這將會是一個不錯的工具,可以用于對性能要求不太高的生產(chǎn)環(huán)境的應用??傮w來說,TextBlob 適用于任何場景,但是對小型項目尤佳。

Textacy

這個工具是我用過的名字最好聽的。先重讀“ex”再帶出“cy”,多讀“ Textacy ”幾次試試。它不僅僅是名字讀起來好,同時它本身也是一個很不錯的工具。它使用 SpaCy 作為它自然語言處理核心功能,但它在處理過程的前后做了很多工作。如果你想要使用 SpaCy,那么最好使用 Textacy,從而不用去編寫額外的附加代碼就可以處理不同種類的數(shù)據(jù)。

PyTorch-NLP

PyTorch-NLP 才出現(xiàn)短短的一年,但它已經(jīng)有一個龐大的社區(qū)了。它適用于快速原型開發(fā)。當出現(xiàn)了最新的研究,或大公司或者研究人員推出了完成新奇的處理任務的其他工具時,比如圖像轉換,它就會被更新??傮w來說,PyTorch 的目標用戶是研究人員,但它也能用于原型開發(fā),或使用最先進算法的初始生產(chǎn)載荷中?;诖嘶A上的創(chuàng)建的庫也是值得研究的。

Node.js 工具

Retext

Retext 是 Unified 集合 的一部分。Unified 是一個接口,能夠集成不同的工具和插件以便它們能夠高效的工作。Retext 是 Unified 工具中使用的三種語法之一,另外的兩個分別是用于 Markdown 的 Remark 和用于 HTML 的 Rehype。這是一個非常有趣的想法,我很高興看到這個社區(qū)的發(fā)展。Retext 沒有涉及很多的底層技術,更多的是使用插件去完成你在 NLP 任務中想要做的事情。拼寫檢查、字形修復、情緒檢測和增強可讀性都可以用簡單的插件來完成。總體來說,如果你不想了解底層處理技術又想完成你的任務的話,這個工具和社區(qū)是一個不錯的選擇。

Compromise

Compromise 顯然不是最復雜的工具,如果你正在找擁有最先進的算法和最完備的系統(tǒng)的話,它可能不適合你。然而,如果你想要一個性能好、功能廣泛、還能在客戶端運行的工具的話,Compromise 值得一試??傮w來說,它的名字(“折中”)是準確的,因為作者更關注更具體功能的小軟件包,而在功能性和準確性上有所折中,這些小軟件包得益于用戶對使用環(huán)境的理解。

Natural

Natural 包含了常規(guī)自然語言處理庫所具有的大多數(shù)功能。它主要是處理英文文本,但也包括一些其它語言,它的社區(qū)也歡迎支持其它的語言。它能夠進行令牌化、詞干化、分類、語音處理、詞頻-逆文檔頻率計算(TF-IDF)、WordNet、字符相似度計算和一些變換。它和 NLTK 有的一比,因為它想要把所有東西都包含在一個包里頭,但它更易于使用,而且不一定專注于研究??偟膩碚f,這是一個非常完整的庫,目前仍在活躍開發(fā)中,但可能需要對底層實現(xiàn)有更多的了解才能完全發(fā)揮效力。

Nlp.js

Nlp.js 建立在其他幾個 NLP 庫之上,包括 Franc 和 Brain.js。它為許多 NLP 組件提供了一個很好的接口,比如分類、情感分析、詞干化、命名實體識別和自然語言生成。它也支持一些其它語言,在你處理英語之外的語言時能提供一些幫助??傊?,它是一個不錯的通用工具,并且提供了調用其他工具的簡化接口。在你需要更強大或更靈活的工具之前,這個工具可能會在你的應用程序中用上很長一段時間。

Java 工具

OpenNLP

OpenNLP 是由 Apache 基金會管理的,所以它可以很方便地集成到其他 Apache 項目中,比如 Apache Flink、Apache NiFi 和 Apache Spark。這是一個通用的 NLP 工具,包含了所有 NLP 組件中的通用功能,可以通過命令行或者以包的形式導入到應用中來使用它。它也支持很多種語言。OpenNLP 是一個很高效的工具,包含了很多特性,如果你用 Java 開發(fā)生產(chǎn)環(huán)境產(chǎn)品的話,它是個很好的選擇。

Stanford CoreNLP

Stanford CoreNLP 是一個工具集,提供了統(tǒng)計 NLP、深度學習 NLP 和基于規(guī)則的 NLP 功能。這個工具也有許多其他編程語言的版本,所以可以脫離 Java 來使用。它是由高水平的研究機構創(chuàng)建的一個高效的工具,但在生產(chǎn)環(huán)境中可能不是最好的。此工具采用雙許可證,具有可以用于商業(yè)目的的特定許可證??傊?,在研究和實驗中它是一個很棒的工具,但在生產(chǎn)系統(tǒng)中可能會帶來一些額外的成本。比起 Java 版本來說,讀者可能對它的 Python 版本更感興趣。同樣,在 Coursera 上最好的機器學習課程之一是斯坦福教授提供的, 點此 訪問其他不錯的資源。

CogCompNLP

CogCompNLP 由伊利諾斯大學開發(fā)的一個工具,它也有一個相似功能的 Python 版本。它可以用于處理文本,包括本地處理和遠程處理,能夠極大地緩解你本地設備的壓力。它提供了很多處理功能,比如令牌化、詞性標注、斷句、命名實體標注、詞型還原、依存分析和語義角色標注。它是一個很好的研究工具,你可以自己探索它的不同功能。我不確定它是否適合生產(chǎn)環(huán)境,但如果你使用 Java 的話,它值得一試。


網(wǎng)頁標題:12種自然語言處理的開源工具
分享網(wǎng)址:http://www.dlmjj.cn/article/cdppces.html