文本挖掘:找到一個給定的單詞,然後獲取它兩邊的單詞<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我正在嘗試在手動輸入的評論中挖掘文本。 值得慶幸的是,有一些模式。 在前10個單詞中,如果出現“to”這個詞,那麼“to”兩邊的單詞就是我想要的單詞。
我已經邁出了使用以下公式創建表達式列的第一步:Words[Comments]。 它返回了評論列中的單詞列表 - 非常酷。
那麼,接下來我該怎麼做才能找到“to”是否出現在前十個單詞中,如果是,抓住“to”兩邊的單詞?
回复:文本挖掘:找到一個給定的單詞,然後獲取它兩邊的單詞謝謝大家! 抱歉回复晚了 - 正忙著為剛剛結束的年會進行文本挖掘。
所以,我使用了 Jeff 的公式方法,因為我沒有太多時間來做任何真正優雅的事情。 現在,我有時間學習正則表達式。 我將為這個分析開發一個腳本解決方案,以便明年我可以快速完成。
數據清理/信息提取是這項工作的混亂部分。 該公式有助於找到我正在尋找的東西。 但是,我仍然需要在 Columns 中做很多工作 >重新編碼。 向那些讓它在 JMP12 中如此強大的人致敬!
順便說一句,文本挖掘將成為一個出色的掌握 JMP 網絡研討會.
回复:文本挖掘:找到一個給定的單詞,然後獲取它兩邊的單詞如果我說過一次,我已經說過一百萬次了。如果您要進行任何數量的文本挖掘,花一個小時學習正則表達式是值得的。大量精彩的 youtube 視頻,腳本指南中甚至有一個非常好的部分。
文本= “問題的示例文本。” ;
答案1 =正則表達式(文本, “(\w+) 到 (\w+)” , "\1" ) ;
答案2 =正則表達式(文本, “(\w+) 到 (\w+)” , "\2" ) ;
回答=正則表達式(文本, “(\w+) 到 (\w+)” , "\1" || ", " || "\2" ) ;
打印(答案1 ) ;
打印(答案2 ) ;
打印(回答) ;
輸出:
“文本”
“這”
“文本,”
回复:文本挖掘:找到一個給定的單詞,然後獲取它兩邊的單詞伊恩@JMP有一個很好的腳本示例。
如果您想在列公式中執行此操作,它將如下所示。

這個公式使用一個局部變量保持“to”的位置。
我已經附上了一個帶有這個公式的列的數據表,以顯示它是如何工作的。
注意:如果“to”出現在位置 10,它會給你單詞 9 和 11。 如果這不是您想要的,您需要在 If() 中添加一個附加條件。
回复:文本挖掘:找到一個給定的單詞,然後獲取它兩邊的單詞不用太花哨,也許是這樣的? 第二個給出“{}”,因為最後一個“單詞”是“to”。不是“到”。 但是如果需要,您可以對其進行編碼。
名稱DefaultToHere ( 1 ) ;
詞那個括號到=
功能({字符串} , {默認本地} ,
字符串=字(字符串) ;
位置= Loc (字符串, “至” ) ;
必填詞= {} ;
如果(位置<= 10 ,
如果(位置> 1 ,插入(必填詞,字符串[位置- 1 ])) ;
如果(位置< N項(字符串) ,插入(必填詞,字符串[位置+ 1 ])) ;
) ;
評估列表(必填詞) ;
) ;
示例文本= “這是一個不包含太多次的短語。” ;
打印(詞那個括號到(示例文本)) ;
示例文本= “這是一個包含 to 的短語。” ;
打印(詞那個括號到(示例文本)) ;