2012-06-20 39 views
0

我正在開發一個項目,用於從句子中生成問題。現在,我正處於可以產生如下問題的地步: 「安吉拉默克爾是德國的總統。」 - >「安格拉默克爾是誰?」通過機器翻譯系統生成英文查詢

當然,我想讓問題看起來像「誰是......?」代替。有沒有簡單的方法來做到這一點,我還沒有想到呢?

我目前的想法是培養一個英語(不是完全問題) - >英語(問題)翻譯,也許使用摩西等現有的機器翻譯引擎。這是否過分矯枉過正?我需要多少數據?是否有解決這個問題或類似問題的語料庫?是否使用通用翻譯引擎,甚至適用於此任務?

回答

0

查看Michael Heilman的畢業論文Automatic Factual Question Generation from Text,瞭解問題產生的背景並瞭解他對這個問題的看法。您可以通過搜索關於「問題生成」的研究來找到更多信息。他提到了微軟的一個語料庫:Microsoft Research Question-Answering Corpus

我不認爲僅基於(當前)統計機器翻譯方法的方法會很好地工作,因爲您通常需要對源句子進行更深層次的句法分析才能做好工作產生一個適當的問題。對於像你的例子這樣的簡單問題,設計句法樹轉換來生成問題是相當容易的,但只要句子變得複雜一點,它就會變得更加棘手。

0

如果你將自己限制在相對簡單的問題上,你可以做一個解析,然後翻轉元素來獲得問題。你如何決定問題單詞?誰,什麼,在哪裏,爲什麼......爲此,您需要一個分類器來查看句子的元素。安吉拉默克爾應該很容易歸類爲一個人/名字,所以她得到'誰',柏林應該在地理詞典中,所以它會得到'在哪裏'。

我不確定具體的軟件,但我可能會用NLTK來做,使用依賴關係解析,然後使用任何分類方案。

最終你的成功取決於你的輸入和輸出空間有多大。我會首先尋找絕對最簡單的問題。

+0

現在,我只是使用命名的Entitiy識別。爲這些命名實體決定一個問題單詞非常簡單。 – kutschkem

+0

聽起來不錯。你有沒有嘗試用翻譯來創建問題呢?類似的可能性可能是訓練將問題形式進行依賴分析所需的實際步驟。 – nflacco

+0

不,我沒有,因爲我需要一個合適的訓練集,我沒有。你知道如何做/培訓這種轉變的參考嗎?截至目前,我只遇到二元和多類分類,你的想法聽起來有點複雜。即使我有一個可以學習這種轉換的算法 - 我將從哪裏獲得訓練數據? – kutschkem