主頁 >  其他 > 2020 泰迪杯 C 題

2020 泰迪杯 C 題

2021-05-06 09:39:05 其他


2020 泰迪杯 C 題,含資料代碼

  • 思路
  • 第一問
    • 資料預處理
      • 二元語法
      • 詞袋模型
  • 分類模型
    • 機器學習方法
    • 多層感知器
    • 模型
    • 結果
  • 第二問
    • 資料預處理
      • 分詞
      • 停用詞過濾
      • 詞袋模型
      • PCA 降維
    • 熱度挖掘
      • 話題——聚類
    • 熱點描述
  • 第三問
    • 答復相關性
      • 詞向量
      • 相似度計算
    • 答復完整性(代碼沒有實作)
  • 代碼和資料

回傳目錄

思路

具體思路請見:https://blog.csdn.net/weixin_42141390/article/details/106069244

回傳目錄

第一問

資料預處理

首先打開附件 2:
在這里插入圖片描述
然后以留言詳情為輸入資料,以一級標簽為輸出標簽,于是問題轉換為一個文本分類的問題,因此,我們需要將非結構型文本資料轉換為結構型文本資料(表格);將文本標簽(一級標簽)轉換為自然數,以表示類別,如下所示:
在這里插入圖片描述

回傳目錄

二元語法

對于輸入文本,首先用二元語法對文本進行拆分,如下所示:
在這里插入圖片描述
回傳目錄

詞袋模型

進行二元語法拆分后,我們需要進行特征提取,將上述文本結構轉換為結構化資料,我們將上述所有的資料的取值作為表頭,每一條資料,在某一列的取值為,其對應的二元字符,出現的頻次

如第 0 條資料,列 “3區” 的取值 1;列“尊敬” 的取值為 0,不過,在實際編程上,可定不能直接用一個表格表示,因為轉換后的資料必然是極其稀疏的稀疏表格,并且,直接用中文字符來作為列名,也十分浪費存盤空間,本人曾經試過,若轉換為稀疏表格,則將占用 40 GB… 而我的小電腦才 8 GB 記憶體呀…

于是這里用稀疏矩陣的方式來存盤,比如將第一行存盤為:

[(0, 1),
 (1, 1),
 (2, 1),
 (3, 1),
...
 (90, 1),
 (91, 1),
 (92, 1)]

第二行存盤為:

[(7, 1),
(26, 1),
(73, 1),
(77, 1),
(93, 1),
...
(163, 1),
(164, 1),
(165, 1)]

轉換為稀疏矩陣后,由于輸入特征的數量很多,容易造成維度災難,所以需要采用一些過濾方法,這里采用卡方檢測法:卡方檢測法用于檢測兩個分布是否獨立,我們可以遍歷每一個輸入特征,與標簽做卡方檢測,若證明獨立,則可以排除掉當前特征,

這里設定卡方檢測的顯著水平為 0.001,原假設為當前輸入特征與標簽是獨立的,可得,那些保留下來的特征共 30291 個,

最后的出來的資料集為,一個 9210X30291 的稀疏矩陣:
在這里插入圖片描述

回傳目錄

分類模型

機器學習方法

根據“沒有免費午餐定律”,我們首先從如下模型中篩選最佳模型:

演算法邏輯回歸k近鄰演算法樸素貝葉斯分類器支持向量機分類決策樹隨機森林AdaBoost
符號lgknnnbsvcdtcrfada

但在此之前,先結合交叉驗證,網格尋優尋找最合適引數,引數網格和篩選結果如下:(其中隨機森林的基函式為最大深度為 5 的決策樹; AdaBoost 的基模型為邏輯回歸模型)
在這里插入圖片描述
然后,在根據 5 折交叉驗證,計算最合適引數下,各模型的 F1 如下:
在這里插入圖片描述
從各模型的 F1 的均值可以剔除決策樹、隨機森林和 kNN,剩下的模型差別均不大,但是,人們不能貿然地認為這些模型在效果上是 等 價的,因此,為了判斷這些模型是否等價,還需要采用 T 檢驗的方法,我們對上述保留下來的模型進行兩兩 T 檢驗:(原假設為均值相等)
在這里插入圖片描述
可見,這些模型都是等價的,但由于 AdaBoost 耗費資源最多,訓練時長過長,運行時間過長,不建議選用,

個人覺得,除了 AdaBoost 之外,其他模型的性能如下表:

模型占用空間訓練時長運行時間
lg*******
svc*****
nb******

