日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

新词发现简介

發布時間:2024/7/5 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 新词发现简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:https://blog.csdn.net/weixin_43378396/article/details/103848628

新詞發現是 NLP 的基礎任務之一,通過對已有語料進行挖掘,從中識別出新詞。新詞發現也可稱為未登錄詞識別,嚴格來講,新詞是指隨時代發展而新出現或舊詞新用的詞語。同時,我認為特定領域的專有名詞也可歸屬于新詞的范疇。何出此言呢?通常我們會很容易找到通用領域的詞表,但要找到某個具體領域的專有名詞則非常困難,因此特定領域的專有名詞相對于通用領域的詞語即為新詞。換言之,“新”并非只是時間上的概念,同樣可以遷移到領域或空間上。因此,新詞發現不僅可以挖掘隨時間變化而產生的新詞,也可以挖掘不同領域的專有名詞。

接下來,讓我們開始一場新詞發現的探索之旅吧。首先,對于“新詞發現”這個標題,我們可將其拆分為“發現”和“新詞”兩個步驟:

  • “發現”:依據某種手段或方法,從文本中挖掘詞語,組成新詞表;
  • “新詞”:借助挖掘得到的新詞表,和之前已有的舊詞表進行比對,不在舊詞表中的詞語即可認為是新詞。

“新詞發現”的難點主要在于“發現”的過程——如何從文本中挖掘到詞語?那么有辦法回避這個問題嗎?讓我們思索一下“新詞”的過程:比對挖掘得到的新詞表和舊詞表,從代碼的角度來說。

for 新詞 in 新詞表:if 新詞 not in 舊詞表:print("這是新詞")
  • 1
  • 2
  • 3

簡單地講,只要不是舊詞就是新詞唄,那么我們在對文本進行分詞時,假設分詞工具可以得到舊詞,那么分詞工具不能切分、切分有誤或切分后不在舊詞表中的詞語不就是新詞了嗎?這就是“新詞發現”的傳統做法——基于分詞的方法。

基于分詞的方法

先對文本進行分詞,余下未能成功匹配的片段(分詞后的中文、連續的數字、連續的英文)就是新詞。下面將以這篇文章為例:

使用經過汽車語料訓練后的 pkuseg 分詞器效果太好了,不利于后續的演示與說明,所以最終選擇使用 jieba 分詞(捂臉哭.jpg)。

【問題 1】:怎么去判斷片段是否成功匹配了呢?

示例 1:內飾方面,兩款新車配色上采用了全新的赭黑內飾, 分詞 1:['內飾', '兩款', '新車', '配色', '采用', '全新', '赭', '黑', '內飾']

示例 2:動力方面,兩款新車繼續搭載1.5L自然吸氣發動機
分詞 2:[‘動力’, ‘兩款’, ‘新車’, ‘搭載’, ‘1.5’, ‘L’, ‘自然’, ‘吸氣’, ‘發動機’]

  • 1
  • 2
  • 3
  • 4
  • 5

對于問題 1,我們可以將分詞后的單個字作為未成功匹配片段,例如示例 1 中的“赭黑”,jieba 分詞后得到 [“赭”, “黑”],將這連續的兩個單字整合到一塊,即可獲得新詞“赭黑”。同理,我們可以將示例 2 中的 “1.5” 視為一個單獨的片段,“L” 也為一個單獨的匹配,將其整合為“1.5L”。但如果僅僅只將單個字作為未成功匹配片段,則會漏掉較多的新詞,見下方問題 2。

【問題 2】:對于一些較長的新詞,例如“人艱不拆”,使用 jieba 分詞得到 [“人艱”, “不”, “拆”],此時的未成功匹配片段就不全是單字。換言之,新詞中包含詞語。

對于問題 2,我們可以找一份常用詞表(該詞表要盡可能齊全),然后借助這份詞表去過濾分詞后得到的常用詞,最后余下的就是新詞。假設“人艱”不在常用詞表中,那么過濾后仍會留下 [“人艱”, “不”, “拆”],此時我們就可以將這些連續的片段進行整合,得到“人艱不拆”。但這樣就完美了嗎?沒有,還有不少遺漏的新詞,見下方問題 3。

【問題 3】:如果新詞中包含的詞語在常用詞表中該怎么辦?該問題相當于在問題 3 的基礎上提出了——新詞中包含常用詞語。例如“一帶一路”,使用 jieba 分詞可得到 [“一帶”, “一路”]。而對于問題 3 則比較難處理,需要更多繁復的規則去做后處理。

此外,新詞發現的目標是挖掘文本中的新詞,或者說未登錄詞,來幫助后續的分詞等工作。而基于分詞的方法則相當于從目標反推過程,這種方法未嘗不可行,但分詞的準確性本身依賴于詞庫的完整性,如果詞庫中根本沒有新詞,又怎么能信任分詞的結果呢?自然,最終得到的效果也不會特別好。

通過上述的分析,可以知道傳統的方法存在許多的掣肘,那么有什么新的方法嗎?通過查閱資料以及一些思考,在新詞發現方面,目前主要有基于規則和基于統計兩種方法。接下來,讓我們具體談談這兩種方法。

基于規則的方法

根據新詞的構詞特征或外型特征建立規則庫、專業詞庫或模式庫,然后通過規則匹配發現新詞。因此,我們需要對已有的語料有著足夠的了解,繼而從語料中抽取固定的模式來匹配和發現新詞。例如,在一份汽車領域的語料中抽取所需的汽車新詞。

從上面的汽車文章中可以發現,頓號(、)前后的詞語通常會是汽車領域的專有名詞,這正是我們需要的新詞。故而,我們可以通過編寫正則表達式的方式,從文章中將這些內容抽取出來,并依據相應的規則作清洗和過濾。

【優點】:新詞挖掘的效果非常好,像“支持CarPlay+CarLife雙機互聯”這一類夾雜中文、英文和標點符號的詞語(短語)也能抽取出來。

【缺點】:與領域耦合過深,無法將建立的規則庫、專業詞庫以及模式庫遷移到其他領域中,需要根據領域內容重新搭建。甚至與特定類型、出版社、渠道的文章耦合過深,例如汽車之家的汽車文章和易車的汽車文章的格式就不同,需要為不同的數據源搭建相應的規則庫。一旦數據源的文章格式變動,規則庫也需要作相應的修改。無論是搭建還是后續的維護,都需要大量的人工成本。

基于統計的方法

基于統計的方法根據有無標注數據可分為有監督方法和無監督方法。

有監督方法

有監督方法利用標注語料,將新詞發現看作分類或者序列標注問題:

  • 基于文本片段的某些統計量,以此作為特征訓練二分類模型;
  • 基于序列信息進行序列標注直接得到新詞,或對得到的新詞再進行判定。

通常可以用 HMM、CRF、SVM 等機器學習算法實現。但是在實際應用中,獲取大量的標注語料數據是非常困難的一件事情,并且既然已經有了手工標注的數據,那么直接把標注得到的新詞加入到新詞詞庫就好了,又何必建模來解決呢?所以,探索無監督的挖掘方法在新詞發現領域中更有價值。

無監督方法

不依賴于任何已有的詞庫、分詞工具和標注語料,僅僅根據詞的共同特征,利用統計策略將一段大規模語料中可能成詞的文本片段全部提取出來,然后再利用語言知識排除不是新詞語的“無用片段”或者計算相關度,尋找相關度最大的字與字的組合。最后,把所有抽取得到的詞和已有的詞庫進行比較,就能得到新詞。

