2009-12-18 29 views
16

我正在研究一個項目,此時我需要挑出大量文本中最常見的短語。例如說我們有三句話像下面這樣:如何在大量文本中找到常見短語

  • 狗跳下過的女人。
  • 狗跳進入車內。
  • 狗跳上樓。

從上面的例子我想提取「狗跳下」,因爲它是在文本中最常見的詞組。起初我想,「哦,讓使用有向圖[反覆節點]」:

directed graph http://img.skitch.com/20091218-81ii2femnfgfipd9jtdg32m74f.png

編輯:抱歉,我犯了一個錯誤,同時使該圖「超過」,「進」和「up」應該都鏈接回「the」。我將保持每個節點對象(「t​​he」將是6;「dog」和「jump」,3等)的次數(但是儘管存在許多其他問題),主要當我們添加幾個例子(請忽略錯誤的語法:-)):

  • 狗狗上下跳動。
  • 狗跳得像沒有狗一樣跳過。
  • 狗跳得高興。

我們現在有一個問題,因爲「」將開始一個新的根節點(在同一級別爲「」),我們將無法識別「狗跳下」因爲現在是最常見的短語。所以現在我想也許我可以使用一個無向圖來映射所有單詞之間的關係,並最終挑出常用短語,但我不確定這是怎麼運作的,因爲你失去了訂單之間的重要關係的話。

因此,沒有人有關於如何識別大量文本中的常見短語以及我將使用何種數據結構的一般想法。

感謝, 本

+0

只是鏈接回以後的文章 http://stackoverflow.com/questions/8898521/finding-2-3-word-phrases-using-r-tm-package – conr404 2013-09-27 20:16:24

+0

我不是在位置提供任何特定的算法使用。但是,您是否注意到了用於表示和操作圖形的igraph的到來?我使用Python和綁定,使底層產品看起來非常漂亮。 http://igraph.sourceforge.net – 2010-01-01 20:30:17

回答

8

退房此相關的問題:What techniques/tools are there for discovering common phrases in chunks of text?還涉及到the longest common substring problem

我已經發布過,但我使用R來處理我所有的數據挖掘任務,它非常適合這種分析。尤其要看tm包。下面是一些相關鏈接:

更一般地,有大量的文本挖掘包on the Natural Language Processing view on CRAN的。

+0

我不相信最長的常見子字符串問題解決了這個問題,因爲從我讀過的LCS算法將會支持較短的更受歡迎的普通字符串,如果我錯了,請糾正我。 R看起來很有趣,我以前只看過它,一定會再看一次。謝謝。 – benofsky 2009-12-18 23:31:22

+0

從上面的鏈接中,Norman Ramsey建議使用n-gram應該有幫助。 – iokevins 2009-12-20 23:20:28

+0

原來我是無知的,這導致我解決了我的問題。 :) – benofsky 2009-12-29 12:05:42

相關問題