作者:
ddavid (謊言接線生)
2020-05-09 00:36:08※ 引述《nchunerdy120 (batman)》之銘言:
: 小弟目前是學生,有個專案是要從幾萬筆的評論中提取出幾個重要的特徵,並且將這些特
: 徵拿來製造篩選器。
: 例如從餐廳的評論中得出「食物種類」、「食物價錢」、「食物口味」非常重要,就用這
: 三個當作分類器的attribute。然後在給定這些attribute值的時候,就能夠導向對應的餐
: 廳。
: 自己思考一下作法後,歸類出兩個問題:
: 首先是該如何提取特徵?我目前的想法是使用tf-idf向量化,找出tf-idf最高的前幾個字
: 當作曬選器的attribute(X)。請問還有其他更適合的方式嗎?
不一定更適合但可以並行或組合使用的方式:簡單的自然語言分析(不一定要是
全套,依情況可能是詞性或經驗法則挑出某些特定句型)跟語意分析來補充關鍵字候
選。
比如食物種類一定是個名詞,然後一般位於句子中前後可能有哪些位置與前後文
的特徵(例如,「吃起來」前面如果是接個名詞,該名詞可能很高機率就是個食物名
稱吧),藉此撈出一些機率比較高的關鍵字候補。
: 第二個問題是該如何把餐廳(Y)跟選定的attribute(X)做連結?畢竟無法連結的話就
: 無法訓練分類器,所以該怎麼把這些attribute(X)跟餐廳(Y)是個大問題... 目前怎
: 麼解決這件事情小弟完全沒有頭緒,不知道有沒有大神可以解答Orz [編輯]:選定att
: ribute之後該怎麼將評論中對應attribute的文字量化,例如評論中提到「食物很好吃」
: ,那該如何將「好吃」量化放入食物口味的attribute中
關鍵字:Opinion mining / Sentiment analysis / 情感語意分析
有一些公開的資料庫把許多的詞語設定好了positive/negative的正負面分數。
例如「好吃」可能是+0.73,「噁心」是-0.91之類。
於是當你已經抓到關鍵詞所在句子並分好詞,則可以利用這些資料庫得到各同句
中相關詞語對應的正負面情感分數,然後看要進行加總或其他特殊加權處理得到最終
該關鍵字的情感分數是正面或負面、值有多大,就可以以此情感分數做為某種結論或
後續進一步分析的feature。
要注意的是,情感分數計算有可能會因為文章類別或內容領域而有所差異,因此
可以先就取得的資料庫套用手上的文章,確認一下文章中用到詞語對應出來的分數是
否合理、適用或者還有缺漏,然後手動把分數值修正到更適合手上Case的狀態,經過
這樣的校正後可以得到更好的結果。
另外這可能只是你需要的一小部分feature,另外你還提到食物種類或價錢等等
,這些則可能是靠前一部分關鍵字篩選來嘗試解決。找出了多少不同的食物名稱就可
能關連到食物種類的方面、找到某些跟價位有關的詞語或前後文形容詞就可能對應到
價錢之類的。
這有些部分非常需要分析者先手動閱讀一些文章並分析可能的規則,再針對這些
規則去選擇並調整你的text mining model,然後把model應用到其他文章看看結果,
再反覆進行這種驗證調整直到model整體表現看起來不錯,才進入實用。
: 麻煩各位鄉民們替小弟解惑,如果有上述方法以外的作法也麻煩各位不吝提出,感謝!