* 越多越好

分別訓練三個模型,并將資料集按 7:3 拆分為訓練集、測驗集,測出模型在訓練集、測驗集中的 F1 值如下所示:
在這里插入圖片描述

回傳目錄

多層感知器

模型

因為我們將分類標簽視為 0/1/2 等自然數,所以這里可將分類問題看成一個回歸問題,(這也是一種解題思路吧,其實就是本人太懶了…)

當然,如果你想要按分類問題來做,那么利用深度學習的方法的話,你就必須進行 one-hot 編碼了!

設定網路的拓撲結構如下:
在這里插入圖片描述
訓練演算法為:Adam; 評價指標為:均方誤差(MSE);損失函式也是均方誤差,同時,對每一層隱藏層加上一個 dropout 率為 0.1 的 Dropout 正則化,

回傳目錄

結果

第二問

資料預處理

要從每一個群眾的留言中,收集某一時間段內群眾集中反映的問題,顯然屬于一個文本聚類的問題,如果將群眾相似的留言聚成一簇,即可將簇視為某個集中問題,根據該簇包含的留言條數、支持和反對的總數,并考慮其熱度隨時間的衰減,即可估計該問題的熱度,

為了提取出聚類簇中留言的問題描述,以及地點和人群,這里考慮使用關鍵陳述句提取演算法,從而自動生成關鍵句,再從關鍵句中人工提取出地點和人群,籍此就可以降低直接從留言詳情中,人工提取問題概述的作業量,

回傳目錄

分詞

首先,我們用一個條件隨機場來分詞,當然,條件隨機場是一個序列標注模型,屬于機器學習的一部分,為了訓練一個條件隨機場的分詞模型,我們用了開源的分詞資料集 MSR,最后訓練出以條件隨機場分詞模型,

以附件 3 的第一條為例,用條件隨機場分詞結果如下:

[座落, 在, A市, A, 3區聯豐路米蘭春天G2棟320, ,, 一家, 名, 叫, 一米, 陽光, 婚紗, 藝術, 攝影, 的, 影樓, ,, 據說, 年單, 這, 一個, 作業, 室, 營業額, 就, 上百萬, ,, 因為, 地處, 居民, 樓, 內部, ,, 而且, 有, 蠻長, 的, 時間, 了, ,, 請, 稅務局, 和, 工商局, 查, 一下, ,, 看看, 這個, 一米, 陽光, 有沒有, 正常, 納稅, !, 如果, 沒有, ,, 應該, 會, 怎么, 操作, !]

回傳目錄

停用詞過濾

采用雙向匹配法,運用 hanlp 自帶的停用詞字典,過濾掉那些沒有意義的詞和符號:


['座落', 'A市', 'A', '3區聯豐路米蘭春天G2棟320', '一家', '一米', '陽光', '婚紗', '藝術', '攝影', '影樓', '據說', '年單', '作業', '室', '營業額', '上百萬', '地處', '居民', '樓', '內部', '蠻長', '時間', '請', '稅務局', '工商局', '查', '看看', '一米', '陽光', '有沒有', '正常', '納稅', '沒有', '應該', '會', '操作']

回傳目錄

詞袋模型

和第一問一樣,我們依舊是用詞的頻次作為每一個特征的取值,以第一條為例,其值為:

{0: 1,
 1: 1,
 2: 1,
...
 32: 1,
 33: 1,
 34: 2}

第二條其值為:

{1: 3,
 2: 1,
 6: 1,
 15: 1,
 26: 1,
...
 76: 1,
 77: 2,
 78: 2}

詞袋模型有很多,除了單純地使用頻次外,還有使用 TF-IDF 的,但是使用 TF-IDF,會破壞資料的稀疏性,從而導致無法處理,所以這里只能采用頻次,但沒關系,能夠用就可以,

回傳目錄

PCA 降維

資料的特征個數,經過分詞、停用詞過濾、詞袋模型之后,共有 42754 個,我們將其降低至 1000 個,同時計算其貢獻和累計貢獻,圖如下:

在這里插入圖片描述

在這里插入圖片描述

回傳目錄

熱度挖掘

本文定義:話題熱度 = 話題留言數 + 點贊數 - 0.5 反對數;且熱度隨著時間的延遲而呈現指數下降,

話題——聚類

什么是話題?每條留言的背后都是一個話題,于是,肯定有些留言的話題是相似的,相同的,為了找出話題,我們可以采用聚類的方法,

