2017-07-27 3 views
-2

私はPythonで文字列のリストを持っています。Pythonで単語とその略語をクラスタリングする

例えば

[ 'FD 5000'、 'RD'、 '10000のための定期預金'、 '1000 RD'、 '1000預金を定期']

入力がなくて同じである。リスト内の文字列の順序は任意で、リストの長さは任意です。

単語とその省略形の文字列を別々のリストにまとめたいと思います。

予想される出力: {[ '5000用FD'、 '10000のための定期預金']、 [ 'RD'、 '1000 RD'、 '1000年のための預金を定期']}

私はユーザーが入力したコメントを実際にクラスタリングしようとしています。いくつかのユーザはテキストを省略形で入力することができ、他のユーザは完全な形でテキストを入力することができる。したがって、同様のコメントをまとめてグループ化するには、一般的な方法が必要です。

任意の解決方法があります。

+1

クラスタリング(監視されていない統計的方法)*これはできません。 –

+0

@ Anony-Mousse私は直感的にこれが本当である理由を理解しますが、より正式な議論がありますか?私はいくつかの読書資料を教えていただけますか? – maestromusica

+0

省略はクラスタリングの一部ではありません。 –

答えて

0

これを行う方法はたくさんあります。例:

  1. リストの奇妙な要素はすべて省略形です。あなたは、リストの内包表記を使用してそれらを得ることができます。

    同様
    [a for (a,b) in zip(a,range(10)) if b % 2 == 1] 
    

    、非略語:

    [a for (a,b) in zip(a,range(10)) if b % 2 == 0] 
    
  2. 使用list[start:end:step]step = 2と。

+0

こんにちはmasteromusica、あなたの答えをありがとうが、私は例としてリストを提供しました。リスト内の文字列の順序は任意で、リストのサイズは任意です。あなたがテキストをクラスタ化するためのより一般的な方法を提供できるなら、それは役に立ちます。私の質問を編集させてください。 –

+0

@sofibijusenthilそれらの文字列のプロパティについての詳細を追加しない限り、私はあなたを助けることができません – maestromusica

+0

私は実際に上記のクラスタ化されたユーザーのコメントを一緒に使用しようとしています。いくつかのユーザはテキストを省略形で入力することができ、他のユーザは完全な形でテキストを入力することができる。したがって、同様のコメントをまとめてグループ化するには、一般的な方法が必要です。 –