nodejs在自然語言處理中的一些小應用

2021-08-31 21:20:45 字數 1425 閱讀 8437

nodejs做自然語言處理是非常可行的,這次我做了一些小小的嘗試,一起來體驗一下吧。

對每一篇文章進行快速的內容理解,根據標題和內容,輸出多個內容標籤;​

對文章按照內容進行自動分類,為文章聚類、文字內容分析等提供基礎;​

​根據文章標題、使用者自定義標籤、以及人工智慧獲得到的標籤,進行相似度計算;

下面給出自動輸出內容標籤的結果圖:

​執行環境:centos9 + docker

開發語言:nodejs​

資料庫:mariadb

開發框架:eggjs + ​nunjucks(模板引擎)

這次也是我第一次做後端渲染的部落格,ajax的**,做seo是真的不好做…

然後這次也是我第一次正兒八經的用了下阿里大佬們的eggjs,這種「洋蔥模型」的框架,我真的是超級喜歡,不管是用es7優雅地處理js非同步,還是經典的mvc,還是框架的外掛程式機制等等。確實是超級贊的。如果有喜歡nodejs的同志,強力推薦此框架。

我覺得乙個好的推薦系統應該更「懂」人,假如我最近乙個月前買了一部手機,我希望能給我推送一些手機配件,而不是在給我推送一部手機,這個時候我買手機配件的概率是遠遠大於在買一部手機的。現在很多推薦系統,都是通過使用者畫像,加上各種埋點,使用者運算元據,從而進行分析推送的。我覺得未必不可以在此基礎上加上情感分析,多乙個維度,或許能夠得到更準確的資料。

說了這麼多,我覺得還是有很多瓶頸存在的?,現在的ai就像很多年前的移動網際網路,正處於上公升期。 我們還有很多事情可以做。

下面進入今天的真題…

圖中右側部分就是我們這個文章推送系統的推送結果,我們用不同的顏色標註了這篇文章和當前正在瀏覽的文章的關聯度,顏色越深表示關聯度越高,置信度越高,權重越大。

這個推薦系統中主要使用了上面所說的第三點:相似度計算;使用的數學模型為空間向量模型,空間向量模型能夠將非結構化的文字資料轉換成向量形式,表示成向量形式之後能為之後的處理過程打下良好的數學基礎。

空間向量模型,幫助我們把每篇文件轉化為乙個多維的空間向量形式:

!)(其中,向量 w1i表示第乙個詞佔文件 ci的比重,向量 w2i表示第二個詞佔文件 ci的比重,依次類推,向量 wti表示第 t 個詞佔文件 ci的比重。

兩個文件的余弦值越接近 1,這兩個文件則越相似。

下面給出計算相似度的關鍵**:

自然語言處理

自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...

自然語言處理

前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...

自然語言處理

一 字串操作 去空格及特殊符號 s hello,world 預設把左右空格去掉 print s.strip print s.lstrip hello,print s.rstrip 查詢字元 0 為未找到 sstr1 strchr sstr2 tr 找到返回目標子串開始下標 npos sstr1.in...