シーケンスに基づいて文章内で見つけたい単語のリストが2つあります。私は "正規表現"を使用することが可能かどうかを確認したいのですか?条件を使用して文章をチェックする必要がありますか?文中のシーケンス単語のリストを認識するための最良の方法を見つける
- n_ali + positive_adj
- n_ali + negative_adj
- n_leyla + positive_adj
- n_leyla + negative_adj
:
n_ali = set(['ali','aliasghar'])
n_leyla = set(['leyla','lili',leila])
positive_adj = set(['good','nice','handsome'])
negative_adj = set(['bad','hate','lousy'])
Sentence = "aliasghar is nice man. ali is handsome man of my life. lili has so many bad attitude who is next to my friend. "
私は以下のように任意のパターンを見つけるしたいと思います私はVS2015でPython 3.5を使用しています。 NLTKの新機能私は単一の単語をチェックするための "正規表現"を作成する方法を知っていますが、私は類似の名前のリストのための最良のアプローチは何か分かりません。親切に私を助け、このアプローチを実装する最善の方法を教えてください。
あなたの素敵な答えをありがとう。それは私の問題の70%を解決しています。この例では、問題があることを確認した場合です。このパターンが認識できる名前の後にadjが来る場合にのみあなたは[i + 1]という言葉を使用しています。 liliの場合はliliとbadを認識できませんが、例えば 'lili'、 'many'、 'bad'などです。このパターンを他のケースに拡張することをお勧めしますか?解析速度は低下しませんか?または我々はまた多くを削除する必要がありますか? – Amir
大きな文書で「たくさん」のようにいくつの単語を削除する必要があるのかよくわからないので、2つ先の形容詞(1つではなく)を確認するといいでしょう。 – slider
インデックス外の例外はありませんか?私は試してそれを制御し、キャッチしなければならない? – Amir