2009-03-04 60 views
12

我正在尋找可能存在或不存在的東西。在Windows平臺上可以使用「英語語法規則引擎」(專門用於.NET或C#)嗎?C#:英語語法規則引擎?

具體來說,我正在尋找的東西,將能夠採取一個句子中的「將來時態」,並將其更改爲「過去式」(根據英語語法規則) ...這樣的:

小窗口軟件的工作,然後與裏卡多

此滿足:

曾參與開發插件的軟件,然後會見裏卡多

是否有一個規則引擎已經這樣做?

+0

偉大的問題+1給你。 – James 2009-03-05 00:44:31

回答

8

this guy交談,他可能會對你有一些想法。總的來說,英語對於這種類型的東西太模糊了。例如:

將紙切成兩半。

這是一個命令性命令還是一個過去式的句子片段?而我個人最喜歡的:

時間過得像箭一樣飛;果蠅就像一根香蕉。

任何人都可以解析,但只是因爲有很多語義知識。

話雖這麼說,有一些事情,可能是值得探討的,就像SharpNLP

+4

既然什麼時候把喬姆斯基扔在這個問題上一個有效的解決方案?爆笑! – 2010-01-15 21:16:37

2

簡單的答案是否定的,一般NLP解析引擎不存在。

長的答案是「有點」,但有50年的研究表明這是一個非常困難的問題,在一般情況下。可能有人在做特定時態轉換。無論如何,C#可能不會有一個。

5

正如其他人所說,這是一個非常困難的問題,並沒有在一般情況下解決。但是,有一些系統做得很好。普林斯頓的WordNet就是其中之一。它可以在一定程度上確定詞類,同義詞等(可能包括時態)。我想你可能對these functions感興趣,它似乎找到了給定特定綴合詞的詞根,並且還可以找到給定詞根的特定綴合詞(但該頁面沒有提供示例,所以我不能確保我正確解釋文檔)。

2

檢查this出來,它叫做Grammatica。這可能並不是你想要的,但是在C#中解析英文語法規則絕對是一個好開始。

+0

Grammatica似乎是用於典型計算機語言的標準解析器生成器。這樣的工具對解析英語非常不利,因爲它是高度模糊的,通常包含「部分」句子,並且其語法不斷爭論(實際上甚至被嘻哈藝術家扭曲)。除非你可以展示英語的特定Grammatica語法,否則這個答案就是錯誤的。 – 2010-05-06 09:03:47