-1

我是新來的ML/NLP領域,所以我的問題是,什麼樣的技術是最合適的,以實現以下目標:使用NLP或機器學習來提取關鍵字把句子

我們有一個簡短的句子 - 「去哪裏吃晚飯?」或「你最喜歡的酒吧是什麼?」或者「你最喜歡的便宜酒吧是什麼?」

是否有這將使我訓練它提供以下數據集的技術:

  • 「去哪裏吃飯?」 - >晚餐
  • 「你最喜歡的酒吧是什麼?」 - >酒吧
  • 「你最喜歡的便宜餐廳是什麼?」 - >廉價,餐廳

這樣下一次我們有一個類似的問題關於一個未知的活動,比如說:「你最喜歡什麼昂貴的[無論]」它將能夠提取「昂貴」和[無論] ?

的目標是,如果我們可以用這個問題的數百變化(或上千)訓練它要求及相關的輸出數據預期,因此它可以與日常用語的工作。

我知道如何使它即使沒有NLP/ML,如果我們有像酒吧,餐廳,游泳池等,預計術語詞典,但我們也希望它與未知項工作。

我已經看到了耙和Scikit學習爲「東西」分類的例子,但我不知道我會怎麼養活文本到這些,所有這些例子有培訓預定義的輸出。

我也試了谷歌的NLP API,亞馬遜Lex和機智,看看他們在提取實體有多好,但結果令人失望,至少可以說。

閱讀有關摘要技術,我留下的印象是它不適用於小型單句文本,所以我沒有深入研究它。

+1

如果您的輸入與您的示例一樣短,只是提取所有形容詞和名詞似乎就足夠了。有什麼理由不適合你嗎? – polm23

回答

1

至於@ polm23簡單的東西提到你可以使用POS標註做了提取。您提到的服務,如LUISDialog flow等,使用所謂的自然語言理解。他們使用intent &實體(詳細的解釋與例子,你可以找到here)。如果您擔心自己的數據正在上線或者有時需要離線,那麼您總是會使用RASA

的事情你可以做RASA:

  • 實體提取和句子分類。通過用各種句子標記單詞位置,提及從句子中提取哪個特定術語。因此,如果任何不同的單詞出現,而不是您在訓練集中給出的單詞,它將被檢測到。
  • 使用規則學習和keras LSTM進行檢測。
  • 與在線服務進行比較的一個缺點是,您必須手動標記JSON文件中的位置編號才能進行培訓,而不是在線服務中的點擊和標記功能。

你可以找到教程here

I am having疼痛in my。例如,我已經訓練了RASA和各種句子用於識別身體部位和症狀(我僅限於2個實體,可以添加更多),然後當出現未知句子(如上面的那個句子)時,它會正確地識別「疼痛」爲「症狀」和「腿部」爲「身體部分」。

希望這回答你的問題!