簡體   English   中英

自然語言查詢處理

[英]natural language query processing

我正在運行一個NLP(自然語言處理應用程序),它為我提供了經過分析的句子的樹,然后的問題是我應該如何進行處理。

What is the time
\-SBAR - Suborginate clause
  |-WHNP - Wh-noun phrase
  | \-WP - Wh-pronoun
  |  \-What
  \-S - Simple declarative clause
   \-VP - Verb phrase
     |-VBZ - Verb, 3rd person singular present
     | \-is
     \-NP - Noun phrase
       |-DT - Determiner
       | \-the
       \-NN - Noun, singular or mass
         \-time

該應用程序具有javascript解釋器內置的功能,並且正試圖使該短語成為簡單的函數,例如

function getReply() {
   return Resource.Time();
}

用基本的術語來說,= request = create function是返回的對象,而時間將引用時間,現在很容易為此創建一個簡單的解析器,但是現在我們還有現在的時間,或者你知道現在幾點了。 隨着項目的發展,我需要它能夠基於英語進一步開發。

源是C#.Net 4.5

提前致謝。

據我所知,使用依賴項分析樹會更有幫助。 通常,提問的方式是有限的(我的意思是統計學上的顯着變化是有限的 ……人們通常不會使用某些極端情況),並通過諸如whowhatwhenwhere的詞表達, 為什么怎樣

依賴性分析將使您能夠提取名義主題以及查詢中的直接和間接對象。 通常,它們將表達查詢的基本意圖。 考慮兩個等效查詢的示例:

  1. 現在幾點了?
  2. 你知道現在幾點嗎?

它們的依賴項解析結構如下:

root(ROOT-0, What-1)
cop(What-1, is-2)
det(time-4, the-3)
nsubj(What-1, time-4)

aux(know-3, Do-1)
nsubj(know-3, you-2)
root(ROOT-0, know-3)
dobj(is-7, what-4)
det(time-6, the-5)
nsubj(is-7, time-6)
ccomp(know-3, is-7)

無論是什么 -queries,都含有“時間”為名義的主題。 后者也包含“您”作為名義主題,但我認為可以根據啟發式方法刪除諸如“您知道嗎”,“您能告訴我”之類的表述。

您會發現Stanford Parser對這種方法很有幫助。 如果您想在工作中看到更多示例,他們也有此在線演示

暫無
暫無

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

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