實際上,利用統計策略對語料進行切分,形成若干塊文本片段,這相當于一次粗淺的分詞。接下來,再對這些文本片段作一次清洗與過濾,余下的文本片段即可作為新詞詞庫。因此,上述過程可簡化為兩個步驟:

  • 構建詞庫
  • 新詞比對
  • 目前已有的大多數基于統計的新詞發現方案和博客,其根本思想都是源于 matrix67 纂寫的《互聯網時代的社會語言學:基于SNS的文本數據挖掘》。下文所講的內容也未能跳離這個框架,只是在前人的基礎上增加了些許自身的理解與嘗試,以及努力嘗試將實現步驟呈現給讀者。

    構建詞庫

    怎么樣的文本片段才能作為一個詞語?或者說作為一個詞語的文本片段需要滿足什么條件

    • 詞頻
    • 凝聚程度
    • 自由程度

    接下來,讓我們依次探討這三個條件對判斷成詞的作用與意義。

    詞頻

    首先,被選中的文本片段要在語料中出現多次,目的是為了排除偶然情況,例如筆誤的情況。因此,我們可以通過設置一個閾值,將頻數超過該閾值的文本片段提取出來,作為當前語料的詞匯輸出。

    但光憑詞頻不足以判斷,一個經常出現的文本片段有可能不是一個詞,而是多個詞構成的詞組,例如“的電影”、“在北京”等詞組。這些詞組并不是我們想要的詞語,我們想要的是“電影院”之類的詞語。此時就需要凝聚程度來幫助我們作進一步的判斷。

    凝聚程度

    凝聚程度用以衡量相鄰字組合成詞語的程度,如果兩個人經常待在一起,我們往往會認為他們的關系很親密,而字與字之間的“親密關系”則通過凝聚程度(其他文獻中稱為“凝合程度”)來表示。

    凝聚程度要如何進行計算呢?詞組的出現概率除以構成詞組的各個詞語的出現概率的乘積,最后對結果做一次對數處理(可以理解為對計算得到的概率值組了一次映射)。

    PMI(x,y)=log?2p(x,y)p(x)p(y)P M I(x, y)=\log _{2} \frac{p(x, y)}{p(x) p(y)} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mord mathdefault" style="margin-right: 0.10903em;">M</span><span class="mord mathdefault" style="margin-right: 0.07847em;">I</span><span class="mopen">(</span><span class="mord mathdefault">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 2.363em; vertical-align: -0.936em;"></span><span class="mop"><span class="mop">lo<span style="margin-right: 0.01389em;">g</span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.206968em;"><span class="" style="top: -2.45586em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.24414em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault">x</span><span class="mclose">)</span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></span></p>

    p(x, y) <= p(x)、p(x, y) <= p(y),且 p(x) < 0、p(y) < 0,因此:

    p(x,y)p(x)p(y)≥1\frac{p(x, y)}{p(x)p(y)} \geq 1 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 2.363em; vertical-align: -0.936em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault">x</span><span class="mclose">)</span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">≥</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span></span></span></span></span></span></p>

    對于 log 函數而言,真數 >= 1,函數值 >= 0,加上 log 函數相當于將原本的函數值映射到 [0, +∞] 區間,且增速放緩。

    仍然以“的電影”和“電影院”為例。

    • 的電影 = 的 + 電影
    • 電影院 = 電影 + 院
    電影:0.01,院:0.01,電影院:0.001 P(電影院)/P(電影)P(院):0.001 / (0.01 * 0.01) = 10

    電影:0.01,的:0.2,的電影:0.002
    P(的電影)/P(的)P(電影):0.002 / (0.01 * 0.2) = 1

    • 1
    • 2
    • 3
    • 4
    • 5

    上面的結果表明“電影院”更可能是一個有意義的搭配,而“的電影”則更像是“的”和“電影”這兩個成分偶然拼到一塊。

    凝聚程度的計算方式很大程度上受到文本切分的影響,因此我將這部分的內容移到了文本切分部分。

    自由程度

    詞語作為漢語中的一個基本語義單元,具備一個顯著的特征——可以靈活地應用到不同的場景中。例如“機器學習”,上下文可以搭配很多動詞和名詞“學習人工智能知識”、“從事人工智能行業”。但對于“人工智”這個詞語來說,上文依然可以搭配很多詞語,下文卻基本上只能搭配“能”。那么,我們可以認為“人工智”不是一個完整的詞語。

    換個角度來看,詞語的自由程度可以理解為詞語之間的相關性弱,換言之,詞語的獨立性高。蘇劍林大佬纂寫的《無監督構建詞庫:更快更好的新詞發現算法》 一文中提到:

    為什么要分詞?人本來就是按照字來書寫和理解的呀?

    當模型的記憶和擬合能力足夠強(或者簡單點,足夠智能)的時候,我們完全可以不用分詞的,直接基于字的模型就可以做,比如基于字的文本分類、問答系統等,早已有人在研究。但是,即便這些模型能夠成功,也會因為模型復雜而導致效率下降,因此,很多時候(尤其是生產環境中),我們會尋求更簡單、更高效的方案。

    什么方案最高效?以文本分類為例,估計最簡單高效的方案就是“樸素貝葉斯分類器”了,類似的,比較現代的是 FastText,它可以看作是“樸素貝葉斯”的“神經網絡版”。要注意,樸素貝葉斯基于一個樸素的假設:特征之間相互獨立。這個假設越成立,樸素貝葉斯的效果就越好。然而,對于文本來說,顯然上下文緊密聯系,這個假設還成立嗎?

    注意到,當特征之間明顯不獨立的時候,可以考慮將特征組合之后,使得特征之間的相關性減弱,再用樸素貝葉斯。比如,對于文本,如果以字為特征,則樸素假設顯然不成立,如“我喜歡數學”中的“喜”和“歡”、“數”和“學”都明顯相關,這時候我們考慮將特征進行組合,得到“我/喜歡/數學”,這樣三個片段之間的相關性就沒有那么強了,因此可以考慮用上述結果。

    可以發現,這個過程很像分詞,或者反過來說,分詞的主要目的之一,就是將句子分為若干個相關性比較弱的部分,便于進一步處理。

    知道了什么是自由程度,以及為什么自由程度可以作為新詞的評估指標,那么我們該如何計算當前文本片段的自由程度呢?簡單地講,如何衡量當前文本片段的上下文可搭配詞語的豐富程度呢?

    matrix67 提出可以使用信息熵來進行度量,令當前文本片段為 x,其上文的詞語為

    yly_l</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.625em; vertical-align: -0.19444em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.336108em;"><span class="" style="top: -2.55em; margin-left: -0.03588em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight" style="margin-right: 0.01968em;">l</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>,下文的詞語為 <span class="katex--inline"><span class="katex"><span class="katex-mathml">yry_r</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.625em; vertical-align: -0.19444em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.151392em;"><span class="" style="top: -2.55em; margin-left: -0.03588em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight" style="margin-right: 0.02778em;">r</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>。<br> <span class="katex--display"><span class="katex-display"><span class="katex"><span class="katex-mathml">H(y∣x)=?∑yp(y∣x)logp(y∣x)H(y|x) = -\sum_y p(y|x)log p(y|x) </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault" style="margin-right: 0.08125em;">H</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mord">∣</span><span class="mord mathdefault">x</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 2.43612em; vertical-align: -1.38611em;"></span><span class="mord">?</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.05001em;"><span class="" style="top: -1.89999em; margin-left: 0em;"><span class="pstrut" style="height: 3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight" style="margin-right: 0.03588em;">y</span></span></span><span class="" style="top: -3.05001em;"><span class="pstrut" style="height: 3.05em;"></span><span class=""><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 1.38611em;"><span class=""></span></span></span></span></span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mord">∣</span><span class="mord mathdefault">x</span><span class="mclose">)</span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">o</span><span class="mord mathdefault" style="margin-right: 0.03588em;">g</span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mord">∣</span><span class="mord mathdefault">x</span><span class="mclose">)</span></span></span></span></span></span></p>

    當前文本片段的上文和下文可搭配詞語越豐富,則其上文信息熵(左信息熵)和下文信息熵(右信息熵)越大。一般,我們取左右信息熵中的最小值。

    當然我們也可以自行設計一個合理的統計量去度量自由程度。例如,綜合考慮文本片段左右信息熵(LE、RE)的大小、LE 與 RE 差的絕對值 (|LE - RE|)。

    L(W)=log?LE?eRE+RE?eLE∣LE?RE∣L(W)=\log \frac{L E \cdot e^{R E}+R E \cdot e^{L E}}{|L E-R E|} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault">L</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.13889em;">W</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 2.45433em; vertical-align: -0.936em;"></span><span class="mop">lo<span style="margin-right: 0.01389em;">g</span></span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.51833em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord">∣</span><span class="mord mathdefault">L</span><span class="mord mathdefault" style="margin-right: 0.05764em;">E</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">?</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mord mathdefault" style="margin-right: 0.00773em;">R</span><span class="mord mathdefault" style="margin-right: 0.05764em;">E</span><span class="mord">∣</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">L</span><span class="mord mathdefault" style="margin-right: 0.05764em;">E</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">?</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mord"><span class="mord mathdefault">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.841331em;"><span class="" style="top: -3.063em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathdefault mtight" style="margin-right: 0.00773em;">R</span><span class="mord mathdefault mtight" style="margin-right: 0.05764em;">E</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mord mathdefault" style="margin-right: 0.00773em;">R</span><span class="mord mathdefault" style="margin-right: 0.05764em;">E</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">?</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mord"><span class="mord mathdefault">e</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.841331em;"><span class="" style="top: -3.063em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathdefault mtight">L</span><span class="mord mathdefault mtight" style="margin-right: 0.05764em;">E</span></span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></span></p>

    從執行流程上來看,自由程度的閾值計算相當于對上一步凝聚程度所得的詞表進行了一次過濾,從中剔除不滿足自由程度要求的詞語。

    語義完整

    語義完整是我在閱讀《Automated Phrase Mining from Massive Text Corpora》這篇論文時得到的靈感。一個詞語的語義應該是完整的,例如“電影院”。而不應該像“的電影”,語義是欠缺的。

    那么如何去判斷一個文本片段的語義是否完整呢?初步的想法:依據詞性標注,判斷構成文本片段的各子文本片段的詞性,例如“前麥弗遜式獨立懸架”,經過詞性標注后的結果 [('前', 'f'), ('麥弗遜式', 'n'), ('獨立', 'v'), ('懸架', 'n')],構成偏正結構,因此我們可認為具有完整的語義信息。

    再舉個反例,例如“前麥弗遜式獨立懸架驅”,其詞性標注結果 [('前', 'f'), ('麥弗遜式', 'n'), ('獨立', 'ad'), ('懸架', 'v'), ('驅', 'v')],最后一個“驅”字為動詞 v,那么這個詞語不具備完整的語義,因此我們可以認為“前麥弗遜式獨立懸架驅”不應該作為一個詞語。

    然而語義完整很難在實際中進行運用,例如“人艱不拆”,其詞性標注 [('人', 'n'), ('艱', 'a'), ('不', 'd'), ('拆', 'v')],如果按照“前麥弗遜式獨立懸架驅”的判斷標準,那么“人艱不拆”不應該作為一個詞語。因此,語義完整的判斷標準該如何設置,以及在評判標準中的定位都是一個值得商榷的問題。

    缺點:限于查找較短的新詞語,但不便于描述詞語的內部和外部結構特征,同時對于出現頻率很低的新詞識別效果不好。

    文本切分

    文本切分主要有兩種處理方式:合詞與切分。接下來我會詳細地介紹這兩種處理方式的執行過程。

    合詞

    從左到右依次計算相鄰文本片段的凝聚程度,若達到設定的閾值,則將這兩段文本片段整合為一塊新的文本片段,然后繼續去計算該整合后的文本片段與下一段相鄰文本片段的凝聚程度。不斷循環,直到無文本片段。

    【處理過程】:以“巧克力”為例。

  • 首先,計算“巧克”的凝聚程度,若超過閾值,則將其合并;
  • 然后計算“巧克”與“力”的凝聚程度,若超過閾值,則將其合并,得到“巧克力”。
  • 【問題 1】:當兩段相鄰文本片段整合為一塊新的文本片段時,我們該如何去獲取這塊新文本片段的頻數呢?同樣,三段、四段乃至 n 段文本片段整合后,該如何計算這些文本片段的頻數呢?

    【解決方案】:以“巧克力”為例,我們需要統計 2-gram 的頻數,對于較長的詞語,則需要統計 n-gram 的頻數。

    上述解決方案仍然不是一個明智之舉,n-gram 的 n 值越大,需要統計的詞語也越多,對性能的開銷也逐漸增大。此外,如何設置 n 值也是一個值得商榷的問題,一般 n ≤ 5。但這對于一些特殊領域的新詞發現并不能起到良好的效果,例如汽車領域中的“前麥弗遜式獨立懸架”,存在較長的新詞。

    【問題 2】:令合詞操作得到的文本片段為 A,下一段相鄰文本片段為 B。隨著合詞操作的進行,P(A) 和 P(A, B) 一般會越來越小且越來越接近。此時,P(B) 對 PMI(A, B) 起主要影響作用。那么只要文本片段 B 是一些低頻字,PMI(A, B) 的值仍然可以超過設定的閾值,從而將文本片段 A 和 B 整合得到 C,但 C 很有可能不是我們想要的新詞,例如“前麥弗遜式獨立懸架驅”,由于“驅”字在語料中出現的頻率很低,因此極容易將“前麥弗遜式獨立懸架”和“驅”進行整合,得到不期待的結果。

    【解決方案】:使用平均互信息(AMI)作為凝聚程度的計算公式(參考自"新詞發現"算法探討與優化-SmoothNLP)。

    AMI(X,y)=1nlog2p(X,y)p(x1)?p(xn)p(y)AMI(X, y) = \frac{1}{n} log_2 \frac{p(X, y)}{p(x_1) \cdots p(x_n)p(y)} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault">A</span><span class="mord mathdefault" style="margin-right: 0.10903em;">M</span><span class="mord mathdefault" style="margin-right: 0.07847em;">I</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.07847em;">X</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 2.363em; vertical-align: -0.936em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.32144em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">n</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.686em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">o</span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.03588em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord"><span class="mord mathdefault">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="minner">?</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord"><span class="mord mathdefault">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.151392em;"><span class="" style="top: -2.55em; margin-left: 0em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">n</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mclose">)</span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.07847em;">X</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.03588em;">y</span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></span><br> 其中 n 表示文本片段的個數,例如“巧克力”和“的”,其中“巧克力”由三個文本片段組成,因此 n = 4。<br> <span class="katex--display"><span class="katex-display"><span class="katex"><span class="katex-mathml">AMI(巧克力,的)=14log2p(巧克力的)p(巧)p(克)p(力)p(的)AMI(\text{巧克力}, \text{的}) = \frac{1}{4} log_2 \frac{p(\text{巧克力的})}{p(\text{巧})p(\text{克})p(\text{力})p(\text{的})} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault">A</span><span class="mord mathdefault" style="margin-right: 0.10903em;">M</span><span class="mord mathdefault" style="margin-right: 0.07847em;">I</span><span class="mopen">(</span><span class="mord text"><span class="mord cjk_fallback">巧克力</span></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord text"><span class="mord cjk_fallback">的</span></span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 2.363em; vertical-align: -0.936em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.32144em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord">4</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord">1</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.686em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">o</span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.03588em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord text"><span class="mord cjk_fallback">巧</span></span><span class="mclose">)</span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord text"><span class="mord cjk_fallback">克</span></span><span class="mclose">)</span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord text"><span class="mord cjk_fallback">力</span></span><span class="mclose">)</span><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord text"><span class="mord cjk_fallback">的</span></span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">p</span><span class="mopen">(</span><span class="mord text"><span class="mord cjk_fallback">巧克力的</span></span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></span></p>

    實際上

    1n\frac{1}{n}</span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.19011em; vertical-align: -0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.845108em;"><span class="" style="top: -2.655em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathdefault mtight">n</span></span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.394em;"><span class="pstrut" style="height: 3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.345em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span> 可視為對文本片段長度的一個懲罰系數,而這懲罰系數我們可以視情況自行設定。</p>

    切詞

    從左到右依次計算相鄰文本片段的凝聚程度(與合詞不同,每次只計算相鄰兩個文本片段的凝聚程度),若未達到設定的閾值,則將這兩段文本片段進行切分。不斷循環,直到無文本片段。

    【處理過程】:以“巧克力真好吃”為例。

  • 首先,計算“巧克”的凝聚程度,若超過閾值,則繼續計算“克力”的凝聚程度,若仍然超過閾值,則繼續計算下一對文本片段“力真”的凝聚程度;
  • 若“力真”的凝聚程度小于閾值,則進行切分“力|真”,繼續計算下一對文本片段;
  • 最終可得“巧克力|真|好吃”。
  • 合詞、切詞與凝聚程度

    【合詞與切詞的比較】:

    • 合詞需要更多的統計信息,而切詞僅需要 2-gram 的統計信息(計算相鄰兩個文本片段的凝聚程度)即可,因此切詞的執行開銷要遠小于合詞;
    • 合詞的過程中會遇到合詞中提到的問題2,而切詞不會出現該問題;

    切詞的缺陷

    切詞忽略了更多的上下文信息,因為切詞僅考慮相鄰兩個文本片段,例如對于“電影院”,切詞只會計算“電”和“影”、“影”和“院”之間的凝聚程度。我們都知道 P(影) >= P(電影),P(影院) ≈ P(電影院),那么計算得到的凝聚程度,PMI(電影,院) > PMI(影,院)。對于一些三字以上且包含常用字的詞語,通過切詞的方式往往會被“一刀兩斷”。

    “電”、“影”、“院”三位好朋友手拉手,“電”小朋友是一位交際花,她有許多的朋友,而人的精力總是有限的,因此“電”小朋友和“影”小朋友的玩耍時間遠沒有“影”小朋友和“院”小朋友來得多。但我們沒有因為“電”的朋友多且和“影”一起玩耍的時間少,而認為他們倆不是朋友。因此,僅考慮相鄰文本片段的切詞過程計算得到的是“封閉程度”,而非凝聚程度。例如,“饕餮”、“沆瀣”等詞,他們只擁有彼此。

    針對這個問題,蘇劍林大佬提出了改進,在文章《無監督構建詞庫:更快更好的新詞發現算法》中提出了多字的凝聚程度計算方式。以下是文章中的原文:

    文章《【中文分詞系列】 2. 基于切分的新詞發現》其實就是這個意思,只是那里認為,文本的相關性僅由相鄰兩字(2grams)來決定,這在很多時候都是不合理的,比如“林心如”中的“心如”、“共和國”中的“和國”,凝固度(相關性)都不是很強,容易錯切。

    因此,本文就是在前文的基礎上改進,那里只考慮了相鄰字的凝固度,這里同時考慮多字的內部的凝固度(ngrams),比如,定義三字的字符串內部凝固度為:

    min?{P(abc)P(ab)P(c),P(abc)P(a)P(bc)}\min \left\{\frac{P(a b c)}{P(a b) P(c)}, \frac{P(a b c)}{P(a) P(b c)}\right\} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 2.40003em; vertical-align: -0.95003em;"></span><span class="mop">min</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="minner"><span class="mopen delimcenter" style="top: 0em;"><span class="delimsizing size3">{<!-- --></span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">a</span><span class="mord mathdefault">b</span><span class="mclose">)</span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">c</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">a</span><span class="mord mathdefault">b</span><span class="mord mathdefault">c</span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">a</span><span class="mclose">)</span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">b</span><span class="mord mathdefault">c</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">a</span><span class="mord mathdefault">b</span><span class="mord mathdefault">c</span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose delimcenter" style="top: 0em;"><span class="delimsizing size3">}</span></span></span></span></span></span></span></span></p>

    如果按照這一種思路來做的話,切詞方式所帶來的實現與執行上的優勢(不需要獲取更多的統計信息 n-gram)將蕩然無存。蘇劍林大佬之所以選用這種方式,是因為他只采用了凝聚程度和詞頻作為新詞的判斷依據。為什么不加上自由程度呢?因為自由程度的計算時間要遠大于凝聚程度。在上文的自由程度中也提到,自由程度在流程上的主要貢獻在于對凝聚程度所得到的詞表進行過濾,至于需不需要耗費大量的時間去做這一層過濾,則需要視情況而定,這大概也是蘇劍林大佬放棄使用自有程度的原因之一吧。

    并且按照上述方法來做,仍然不能解決兩字詞語存在的切分問題,對于一些頻數較高的字,例如“在”、“利”等,我們在計算其組合(“現在”、“利益”)的凝聚程度時,所得到的凝聚程度往往較低,容易被切分成單字。

    【示例】:以“利率”為例,在所有語料中“利率”出現的次數不會太多,同時“率”的出現次數略高于“利率”,那么在凝聚程度的計算公式中,“利”的出現次數對最終凝聚程度起到關鍵作用。但像“利”這一類高頻字,會使得計算得到的凝聚程度較小,低于設定的閾值,從而使得“利率”這一類的詞被切分。

    那么如何去解決這一類的切分問題呢?

    切分問題的一些方案

    針對上一小節提到的切分問題,我針對目前已有的工作提出了兩個思路:

    • 調整凝聚程度計算公式;
    • 依據自由程度進行擴展。

    調整凝聚程度計算公式

    切分問題的實質在于高頻字對成詞的影響,那么我們適當調低高頻字對成詞的影響,或提高共現頻率在計算公式中的比重。

    【簡單的實現方式】:

    PMI(A,B)=log2αP(AB)β1P(A)?β2P(B)PMI(A, B) = log_2\frac{\alpha P(AB)}{\beta_1 P(A) * \beta_2 P(B)} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mord mathdefault" style="margin-right: 0.10903em;">M</span><span class="mord mathdefault" style="margin-right: 0.07847em;">I</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 2.363em; vertical-align: -0.936em;"></span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">o</span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.03588em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord"><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.05278em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">?</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.05278em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.0037em;">α</span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></span><br> <span class="katex--inline"><span class="katex"><span class="katex-mathml">α\alpha</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.43056em; vertical-align: 0em;"></span><span class="mord mathdefault" style="margin-right: 0.0037em;">α</span></span></span></span></span> 用以提高 A、B 共現頻率的權重,而 <span class="katex--inline"><span class="katex"><span class="katex-mathml">β1\beta_1</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.05278em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span> 和 <span class="katex--inline"><span class="katex"><span class="katex-mathml">β2\beta_2</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.05278em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span> 則可視為對高頻字的懲罰系數。</p>

    如果

    α\alpha</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.43056em; vertical-align: 0em;"></span><span class="mord mathdefault" style="margin-right: 0.0037em;">α</span></span></span></span></span> 和 <span class="katex--inline"><span class="katex"><span class="katex-mathml">β\beta</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span></span></span></span></span> 是一個固定的數值,且 <span class="katex--inline"><span class="katex"><span class="katex-mathml">β1\beta_1</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.05278em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span> = <span class="katex--inline"><span class="katex"><span class="katex-mathml">β2\beta_2</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.05278em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>,相當于在原式上乘上了一個固定的系數 <span class="katex--inline"><span class="katex"><span class="katex-mathml">γ\gamma</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.625em; vertical-align: -0.19444em;"></span><span class="mord mathdefault" style="margin-right: 0.05556em;">γ</span></span></span></span></span>,起到的作用并不大,完全可有通過調整凝聚程度的閾值(除以 <span class="katex--inline"><span class="katex"><span class="katex-mathml">γ\gamma</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.625em; vertical-align: -0.19444em;"></span><span class="mord mathdefault" style="margin-right: 0.05556em;">γ</span></span></span></span></span>)來起到相應的作用。因此,我認為線性地改變原式并不能起到改進作用。但它提供了兩種可行的改進方向:</p>

    • 非線性地增大共現頻率的權重;
    • 非線性地降低高頻字的權重。

    非線性地增大共現頻率的權重

    為了加大共現頻率的權重,我們可以在原式的基礎上再乘上共現頻率:

    PMI(A,B)′=P(A,B)log2P(A,B)P(A)P(B)PMI(A, B)' = P(A, B) log_2 \frac{P(A, B)}{P(A) P(B)} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.05189em; vertical-align: -0.25em;"></span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mord mathdefault" style="margin-right: 0.10903em;">M</span><span class="mord mathdefault" style="margin-right: 0.07847em;">I</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.801892em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 2.363em; vertical-align: -0.936em;"></span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">o</span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.03588em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mclose">)</span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></span></p>

    上式實際上就是互信息的計算公式,此時 P(A)、P(B) 和 P(AB) 都是固定的值,我們可以通過給 P(AB) 加上未知的系數,使其轉變為變量。

    AB=αP(AB)AB = \alpha P(AB) </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.68333em; vertical-align: 0em;"></span><span class="mord mathdefault">A</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault" style="margin-right: 0.0037em;">α</span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span></span></span></span></span></span></p>

    這樣我們就可以將原式視作共現頻率 P(AB) 的一個函數。

    f(AB)=log2αP(A,B)P(A)P(B)f(AB) = log_2 \frac{\alpha P(A, B)}{P(A) P(B)} </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault" style="margin-right: 0.10764em;">f</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 2.363em; vertical-align: -0.936em;"></span><span class="mord mathdefault" style="margin-right: 0.01968em;">l</span><span class="mord mathdefault">o</span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.03588em;">g</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.03588em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.427em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mclose">)</span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.0037em;">α</span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.936em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></span></p>

    最終轉變為:

    PMI(A,B)′=ABf(AB)PMI(A, B)' = AB f(AB) </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.05189em; vertical-align: -0.25em;"></span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span><span class="mord mathdefault" style="margin-right: 0.10903em;">M</span><span class="mord mathdefault" style="margin-right: 0.07847em;">I</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.801892em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord mathdefault">A</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mord mathdefault" style="margin-right: 0.10764em;">f</span><span class="mopen">(</span><span class="mord mathdefault">A</span><span class="mord mathdefault" style="margin-right: 0.05017em;">B</span><span class="mclose">)</span></span></span></span></span></span></p>

    f(AB) 可理解為共現頻率的非線性權重系數,上述式子對實際的計算沒有作用,提供了另一種角度的解釋。

    【互信息計算公式效果】:

    【原式效果】:

    可以看到乘上共現頻率的效果并不如原始的效果,這有兩方面的原因:

  • 乘上共現頻率后的凝聚程度閾值需要相應地調低,但共現頻率的波動較大,如何設置凝聚程度閾值是一個問題;
  • 馬太效應:較大的共現頻率可以得到更高的凝聚程度,而較低的共現頻率則得到更低的凝聚程度,這顯然不是我們想看到的。
  • 此時,我們亦然陷入一個誤區:單純地提高共現頻率對結果不一定能起到正向作用,或者說依靠固定值或共現頻率去提高共現頻率的權重不是一個好辦法。

    單純提高共現頻率的權重,這可能會幫助我們解決“利|益”的切分問題,但同時也會導致“美麗”和“的”組合成“美麗的”。當然,并非說這條路走不通,而是需要借助更多的信息,在共現頻率權重的計算過程中引入其他的統計信息。

    非線性地降低高頻字的權重

    一種簡單的實現方式:比較 P(A) 和 P(B) 的大小,若 P(A) > P(B),那么

    </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.05278em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span> &lt; <span class="katex--inline"><span class="katex"><span class="katex-mathml"></span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.05278em;">β</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.301108em;"><span class="" style="top: -2.55em; margin-left: -0.05278em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">?</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>。目的在于非線性地降低高頻字在式子中的權重。通過這種方式,我們可以適當提高“現在”、“利益”等詞的凝聚程度,但同時也會提高“漂亮的”、“美麗的”這些詞語的凝聚程度。簡單地說,我們不想降低“的”、“了”、“呢”這些高頻字的權重,為了方便后續的說明,特將這些字命名為“停用字”。</p>

    對于這種情況,我們可以按字的頻數取 topK,然后對這些字的頻率加大懲罰。

    下面是從汽車領域的 80w 文章中統計的 top 100 字頻率。取語料中統計得到的 topk 能夠更準確地反映領域的特點,但很顯然“車”、“型”這些字是我們需要的。

    在實際處理過程中,通用領域的“停用字”也往往是特定領域的“停用字”,因此我們直接使用通用領域的“停用字”即可,例如找一份停用詞表,從中將單字抽取出來。

    '嗬', '嗯', '噯', '嘎', '噓', '嘛', '嘻', '嘿', ......
    • 1

    依據自由程度進行擴展

    思路:依據凝聚程度得到的“候選詞”的自由程度來將相鄰的“候選詞”重新進行組合。

    【具體步驟】:

  • 若切分后的文本片段自由程度小于設定閾值,則嘗試將當前文本片段與相鄰文本片段進行組合;
  • 計算組合后的文本片段的自由程度,若自由程度提高則繼續組合相鄰的文本片段;
  • 若連續組合之后的文本片段的自由程度高于設定閾值,則將這段文本片段作為新的詞語,否則出局。
  • 【問題 1】:連續組合相鄰文本片段會導致最終得到一個超長的詞語嗎?

    【回答 1】:不會,當超過某個臨界點時(n = 4),字數越長的文本片段其自由程度越低。因為 n-gram 中的 n 越大,得到的文本的頻數越低,因此其相鄰詞語的數量也越少,信息熵越來越低,低于設定的閾值。

    【注意】:“利”的左信息熵不能作為“利率”的左信息熵,換言之,“利”的左鄰詞語不能作為“利率”的左鄰詞語,必須要“利”和“率”共有的左鄰才能作為“利率”的左鄰詞語。右信息熵同理。

    執行過程

  • 首先將文本拆分為文本片段(字符、英文單詞等);
  • 基于凝聚程度和切詞方式對文本進行切分,獲得一個粗的詞庫,同時也對文本做了一次粗的分詞;
  • 基于自由程度從上一步的到得詞庫中篩選出詞語;
  • 告一段落

    新詞發現還有許多的工作可以去嘗試:

    • 嘗試從文本中挖掘更多的統計量,而非僅僅局限于頻數和頻率;
    • 如何去設計一套無監督的評估指標也是非常有挑戰的工作;
    • 全文主要講述切詞的工作,關于合詞也有不少可探索的工作。

    參考

    • 新詞發現:中文新詞識別技術簡介:https://blog.csdn.net/sinat_33741547/article/details/81704798
    • 互聯網時代的社會語言學:基于 SNS 的文本數據挖掘:http://www.matrix67.com/blog/archives/5044
    • "新詞發現"算法探討與優化-SmoothNLP:https://zhuanlan.zhihu.com/p/80385615
    • 無監督構建詞庫:更快更好的新詞發現算法:https://zhuanlan.zhihu=
    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的新词发现简介的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产成人一级电影 | 91精品婷婷国产综合久久蝌蚪 | 日韩精品一区二区免费 | 国产三级精品三级在线观看 | 欧美亚洲精品在线观看 | 狠狠狠色丁香综合久久天下网 | 亚洲aⅴ免费在线观看 | 黄色片视频在线观看 | 色干综合 | 美女黄视频免费看 | 免费人成网 | 麻豆一区在线观看 | 2023av在线| 欧美专区亚洲专区 | 日本特黄一级片 | 韩国av免费在线观看 | 中文字幕丰满人伦在线 | 69xx视频| 这里只有精彩视频 | 日本视频久久久 | 人人爱人人爽 | 午夜精品福利影院 | 91视频-88av| а中文在线天堂 | 在线成人一区 | 久久99深爱久久99精品 | 日韩免费看 | 亚洲欧美国产精品 | 久久96国产精品久久99漫画 | 亚洲成人午夜av | 亚洲久草网 | 伊人婷婷在线 | 天天综合色网 | 中国一级片在线观看 | 成人av视屏 | 亚洲精品91天天久久人人 | 99国产精品久久久久久久久久 | av黄色免费在线观看 | 久久国产精品99久久久久久老狼 | 性色av免费观看 | 国产999久久久 | 黄色的网站在线 | 国产小视频你懂的 | 日韩一级电影在线观看 | 国产精品久久久久久超碰 | 91精品久久久久久久久 | 亚洲人毛片 | 亚洲精品免费在线观看视频 | 99精品小视频 | 欧美成人h版在线观看 | 91精品一区在线观看 | 成人免费xxxxxx视频 | 亚洲国产日韩一区 | 中文字幕免费高清 | 国产精品久久久久久久久久久久午夜片 | 视频在线一区 | 欧美日韩首页 | 韩国av电影网 | 亚洲成人资源在线观看 | 韩日精品在线 | 欧美日韩另类在线 | 911国产在线观看 | 久久久久久麻豆 | 国产成人一区二区三区电影 | 日韩av电影中文字幕 | 久草视频免费看 | 亚洲三级在线 | 在线视频电影 | 日韩高清毛片 | 日本三级大片 | 成人黄色av网站 | 亚洲精品国偷自产在线99热 | 91成人免费在线视频 | www.色的| 日韩精品欧美专区 | 在线成人短视频 | 99re6热在线精品视频 | 看片的网址| 日韩电影久久久 | 五月综合婷 | av片在线观看 | 久久69av| 91亚洲精品久久久 | 狠狠干天天| 欧美日韩在线免费观看视频 | 久草综合在线观看 | 黄色毛片观看 | 国产一区在线视频播放 | 国产精品久久久久久久久久免费看 | 97综合在线 | 免费在线观看黄网站 | 成人av观看 | 亚洲综合精品在线 | 成人中文字幕在线 | 亚洲一区二区三区四区精品 | 天天干天天天天 | 色爱成人网 | 国产精品视频观看 | 日韩精品你懂的 | 欧美ⅹxxxxxx| 91视频 - v11av| 一区二区av| 天天爱天天射 | 9草在线| 国产精品 国产精品 | 精品国产一区二区在线 | 亚洲天天干| 91传媒在线观看 | 探花视频免费在线观看 | 亚洲人成人天堂h久久 | 精品影院一区二区久久久 | 丰满少妇在线观看网站 | 911香蕉| 久久久久久久av麻豆果冻 | 欧美另类重口 | 午夜10000| 欧美日韩亚洲在线观看 | 成人影视免费 | 成人中心免费视频 | 91亚洲精品国偷拍 | 久久精品播放 | 亚洲一区欧美激情 | 特级黄色一级 | 欧美少妇影院 | 97在线资源 | 国产一区视频免费在线观看 | 日韩高清在线不卡 | 色婷婷在线视频 | 最近更新的中文字幕 | 久久视频在线观看免费 | 狠狠操在线 | 免费色视频网站 | 成人午夜免费福利 | 国产精品高清在线 | 天天操操操操操操 | 首页av在线| 在线免费视频一区 | 国产精品久久久久久久久久妇女 | 午夜美女福利直播 | 久久经典国产视频 | 97色婷婷 | 亚洲综合一区二区精品导航 | 天堂av在线免费观看 | 欧美一级日韩三级 | www.久艹| 亚洲va欧美va人人爽春色影视 | 激情五月婷婷激情 | 黄色特一级片 | 精品久久一区 | 精品一区av | 久久精品一区二区三 | 国产精品久久99综合免费观看尤物 | 成人羞羞视频在线观看免费 | 亚洲激情在线播放 | 最近中文字幕高清字幕免费mv | 国产美女永久免费 | 午夜 久久 tv | 精品视频成人 | 黄色片亚洲 | 国产综合福利在线 | 久久久久久久免费看 | 美女网站色 | 黄污在线看 | 日本三级全黄少妇三2023 | 蜜臀av性久久久久av蜜臀三区 | 在线www色| 日韩久久久久 | 精品中文字幕视频 | 午夜久久福利 | 亚洲精品乱码久久久久久蜜桃不爽 | 成人a视频在线观看 | 超碰97公开 | 97精品一区二区三区 | 韩国一区二区av | 久久精品久久99精品久久 | 五月婷婷在线视频观看 | 麻豆视频免费在线 | 国产色在线观看 | 久久久久久久久久久免费视频 | 免费在线观看av网址 | 色www精品视频在线观看 | 最近日本中文字幕 | 亚洲精品自拍 | 亚洲精品国偷自产在线99热 | 正在播放 国产精品 | 久久玖 | 久久99精品国产麻豆婷婷 | 又粗又长又大又爽又黄少妇毛片 | 欧美a性| 日韩69视频 | 91视频免费视频 | 男女激情免费网站 | 亚洲三级在线播放 | 国产午夜一区二区 | 成人网在线免费视频 | 国模一区二区三区四区 | 992tv在线观看网站 | 亚洲影视资源 | 久久国产午夜精品理论片最新版本 | 亚洲 欧美 另类人妖 | 久热精品国产 | 国产精品美女免费看 | 91你懂的 | 久久影院精品 | 欧美最猛性xxx | 99在线观看视频 | 3d黄动漫免费看 | 久久露脸国产精品 | 久久成年人网站 | 欧美日韩在线视频一区二区 | 久久久久久久久久久久av | 999精品视频| 在线观看视频国产一区 | 欧美成人xxx | 中文网丁香综合网 | av在线看网站 | 久久精品国产亚洲精品 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 综合五月 | 久久综合精品国产一区二区三区 | 久久久久久久久久亚洲精品 | 亚洲精品乱码 | 又黄又爽的免费高潮视频 | 精品国产免费人成在线观看 | 欧美精品色 | 国产精品6| 中文字幕一区二区三区乱码在线 | av日韩在线网站 | 久久69精品 | 欧美性视频网站 | 亚洲第一伊人 | 青青射 | 在线视频 日韩 | 一区二区三区四区在线 | 日日精品 | 日韩天天综合 | 久久亚洲欧美 | 久久国产精品免费一区 | 久久久久国产精品免费 | 日韩在线色| 99热99| 国产一区在线视频 | 国产精品美女免费看 | 久久久久久不卡 | 国产不卡网站 | 欧美人zozo | 夜夜看av | 欧美日韩视频观看 | 四虎影视精品成人 | 91久久爱热色涩涩 | 91av在线视频免费观看 | 日日夜夜干 | 成人在线视频你懂的 | 日本久久电影网 | 一级片免费观看视频 | 在线成人观看 | 色在线网 | 制服丝袜亚洲 | 91精品国产自产91精品 | 国产精品成人一区二区三区吃奶 | 久久五月婷婷综合 | 婷久久 | 国内免费的中文字幕 | 在线激情影院一区 | 欧美人体xx | 日韩久久久久久久 | 亚洲一区二区三区91 | 天天干天天天 | 国产成人在线网站 | 久久综合九色综合97婷婷女人 | 精品九九久久 | 欧美成人在线免费观看 | 成人精品影视 | 久久久国产一区二区三区四区小说 | 91看片网址 | 色综合久久久久久久久五月 | 欧美一区日韩一区 | 美女视频久久久 | 2019中文最近的2019中文在线 | 日本精品一区二区在线观看 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 精品99999 | 久久综合亚洲鲁鲁五月久久 | 成人黄色中文字幕 | 国产免费观看视频 | 99久精品视频 | 精品国产乱子伦一区二区 | 中文字幕乱视频 | 99精品毛片| 麻豆综合网 | 久久狠狠亚洲综合 | 在线国产精品视频 | 免费视频你懂得 | 欧美日韩精品久久久 | 91精品国产99久久久久久红楼 | 国产精品原创在线 | 黄色a在线观看 | 美女视频黄免费的久久 | 欧美一二区在线 | 久久99最新地址 | 三级在线播放视频 | 最新免费av在线 | 国产午夜视频在线观看 | 国产在线视频导航 | 天天爽天天爽天天爽 | 4p变态网欧美系列 | 国产第一福利 | 欧洲av不卡 | wwxxxx日本| 激情文学综合丁香 | 亚洲精品中文字幕视频 | 成人欧美一区二区三区黑人麻豆 | 日韩av中文字幕在线 | 亚洲精品国产精品国自产 | 婷婷色综合网 | 五月天,com | 精品美女在线视频 | 偷拍视频一区 | 精品亚洲免费视频 | 亚洲精品国产精品国自产观看浪潮 | 国产亚洲aⅴaaaaaa毛片 | 国产亚洲精品成人av久久影院 | 午夜视频99 | 日韩欧美在线一区 | 草久视频在线 | 三级午夜片 | 国产在线视频一区二区三区 | 国产美女在线精品免费观看 | 国产成人精品一区二三区 | 国产精品免费久久久久久 | 2021国产在线| 天天操天天操天天操天天操天天操天天操 | 黄色免费网站下载 | 欧美无极色 | 日批网站在线观看 | 黄网站色 | 免费观看黄色12片一级视频 | 九九综合九九综合 | 在线三级av | 美女网站免费福利视频 | 中文字幕免费不卡视频 | 久久国产精品久久久久 | www.天天成人国产电影 | 成人免费91| 国产第页 | 亚洲第一久久久 | 91亚洲在线观看 | 中文字幕在线视频一区二区 | 国产精品久久久久永久免费看 | 日韩欧美一区二区三区黑寡妇 | 在线香蕉视频 | 日本护士三级少妇三级999 | 久久久久网站 | 五月天激情综合网 | 中文av网站| 黄色在线观看污 | 久久夜色精品国产欧美一区麻豆 | 欧美一区二区日韩一区二区 | 久久免费视频3 | 国产高清在线a视频大全 | 欧美一区视频 | 免费在线播放黄色 | 国产中文在线字幕 | 天天干天天操天天 | x99av成人免费 | 四虎成人精品永久免费av | 成年人视频免费在线 | 天天躁日日躁狠狠躁av中文 | 国产主播大尺度精品福利免费 | 日日夜夜网站 | 免费裸体视频网 | 亚洲黄色区 | 国产区网址| 亚洲午夜久久久综合37日本 | 色多多视频在线 | 亚洲人精品午夜 | 狠狠综合久久 | 精品亚洲免费视频 | 中文字幕精品三级久久久 | 中文字幕人成乱码在线观看 | 免费男女羞羞的视频网站中文字幕 | 黄色美女免费网站 | 97视频在线观看视频免费视频 | 手机在线看永久av片免费 | 久久国产精品久久精品 | 免费观看成人 | 欧美了一区在线观看 | 激情丁香 | 99精品免费在线 | 久久理伦片 | 日韩中文字幕免费 | 中文字幕在线视频一区二区 | 亚洲精品乱码久久久久久蜜桃不爽 | 免费观看成人av | 色综合天天综合在线视频 | 久久久免费看视频 | 亚洲国产精品一区二区久久,亚洲午夜 | 精品视频在线免费 | 色老板在线视频 | 日本少妇高清做爰视频 | 中文国产在线观看 | 国产精品激情偷乱一区二区∴ | 在线亚洲高清视频 | 天天操夜夜想 | 亚洲精品在线播放视频 | 91色在线观看 | 色婷婷一区| 欧美日韩视频在线一区 | 999成人网| 最近中文字幕高清字幕免费mv | 成人国产精品av | 欧美不卡视频在线 | 黄色在线观看免费 | 五月天亚洲激情 | www久| 国产精品久久久久久影院 | 久久久久久久网 | 成人久久18免费网站 | 91精品国产一区 | 在线观看一区二区精品 | 国产精品欧美 | 2019久久精品| 在线免费亚洲 | 国产日韩在线看 | 亚洲欧美日韩国产一区二区 | 久爱综合| 国产高清在线不卡 | 天天爽天天碰狠狠添 | 美女在线观看av | 免费av电影网站 | 天堂av在线7 | 午夜久久久精品 | 精品黄色在线观看 | 天天操天天干天天操天天干 | 中文字幕在线看视频 | 看国产黄色片 | 99tvdz@gmail.com| 98福利在线| 亚洲精品玖玖玖av在线看 | 黄色av一区 | 开心丁香婷婷深爱五月 | 日韩精品欧美视频 | 午夜a区 | 国产中文字幕亚洲 | 久章草在线观看 | 黄色福利视频网站 | 深爱激情五月婷婷 | 国产精品久久久久久久久久99 | 国产精品自产拍在线观看 | 日本性xxx | 蜜桃视频在线观看一区 | 国产97免费 | 国产精品在线看 | 免费在线成人av电影 | 久久综合成人网 | 成人黄色电影在线播放 | 午夜精品一区二区三区可下载 | 久久综合久久八八 | 精久久久久| 国产美女精品人人做人人爽 | 色资源在线观看 | 国产亚洲精品精品精品 | 在线最新av| 国产女人免费看a级丨片 | 成人黄色大片在线免费观看 | 永久精品视频 | zzijzzij亚洲日本少妇熟睡 | 国产精品mv在线观看 | 日韩在线观看视频中文字幕 | 插婷婷| 国产一级免费播放 | 伊人色综合久久天天网 | 国产精品乱看 | 国产69精品久久99的直播节目 | 国产精品成人自产拍在线观看 | 婷婷网五月天 | 一级黄色毛片 | 久久久久久久毛片 | 国产成人一区二区三区免费看 | 免费成人黄色片 | 久久国产精品99久久久久久进口 | 五月婷婷中文网 | 伊人影院在线观看 | 国产九九九视频 | 国产亚洲精品电影 | 中文字幕亚洲在线观看 | 日韩高清在线观看 | 中文字幕大全 | 国产成人久久av免费高清密臂 | www.久久免费| 亚洲精品国偷拍自产在线观看蜜桃 | 成人在线视频你懂的 | 欧美性生活小视频 | 亚洲,播放| 国产精品成人久久久久久久 | 日日干干夜夜 | 久久五月婷婷丁香社区 | 久久久久激情电影 | 色婷婷九月 | 亚洲在线视频免费观看 | 97在线看片 | 亚洲精品视频第一页 | 五月婷在线观看 | 日日夜夜狠狠干 | 国产成人精品免高潮在线观看 | 欧美a免费 | 日韩一级理论片 | 蜜桃视频成人在线观看 | 99精品免费久久久久久久久日本 | 成人毛片网 | 中文字幕传媒 | 国色综合 | 97碰在线 | 国产亚洲精品久久久久久无几年桃 | 夜夜视频 | 人人爱爱 | 国产精品综合av一区二区国产馆 | 五月婷婷久草 | 粉嫩高清一区二区三区 | 免费网站v | 久久久这里有精品 | 粉嫩av一区二区三区四区在线观看 | 麻豆传媒视频在线播放 | a视频免费| 手机看片国产日韩 | 日批在线观看 | 97涩涩视频 | 国产又粗又猛又爽 | 五月黄色 | 一区二区三区四区五区在线 | 久久久av电影 | 日本精品中文字幕 | 96久久欧美麻豆网站 | 欧美最猛性xxxxx(亚洲精品) | 蜜臀av免费一区二区三区 | 日韩在线观看视频免费 | 中文字幕丝袜美腿 | 成人影片免费 | 久久99精品波多结衣一区 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲精品久久久久中文字幕m男 | 黄色成人在线网站 | 丝袜美女视频网站 | 欧美日韩国产综合网 | 国产日韩欧美视频在线观看 | 999久久久久久久久久久 | 在线电影日韩 | 伊人一级 | 9999在线观看 | 日韩精品中文字幕在线不卡尤物 | 99婷婷狠狠成为人免费视频 | 亚洲天堂va | 国产精品白丝av | 久久超碰网 | 天堂av在线中文在线 | avav片| 一区二区三区四区不卡 | 欧美91精品久久久久国产性生爱 | 狠狠狠色丁香综合久久天下网 | 久久精品欧美一区 | 日批视频在线播放 | 久久电影网站中文字幕 | 国产精品久久久久影视 | 麻豆传媒在线免费看 | 97爱| 欧美一二区视频 | 久久免费av | 欧洲亚洲激情 | 久久久久久国产精品 | 亚洲欧美色婷婷 | 久草在线观 | 欧洲av不卡 | 国产色网 | 免费涩涩网站 | av成人免费观看 | 亚洲久草网 | 在线观看麻豆av | 伊人夜夜 | 国产中文字幕在线播放 | 人人爽人人做 | 亚洲成人高清在线 | 日韩中文字幕亚洲一区二区va在线 | 欧美久久综合 | 免费看成人片 | 人人澡人 | 国产成人三级在线播放 | 国产午夜精品一区二区三区 | 亚洲少妇激情 | 国产精品黑丝在线观看 | 成人av电影免费观看 | 在线观看免费 | 91在线视频免费 | 免费观看一级特黄欧美大片 | 51久久夜色精品国产麻豆 | 中文字幕在线观看一区二区三区 | 片黄色毛片黄色毛片 | 99精品视频观看 | 最近中文字幕大全中文字幕免费 | 成人福利在线播放 | 欧美有色| 在线 国产一区 | 久久99国产一区二区三区 | 久久久久亚洲精品男人的天堂 | 国产亚洲精品久 | 中文字幕免费看 | 99中文字幕在线观看 | 蜜桃视频成人在线观看 | 精品夜夜嗨av一区二区三区 | 亚洲国产成人在线 | 久久久国产精品亚洲一区 | 国产一级视频在线观看 | 日韩在线无| 一区二区三区四区免费视频 | 久草视频精品 | 国产精品视频永久免费播放 | 999久久久久久久久久久 | 99久久99久久免费精品蜜臀 | 国产精品不卡视频 | 一区中文字幕电影 | 99精品国产一区二区三区不卡 | 911国产在线观看 | 国偷自产视频一区二区久 | 久久国产精品精品国产色婷婷 | 69国产精品成人在线播放 | 99久久夜色精品国产亚洲 | 黄色视屏免费在线观看 | 免费色视频网站 | 亚洲自拍偷拍色图 | 丁香婷婷激情国产高清秒播 | 91在线超碰 | 国产精品96久久久久久吹潮 | 人人澡人 | 亚洲一区二区精品3399 | av丝袜美腿 | 国产精品久久久免费 | 国产高清免费在线播放 | 欧美日韩国产精品一区二区亚洲 | 久久尤物电影视频在线观看 | 国产精品电影在线 | 999热线在线观看 | 男女精品久久 | 四虎在线影视 | 精品欧美乱码久久久久久 | 中文字幕一区二区在线观看 | 精品成人国产 | 香蕉影院在线播放 | 国产高清专区 | 97综合视频 | 亚洲国产mv | 国产破处精品 | 天堂在线一区二区 | 免费99精品国产自在在线 | 亚洲2019精品 | 在线观看黄色av | 日韩av一卡二卡三卡 | 国产精品黑丝在线观看 | 九九热免费视频在线观看 | 国产韩国日本高清视频 | 久久视频在线看 | 亚洲精品国产精品国自产在线 | 日韩av在线高清 | 美女黄濒 | 国内精品久久久久久久久 | 久久96| 丁香五月缴情综合网 | 人人插人人玩 | 99tvdz@gmail.com| 久久免费毛片 | 中文字幕av最新更新 | av在线免费观看黄 | 人人爽人人搞 | 亚洲成人精品影院 | 亚洲情感电影大片 | 久久久久女教师免费一区 | 99国产一区二区三精品乱码 | 国产精品欧美日韩在线观看 | 91精品区 | 欧美成年性 | 黄色成年| 国产一区视频在线观看免费 | 国产精品久久一 | 国产精品入口传媒 | 国产不卡在线观看视频 | 国产中文欧美日韩在线 | 精品免费观看 | www国产在线 | 九色琪琪久久综合网天天 | 五月婷婷播播 | 久久综合久久综合久久综合 | 亚洲国产免费av | 中文字幕一区二区三区在线观看 | 黄色天堂在线观看 | 久久免费精彩视频 | 亚洲一片黄 | 色播激情五月 | 黄色一级大片在线免费看产 | 午夜私人影院 | 韩国一区在线 | 日韩成人精品一区二区 | 久久与婷婷 | 中文字幕在线播放一区二区 | 极品嫩模被强到高潮呻吟91 | 亚洲激情在线播放 | 在线观看色网站 | 久久人人爽av | 国产专区在线视频 | 四虎成人精品永久免费av九九 | 成人精品一区二区三区中文字幕 | 欧美伦理电影一区二区 | 在线免费观看国产精品 | 亚洲午夜精品电影 | 欧美日韩精品在线一区二区 | 成年人在线观看视频免费 | 91欧美视频网站 | 在线视频 区| 国内精品久久久久久久久久清纯 | 337p日本欧洲亚洲大胆裸体艺术 | 91在线看黄 | 97视频入口免费观看 | 天天操天天操天天操天天操天天操天天操 | 欧美成人高清 | 亚洲精品综合一区二区 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 久久看看 | 欧洲一区精品 | 国产日韩欧美在线观看 | 国产综合香蕉五月婷在线 | 亚洲国产欧美在线人成大黄瓜 | 手机在线永久免费观看av片 | 麻豆久久一区二区 | 69视频永久免费观看 | 中文字幕在线观看亚洲 | 一区二区三区四区五区在线视频 | 久久一区二区三区超碰国产精品 | 欧美 亚洲 另类 激情 另类 | 亚洲精品91天天久久人人 | 去看片| 亚洲综合在线观看视频 | 91亚色视频在线观看 | 日韩最新在线视频 | 在线观看日韩免费视频 | 91日韩精品一区 | 久久国产影视 | 一级黄色片在线播放 | 久久久高清视频 | 91在线看网站| a在线免费观看视频 | 婷婷开心久久网 | 久久人人爽人人爽 | 国产精品久久久久久久久久久久 | 2018亚洲男人天堂 | 91视频3p| 欧美激情第一区 | 9ⅰ精品久久久久久久久中文字幕 | 色综合激情久久 | 午夜国产一区二区三区四区 | 日韩激情视频在线观看 | 国产精品资源在线观看 | 97在线看| 日韩av免费一区 | 精品资源在线 | 精品久久久久久亚洲 | 999久久 | 在线观看亚洲免费视频 | 最新av网址在线 | 国产黄色av网站 | 伊人狠狠| 久草在线观看视频免费 | 日韩精品一区二区三区免费观看 | 成人一区影院 | 中文字幕 第二区 | 久青草影院 | www.成人sex| 色综合久久66 | 女人18毛片a级毛片一区二区 | 亚洲永久精品视频 | 日韩午夜精品 | 日韩1级片| 日韩三级av | 亚洲精品久久久久久国 | 日韩性网站 | 久久成人麻豆午夜电影 | 国产中文a | 成人在线免费小视频 | 激情五月播播久久久精品 | a黄色一级 | 亚洲一区二区三区在线看 | 久久不射电影网 | 成年人视频免费在线播放 | 五月天激情综合网 | 欧美日韩精品在线一区二区 | 999久久久久久久久久久 | 黄色小说网站在线 | 久久一区二区免费视频 | 久久九九久久 | 久久久久成人精品 | 91免费视频网站在线观看 | 亚洲视频播放 | 四虎天堂| 欧美激情精品久久久久久变态 | 国产精品自产拍在线观看蜜 | 九九九视频精品 | 97精品超碰一区二区三区 | 91精品久久久久久久久久久久久 | 99热官网| 久草网首页 | 成人免费视频视频在线观看 免费 | 91精品国产麻豆 | 中文字幕精品视频 | 久久久av电影 | 国产中文字幕三区 | 又黄又刺激视频 | 亚洲在线免费视频 | 中文国产字幕在线观看 | 国产你懂的在线 | 欧美在线你懂的 | 国产精品第一页在线 | 一区二区不卡在线观看 | 婷婷激情av | 国产精品久久久久毛片大屁完整版 | 久草视频在线免费 | 国产日韩欧美视频 | 在线观看免费黄色 | 日韩免费区 | 亚洲精品欧美视频 | 亚州国产精品久久久 | www夜夜操 | 免费看片黄色 | 在线观看av不卡 | 狠狠躁18三区二区一区ai明星 | 国产精品免费看 | 特片网久久 | 99久久久国产精品美女 | 狠狠干成人 | 91看片看淫黄大片 | 九色激情网 | 夜夜骑天天操 | 丝袜网站在线观看 | 青青草在久久免费久久免费 | 狠狠色噜噜狠狠狠合久 | 99在线观看免费视频精品观看 | 中文字幕人成乱码在线观看 | 97人人爽人人 | 狠狠干 狠狠操 | 超碰人人草人人 | 久久久久在线视频 | 久久五月天色综合 | 精品女同一区二区三区在线观看 | 国产视频在线观看一区二区 | 91色欧美 | 日韩精品免费一区二区 | 国产精品黑丝在线观看 | 偷拍福利视频一区二区三区 | 免费成人av| 免费日韩一区二区三区 | 国产中文字幕视频在线 | 中文字幕在线视频国产 | 免费久草视频 | 欧洲精品码一区二区三区免费看 | 国产免费三级在线观看 | 福利一区在线 | 中文字幕在线免费 | 亚洲精品视频网站在线观看 | 久久 亚洲视频 | 91精品免费看 | 日本精品一区二区 | 国产精品美女久久久免费 | 麻豆国产精品va在线观看不卡 | 天天综合网在线 | 国产精品一区二区三区99 | 久草视频免费在线观看 | 欧美一区,二区 | 青草草在线 | 精品久久电影 | 草久久av | 欧美精品在线观看一区 | 久久精品中文字幕少妇 | 99欧美 | 91成人在线视频 | 国内精品久久久久久久久久清纯 | 日本性久久 | 久久高清免费视频 | 婷婷丁香五 | 国产在线播放一区 | 成人免费xxxxxx视频 | 亚洲日本va中文字幕 | 亚洲欧洲国产视频 | 超碰在线人人爱 | 亚洲波多野结衣 | 日韩精品亚洲专区在线观看 | 亚洲精品久久久蜜臀下载官网 | 久久在线视频精品 | 日本特黄特色aaa大片免费 | 亚洲区另类春色综合小说校园片 | 久久精品三 | 国产只有精品 | 国产乱老熟视频网88av | 99色婷婷| 九九热在线精品视频 | 中国精品少妇 | 国产精品久久久久久久久久久久午 | 欧美一级网站 | 亚洲综合在线观看视频 | 亚洲乱码精品 | 欧美激情视频一区 | 99精品视频精品精品视频 | 91热这里只有精品 | 久久九九久久精品 | 99视频国产在线 | 在线观看黄av | 久久专区| 中文字幕日韩高清 | 欧美日韩在线精品一区二区 | 成人视屏免费看 | 国产成人精品国内自产拍免费看 | 久久国产精品免费视频 | www国产亚洲 | 国产麻豆视频免费观看 | 麻豆视频在线观看 | 久久精品高清 | 国产成人一区二区三区在线观看 | 色噜噜在线观看视频 | 免费观看一级特黄欧美大片 | 国产又粗又猛又黄视频 | 亚洲精品ww | 中文在线免费看视频 | 伊人天天狠天天添日日拍 | 伊人中文字幕在线 | 亚洲免费av一区二区 | 久艹视频在线观看 | 国产在线观看h | 亚洲一级黄色片 | 亚洲永久精品国产 | 97理论电影 | 国产黄色精品网站 | 久久精品国产一区二区 | 国产高清在线精品 | 综合国产在线 | 久久久免费高清视频 | 在线观看国产亚洲 | 亚洲 av网站 | 日韩中文在线播放 | www.综合网.com | 欧美aaa级片 | av黄色免费网站 | 五月婷婷色播 | 中文字幕久久精品一区 | 成片人卡1卡2卡3手机免费看 | 欧美日韩中文国产一区发布 | 成人免费观看a | 欧美日韩一区二区三区免费视频 | 91成人观看 | 麻豆国产精品永久免费视频 | 成人动漫精品一区二区 | 伊人色**天天综合婷婷 | 日韩av中文字幕在线免费观看 | 97网| 久草爱 | 五月婷婷开心中文字幕 | 992tv又爽又黄的免费视频 | 久久精彩视频 | 99这里都是精品 | 免费麻豆网站 | 免费看亚洲毛片 | 婷婷av网| 亚洲1级片| 日韩精品免费在线视频 | 韩国在线一区二区 | 99国产精品久久久久老师 | 国产视频日韩 | 日韩在线网址 | 久久国产精品一国产精品 | 91人人揉日日捏人人看 | 亚洲精品久久久蜜桃直播 | 欧美少妇xxx | 96视频免费在线观看 | 国产原厂视频在线观看 | 国产精品久久久久久久久岛 | 久久伦理 | 中文字幕日韩免费视频 | 亚洲 欧美 国产 va在线影院 | 国产精品美女久久久久久久久久久 | 成人黄色电影在线播放 | 国产精品久久99综合免费观看尤物 | 6080yy精品一区二区三区 | 国产在线日本 | 麻豆国产精品一区二区三区 | 色综合天天综合网国产成人网 | 国产在线不卡视频 | 制服丝袜天堂 | 中文字幕一区二区三 | 久久在线一区 | 中文字幕在线日本 | 国产成本人视频在线观看 | 国产99久久久久 | 2019天天干夜夜操 | 日精品 | 国产精品18久久久久久不卡孕妇 |