注意:聚類并不能找出語意的相似,而是找出“表面”的相似,比如:
我是慢熱的人他是慢熱的人 可能屬于一類,但 我是慢熱的人我是內向的人 卻不是同一類,即使后者語意更加相近,反應的更近似于同一個主題,
但是,為了讓大家學習,我們這里采用聚類,在第三問,還有求相似度的,到了那里,我們再用其他方法好不?
其實這里主要是為了讓大家學習啦,不然我第一問就用分詞的方法了,何必再重復呢?希望大家能學到更多的東西,如果覺得這篇文章對你們有所幫助,請點贊咯~

如何聚類呢?這里采用 DBSCAN,

聚類結果如下:

{-1: 3629, 0: 3, 1: 2, 2: 227, 3: 2, 4: 3, 5: 2, 6: 2, 7: 2, 8: 2, 9: 2, 10: 3, 11: 2, 12: 2, 13: 2, 14: 2, 15: 3, 16: 4, 17: 2, 18: 2, 19: 2, 20: 2, 21: 2, 22: 2, 23: 3, 24: 3, 25: 3, 26: 3, 27: 2, 28: 2, 29: 2, 30: 2, 31: 2, 32: 2, 33: 2, 34: 2, 35: 3, 36: 2, 37: 2, 38: 2, 39: 2, 40: 2, 41: 4, 42: 2, 43: 3, 44: 3, 45: 2, 46: 3, 47: 5, 48: 3, 49: 3, 50: 2, 51: 2, 52: 2, 53: 2, 54: 2, 55: 2, 56: 3, 57: 3, 58: 3, 59: 2, 60: 4, 61: 2, 62: 2, 63: 2, 64: 2, 65: 2, 66: 2, 67: 2, 68: 3, 69: 4, 70: 2, 71: 2, 72: 2, 73: 2, 74: 2, 75: 2, 76: 2, 77: 3, 78: 4, 79: 2, 80: 2, 81: 2, 82: 2, 83: 2, 84: 3, 85: 2, 86: 2, 87: 2, 88: 2, 89: 2, 90: 2, 91: 2, 92: 3, 93: 2, 94: 2, 95: 2, 96: 2, 97: 2, 98: 2, 99: 2, 100: 2, 101: 2, 102: 2, 103: 2, 104: 2, 105: 2, 106: 2, 107: 2, 108: 2, 109: 3, 110: 2, 111: 2, 112: 2, 113: 2, 114: 2, 115: 2, 116: 2, 117: 2, 118: 2, 119: 2, 120: 2, 121: 2, 122: 2, 123: 2, 124: 2, 125: 2, 126: 2, 127: 2, 128: 2, 129: 3, 130: 2, 131: 2, 132: 2, 133: 2, 134: 2, 135: 2, 136: 2, 137: 2, 138: 2, 139: 2, 140: 2, 141: 4, 142: 2, 143: 2, 144: 2, 145: 2, 146: 2, 147: 2, 148: 3, 149: 3, 150: 2, 151: 3, 152: 2, 153: 2, 154: 2, 155: 2, 156: 2, 157: 2, 158: 2, 159: 2, 160: 5, 161: 2, 162: 2, 163: 2, 164: 2, 165: 2, 166: 3, 167: 2, 168: 2, 169: 2, 170: 3, 171: 2, 172: 2, 173: 2, 174: 2, 175: 2, 176: 2, 177: 2, 178: 2, 179: 2, 180: 2, 181: 2, 182: 2, 183: 2, 184: 3, 185: 2, 186: 2, 187: 2, 188: 2, 189: 2, 190: 2, 191: 2, 192: 2, 193: 2, 194: 2, 195: 2, 196: 2, 197: 2, 198: 2, 199: 2, 200: 2, 201: 2, 202: 3, 203: 4, 204: 2, 205: 2, 206: 2, 207: 2, 208: 2, 209: 2, 210: 2}

其中 -1 為游離個體,

我們把一個簇叫做一個話題,我們得出每一個話題的熱點計算公式如下:

