RのopenNLPパッケージで名詞+名詞または名詞+名詞を抽出することができるか照会したいですか?候補の名詞句を抽出するために言語フィルタリングを使用する。あなたは私に方法を指示できますか? 多くのありがとうございます。テキストから名詞+名詞または(adj |名詞)+名詞を抽出する
ありがとうございます。 +名詞extractation |
library("openNLP")
acq <- "Gulf Applied Technologies Inc said it sold its subsidiaries engaged in
pipeline and terminal operations for 12.2 mln dlrs. The company said
the sale is subject to certain post closing adjustments,
which it did not explain. Reuter."
acqTag <- tagPOS(acq)
acqTagSplit = strsplit(acqTag," ")
acqTagSplit
qq = 0
tag = 0
for (i in 1:length(acqTagSplit[[1]])){
qq[i] <-strsplit(acqTagSplit[[1]][i],'/')
tag[i] = qq[i][[1]][2]
}
index = 0
k = 0
for (i in 1:(length(acqTagSplit[[1]])-1)) {
if ((tag[i] == "NN" && tag[i+1] == "NN") |
(tag[i] == "NNS" && tag[i+1] == "NNS") |
(tag[i] == "NNS" && tag[i+1] == "NN") |
(tag[i] == "NN" && tag[i+1] == "NNS") |
(tag[i] == "JJ" && tag[i+1] == "NN") |
(tag[i] == "JJ" && tag[i+1] == "NNS"))
{
k = k +1
index[k] = i
}
}
index
Readerが名詞+名詞かを(名詞ADJ)やってacqTagSplitにインデックスを参照することができます。 はここのコードです。 (コードは最適ではありませんが、問題があれば教えてください)
さらに、私はまだ問題があります。
Justesonとカッツ(1995)は候補名詞句を抽出するために、別の言語フィルタリングを提案:
((ADJ |名詞)+ |((ADJ |名詞)(名詞プレップ))(ADJ |名詞? ))名詞
私はその意味をよく理解できません。あなたはそれを説明したり、そのような表現をR言語に変えたりする好意を私に与えてもらえますか? 多くのありがとうございます。
私はクリーンなソリューションだと思っています。後のリクエストは元の質問のかなりの延長です。私はあなたがこれを閉じて別の質問をするべきだと思います。 –
@DWin:そうは思いません。余分な条件を追加するだけです。さらに、それをRに翻訳することは、プログラマーにとってではなく、テキスト・マイナーにとっての質問になるでしょう。私は、その意味を理解するために、JustesonとKatzの記事を読んでみてください。 –
@Joris:新しい演算子「+」と「?」がいくつかありました。私は理解していませんでした。私は彼らが正規表現に翻訳するかもしれないと思っていましたが、私には知られておらず、引用はWeb検索では利用できませんでした。だから私は元の質問が合理化のOPと私の努力の両方によって答えられて以来、再ポスティングはより良いアプローチであると思った。 –