2015-05-18 29 views
2

我想對類似於YAGO [1]的某些文本執行語義分析。但是我沒有文字上的結構來識別實體和關係。一種方法是使用POS標記,然後在句子[2]中確定主語和謂語。但是我仍然無法確定它們之間存在着什麼樣的關係。 我應該怎麼做?在文本中執行語義分析

例如:

Albert Einstein was born in 1879. 

應導致:

AlbertEinstein BORNIN 1879 
subject  relation predicate 

我的目標是尋找更好的方法來找到主語,謂語和關係的原始文本。

+0

我不明白downvote。請檢查我現在是否已經提出了更清楚的問題。 –

回答

1

你想要做的事本質上是自然語言理解,自然語言處理的一個子領域,它也是計算語言學的一個子領域,通常被認爲是工程學的手臂。

你可以做語義分析或關係提取。要麼這個任務沒有問題。我決定通讀Suchanek et al(2007),你會意識到它是基於本體的,其中關係被提取到預定義的本體模板,其中aixoms被預先規定(例如BORNIN)。我個人認爲這對於一般情報來說是很有限制的,但對弱的問題[狹義領域]很有效。多年來發生了許多有趣的工作,如本體驅動的信息抽取,其中算法在本體論上進行了訓練,而不是由本體論註釋的語料庫。一個想到的博士研究是McDowell論文和Yildiz & Miksch (2007) paper

不管而不去題外話,有一個名爲iepy目前一個非常有趣的開放源碼Python GUI驅動的項目由公司正在開發被稱爲是基於Django的Machinalis。它允許基於規則和基於機器學習的信息提取。我強烈建議你檢查一下 - >自己嘗試和測試。另外,我不隸屬於這家公司。

https://github.com/machinalis/iepy

根據文檔:

IEPY是信息提取的開源工具集中在 關係抽取。

爲了讓關係抽取的例子,如果我們試圖找到一個 出生日期:

「約翰·馮·諾依曼(1903年12月28日 - 1957年2月8日)是 匈牙利和美國的純並應用數學家,物理學家, 發明人和polymath「。那麼IEPY的任務是確定「約翰馮 紐曼」和「1903年12月28日」爲 的主體和客體實體的「出生」關係。

它旨在:需要在大型數據集上執行信息提取的用戶。科學家希望用新的IE 算法進行實驗。

1

你試圖解決的任務叫做relation extraction,而語義分析有更廣泛的含義(說實話,我不能肯定現在是什麼意思)。

關係提取是一個開放性的研究問題,所以我建議回顧一下這個領域 - 例如,從Mining text data一書的第2.3章或A Review of Relation Extraction論文開始(這是一個稍大一點的 - 2007)。然後繼續通過引用或引用鏈接進行研究;最後,嘗試實現看起來最有希望的方法:例如,如果你知道你的數據是相當正式的(所有句子都很短並且有相似的嚴格結構),那麼就嘗試一些基於模式的方法;等等。

1

斯坦福解析器可以做到這一點:)你需要看看依賴解析器。看看這個頁面的底部:http://nlp.stanford.edu/software/lex-parser.shtml

主題:nsubj(啪,雨), 或直接對象:DOBJ(關,集線器)) ...

或者看看此頁面(斯坦福依賴):http://nlp.stanford.edu/software/stanford-dependencies.shtml

而要了解這個註解看看這個:http://nlp.stanford.edu/software/dependencies_manual.pdf

併爲您的特定例如,使用斯坦福「倒塌「依賴分析器,它對於一個給定的句子將產生像born_in(Einstein,1879)這樣的謂詞,它與你想要的非常相似。