{ y i = 10 + Y ? 0.5 N + Δ y i y i > 0 0 y i ≤ 0 \left\{\begin{array}{ll} y_{i}=10+Y-0.5 N+\Delta y_{i} & y_{i}>0 \\ 0 & y_{i} \leq 0 \end{array}\right. {yi?=10+Y?0.5N+Δyi?0?yi?>0yi?0?
Δ y i \Delta y_i Δyi? 為時間衰退,按一般觀點,熱度的衰退應該是呈現指數型的,所以我們將 Δ y i \Delta y_i Δyi? 定義為如下格式:
? Δ y = a exp ? ( b Δ t ) ? c -\Delta y=a \exp (b \Delta t)-c ?Δy=aexp(bΔt)?c
那么定義上述的引數呢?觀察資料可以發現,最近的留言時間為 T=2020-1-26 19:47:11;最遠的留言時間為:2017-6-8 17:31:20,時間間隔為 962 天,

挖掘所有課題,發現 10 + Y ? 0.5 N 10 + Y - 0.5N 10+Y?0.5N 取值最大為 2107,因此,我們定義:經過 962 天后,熱度應下降 2107,經過 962 / 2 962/2 962/2 天后,關注度下降 2107 / 16 2107/16 2107/16,據此可列出方程為:
{ a exp ? ( 0 ) ? c = 0 a exp ? ( 962 2 b ) ? c = 2107 / 16 a exp ? ( 962 b ) ? c = 2107 \left\{\begin{array}{l} a \exp (0)-c=0 \\ a \exp \left(\frac{962}{2} b\right)-c=2107 / 16 \\ a \exp (962 b)-c=2107 \end{array}\right. ????aexp(0)?c=0aexp(2962?b)?c=2107/16aexp(962b)?c=2107?
于是熱度下降函式為:
? Δ y = 262.125 exp ? ( 0.0023 Δ t ) ? 262.125 -\Delta y=262.125 \exp (0.0023 \Delta t)-262.125 ?Δy=262.125exp(0.0023Δt)?262.125

可得熱度結果如下:
在這里插入圖片描述
最后得出前 10 熱點問題的所有留言如下:
在這里插入圖片描述

回傳目錄

熱點描述

這里模仿 google 的 pagerank 演算法提出一種 textrank 演算法(前人做的),對于 pagerank,我們將網頁視為節點,節點的分數決定了其熱度,設節點 V i V_i Vi? 的分數為 S ( V i ) S(V_i) S(Vi?),設節點 V i , V j V_i,V_j Vi?,Vj? 存在有向邊,則:

S ( V i ) = ( 1 ? d ) + d × ∑ V j ∈ In ? ( V i ) 1 ∣ O u t ( V j ) ∣ S ( V j ) S\left(V_{i}\right)=(1-d)+d \times \sum_{V_{j} \in \operatorname{In}\left(\mathrm{V}_{\mathrm{i}}\right)} \frac{1}{\left|\mathrm{Out}\left(\mathrm{V}_{\mathrm{j}}\right)\right|} S\left(V_{j}\right) S(Vi?)=(1?d)+d×Vj?In(Vi?)?Out(Vj?)1?S(Vj?)
S ( V ) S(V) S(V)的初始化為 1,KaTeX parse error: Can't use function '\]' in math mode at position 9: d\in(0,1\?]? 是一個常數因子,模擬用戶點擊網頁 V i V_i Vi? 的概率, O u t ( V j ) Out(V_j) Out(Vj?) 表示從 V j V_j Vj?出發鏈接到的節點的所有節點,

將 pagerank 推廣到關鍵句識別中,以句子為節點,設每條句子兩兩都存在鏈接,并記 d d d 為當前句子和其他所有句子之間的平均“間隔”,即處于中心的句子, d d d 越大,

由于所有句子都存在鏈接,所以上述公式不能用了,

因此,這是因為 ∣ O u t ( V j ) ∣ |Out(V_j)| Out(Vj?) 都相同,因此這里定義兩條句子的相似度如下:
B M 25 ( V i , V j ) = ∑ k = 1 n I D F ( term k ) T F ( term ? k , V i ) ( α + 1 ) T F ( term ? k , V i ) + α ( 1 ? β + β ∣ V i ∣ D L ) \begin{array}{r} B M 25\left(V_{i}, V_{j}\right)=\sum_{k=1}^{n} I D F\left(\text { term }_{k}\right) \frac{T F\left(\operatorname{term}_{k}, V_{i}\right)(\alpha+1)}{T F\left(\operatorname{term}_{k}, V_{i}\right)+\alpha\left(1-\beta+\beta \frac{\left|V_{i}\right|}{D L}\right)} \end{array} BM25(Vi?,Vj?)=k=1n?IDF( term k?)TF(termk?,Vi?)+α(1?β+βDLVi??)TF(termk?,Vi?)(α+1)??

其中 α , β = 1 \alpha, \beta=1 α,β=1 ∣ V i ∣ |V_i| Vi? 為句子 V i V_i Vi? 的單詞量, T F ( t e r m k , V i ) TF(term_k, V_i) TF(termk?,Vi?) 為單詞 t e r m k term_k termk? 在句子 V i V_i Vi? 中的詞頻, D F DF DF 為所有句子構成的合成檔案中,每一條句子的平均詞量,IDF 為逆文本頻率,計算公式如下:
I D F ( term k ) = log ? ( S D F + 1 ) I D F\left(\text { term }_{k}\right)=\log \left(\frac{S}{D F+1}\right) IDF( term k?)=log(DF+1S?)
這里的 D F DF DF 為合成檔案中,包含單詞 t e r m k term_k termk? 的句子數, S S S為合成檔案中,句子的總數,于是,仿照 pagerank,可得句子的分數如下:

S ( V i ) = ( 1 ? d ) + d × ∑ V j ∈ In ? ( V i ) B M 25 ( V i , V j ) ∑ V k ∈ Out ? ( V j ) B M 25 ( V i , V k ) S ( V j ) \begin{array}{l} S\left(V_{i}\right)=(1-d)+ d \times \sum_{V_{j} \in \operatorname{In}\left(V_{\mathrm{i}}\right)} \frac{B M 25\left(V_{i}, V_{j}\right)}{\sum_{V_{k} \in \operatorname{Out}\left(\mathrm{V}_{\mathrm{j}}\right)} B M 25\left(V_{i}, V_{k}\right)} S\left(V_{j}\right) \end{array} S(Vi?)=(1?d)+d×Vj?In(Vi?)?Vk?Out(Vj?)?BM25(Vi?,Vk?)BM25(Vi?,Vj?)?S(Vj?)?

我們將屬于前 10 熱度的,同一個話題的所有問題的詳細描述,合成一個檔案,之后,計算每一條句子的得分,最終找出得分最多的前三條句子作為關鍵句,即可得出問題描述,

對于時間范圍,我們將同一話題的所有問題資料的時間,的最近、最遠時間構成時間范圍即可,

至于地點和人群…,自己找吧 😂

在這里插入圖片描述
回傳目錄

第三問

答復相關性

詞向量

首先用關鍵句提取演算法,從留言和答復中提取出三條關鍵句,之后比較這三條關鍵句的相關性即可,至于如何比較相關性,我們采用詞向量的方法,

什么是詞向量呢?詞向量是一個單詞的背景關系,意義相似的詞語,其背景關系也是相似的,根據這一點,每個詞語都存在一
個背景關系詞向量與之對應,使得統計模型能夠根據該單詞的詞向量,預測到該單詞,

背景關系向量
“第八屆 泰迪杯 建模 挑戰 賽” , 則 單 詞 “建模”的 背景關系向量為[第八屆, 泰迪杯, 挑戰,賽],當然,所謂背景關系向量也是有長度限制的,如果語料庫太長,很顯然將所有的單詞作為背景關系是不可行的,這是就需要定義一個視窗,使得以本單詞為中心的,左右有限寬度的單詞,才構成背景關系向量,
one-hot 編碼法
使 用 one-hot 編 碼 法, 可 轉 換 為 x = [ [ 1 , 0 , 0 , 0 , 0 ] T , [ 0 , 1 , 0 , 0 , 0 ] T , [ 0 , 0 , 0 , 1 , 0 ] T , [ 0 , 0 , 0 , 0 , 1 ] T ] x =[[1, 0, 0, 0, 0]^T , [0, 1, 0, 0, 0]^T , [0, 0, 0, 1, 0]^T, [0, 0, 0, 0, 1]^T] x=[[1,0,0,0,0]T,[0,1,0,0,0]T,[0,0,0,1,0]T,[0,0,0,0,1]T],并與單詞 “建模”的 one-hot 編碼 y = [ 0 , 0 , 1 , 0 , 0 ] T y = [0, 0, 1, 0, 0]^T y=[0,0,1,0,0]T對應,
CBOW 模型
上一小節我們知道,語料庫每一個單詞的 onehot 向量 y i y_i yi?,都對應一個或多個背景關系向量 x i x_i xi?,因此,若以 x i x_i xi? 為輸入,以 y i y_i yi? 為輸出,就可以訓練一個深度學習模型了,其中比較著名的就有 CBOW 模型,CBOW 模型實際上是一個三層的神經網路模型:
其中 x i , i ∈ { 1 , 2 , ? ? ? , C } x_i, i\in\{1, 2, · · · , C\} xi?,i{1,2,???,C} 為單詞 one-hot 編碼后的列向量, C C C 取決于視窗的大小,設視窗大小為 m m m, 則 C = 2 m 2m 2m,矩陣 W ∈ R n × ∣ V ∣ W \in R^{n×|V }| WRn×V 為 CBOW 網路的輸入層到隱藏層的權重矩陣, W ′ ∈ R ∣ V ∣ × n W^\prime \in R^{|V |×n} WRV×n 為隱藏層到輸出層的權重矩陣,其中 n n n 為隱藏層的節點數, ∣ V ∣ |V| V 為語料庫中單詞“種”數, W W W 的第 i i i 個列向量為語料庫中第 i i i 個單詞的輸入詞向量,記為 w i w_i wi?;類似地, W ′ W^\prime W 中第 j j j 個行向量為第 j j j 個單詞的輸出詞向量,記為 w j ′ w^\prime_j wj?,由于輸入詞向量離輸入層近,所以在應用中,一般拋棄輸出詞向量,將 輸入詞向量作為單詞的詞向量模塊使用,

在這里插入圖片描述
因此,要求出每一個單詞的詞向量,求出 CBOW 模型的引數是關鍵,本質上,CBOW 模型也是一個機器學習模型,設 COW 模型的預測為 y ^ \hat{y} y^?,定義損失函式如下:
H ( y ^ , y ) = ? ∑ j = 1 ∣ V ∣ y i log ? y ^ H(\hat{y},y)=-\sum_{j=1}^{|V|}y_i \log{\hat{y}} H(y^?,y)=?j=1V?yi?logy^?
這里,我們還是使用 SHANG05 的開源語料庫 MSR 作為訓練集,訓練出一個隱藏層節點為 100 的 CBOW 模型,從而得出每一個單詞的詞向量,

回傳目錄

相似度計算

首先對于留言和答復,分別提取出 5 條關鍵句,然后,計算這 5 vs 5 的兩兩句的最大相關性作為最終的相關性,

那么,如何計算兩句的相關性呢?首先對句中的每一個詞,他們的詞向量取平均,從而得到一個稠密向量 s i s_i si? ,對于另一句也一樣,得出 s j s_j sj?,然后計算兩個向量夾角的余弦值,作為兩句的相似度,如下所示:
cos ? θ = s i ? s j ∣ s i ∣ × ∣ s j ∣ \cos \theta=\frac{\boldsymbol{s}_{i} \cdot \boldsymbol{s}_{j}}{\left|\boldsymbol{s}_{i}\right| \times | \boldsymbol{s}_{j} \mid} cosθ=si?×sj?si??sj??

最后得出的結果如下:
在這里插入圖片描述

回傳目錄

答復完整性(代碼沒有實作)

本人理解的答復完整性,指的是陳述句是否通順(可能有些歧義,因此本人就不實作了),但句子是否通順,似乎也帶有非常大的主觀性,因此,本人采用一種類似于區域完整性的方法去評價,句子的通順性,具體如下:

為了評價答復的完整性與可理解性,本文將以相鄰兩個漢字為單位,逐一掃描留言答復,并匹配當前掃面是否存在于二元語法字典1中,從而判斷留言的區域完整性,和可理解性,計算公式如下:
C = 1 ? N n o / L C = 1-N_{no}/L C=1?Nno?/L
其中 N n o N_{no} Nno? 為無法匹配的,句子中的二元對, L L L 為句子中二元對的數量,

代碼和資料

(關注一下唄 😁)代碼和檔案:https://gitee.com/zhuowoodbird/teddy_cup_C_2020

什么大佬好話就別說了,記得一鍵三連就可以了,咱們別做伸手黨哈… 博主這廂有禮

很想寫 2021 的泰迪杯 C 題,但怕呀… 所以希望這篇文章的解題代碼和思路,能夠為大家有一些參考作用吧

若果大家覺得這篇文章對大家有幫助,請不要吝嗇您的點贊 😊


  1. 這個字典 HanLP 有自帶的 ??

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/283031.html

標籤:AI

上一篇:C語言自定義資料型別中的結構體,列舉,聯合詳解

下一篇:使用SppLayer 實作花的分類

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more