簡體   English   中英

excel 中的自動標記/文本挖掘

[英]Automated tagging/text mining in excel

我有一個每月 excel 電子表格,其中包含以下內容:

類別 描述
一個 段落形式的自由文本
段落形式的自由文本
C 段落形式的自由文本
段落形式的自由文本
段落形式的自由文本
一個 段落形式的自由文本

我想添加第三列,它從搜索自由文本的預定列表中添加標簽或關鍵字,然后根據是否在那里找到一個或多個術語來預填充它。

例如,標簽列表可以是價格、距離、可用性、位置等,其中“關鍵字”或“標簽”列根據第二列中的自由文本填充,如下所示

類別 描述 關鍵字或標簽
一個 真的不喜歡這個價格和位置太遠了 價格,位置
距離是一個問題,可用性並不高 距離,可用性
C 位置很近所以我喜歡方便 位置,方便
距離近,有很多空房 可用性,距離

如上所示,標簽將用逗號分隔。

問題是預先確定的關鍵字列表很大(大約 20 到 30 個標簽)。

我的問題:

在不刪除任何標簽的情況下創建此列表的最有效方法是什么?

另外,有沒有辦法在 RStudio 中做到這一點?

我們可以在這里使用正則表達式從字符串中提取關鍵字。

如果我們將關鍵字放在向量keywords中,我們可以使用str_extract_all中的stringr來提取字符串中的所有匹配詞。 我已經把它變成了一個簡單的 function,我們將其應用於 data.frame 的Description列,將結果插入到一個新的變量Keys

library(stringr)

get_tags <- function(str, tags) {
    res = str_extract_all(str,
                          regex(tags, ignore_case = T), # Search case insensitive
                          simplify = T)[,1] # Get result as vector, not matrix
    return(res[nchar(res) > 0])  # Drop empty strings from non-matched keywords
}

df$Keys <- sapply(df$Description,
                  function(x) paste0(get_tags(x, keywords),
                                     collapse=', ')) # Collapse matches w/ commas

df

  Category                                             Description                   Keys
1        A   Really doesn't like the price and location is too far        price, location
2        B  The distance is an issue and not too much availability distance, availability
3        C             Location is close so I like the convenience  Location, convenience
4        D The distance is near and there is a lot of availability distance, availability

由於您希望匹配不區分大小寫,因此將正則表達式模式 ( tags ) 放入regex function 允許我們指定它應該忽略大小寫。

一個簡單的解決方案,它使用 Excel 公式並避免任何外部依賴:

  • 使用 excel 中的=SEARCH() function 查找標簽,為每個關鍵字或標簽填充一列
  • 使用=TEXTJOIN()聚合所有標簽

例子:

一個 C D F G
1 類別 描述 標簽(全部) 價格 地點 距離 可用性
2 一個 真的不喜歡這個價格和位置太遠了 '=TEXTJOIN(", ", TRUE, D2:XX2) '=IF(ISERROR(搜索(D$1,$B2)), "", D$1) ------ ------ ---->

Output:

一個 C D F G
1 類別 描述 標簽(全部) 價格 地點 距離 可用性
2 一個 真的不喜歡這個價格和位置太遠了 價格,位置 價格 地點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM