2017-08-04 6 views
-3

Paragraphe 1J'ai deux paragraphes en txt. Je dois trouver mot commun à la fois le paragraphe en utilisant python NLTK

commerce électronique, communément écrit comme E-Commerce, est le commerce ou la facilitation des échanges de biens ou services en utilisant les réseaux informatiques, tels que les Internet ou réseaux sociaux en ligne. Le commerce électronique s'appuie sur des technologies telles que le commerce mobile, le transfert électronique de fonds, la gestion de la chaîne d'approvisionnement, le marketing Internet, le traitement des transactions en ligne, l'échange de données électroniques, les systèmes de gestion des stocks et les systèmes automatisés.

Paragraphe 2

commerce électronique moderne utilise généralement le World Wide Web pour au moins une partie du cycle de vie de la transaction même si elle peut également utiliser d'autres technologies telles que le courrier électronique. Les avantages du commerce électronique comprennent la rapidité d'accès, une plus grande sélection de biens et de services, l'accessibilité et la portée internationale.

je dois trouver mot commun entre deux paragraphes et de les imprimer

+2

Cela ressemble à une question de devoirs, donc au lieu de fournir une réponse que je Je vais vous donner un indice. NLTK n'est pas capable de faire cela tout seul - ce n'est pas le but de NLTk. Cependant, ce que vous devez probablement faire est d'utiliser le tokenizer de NLTK pour diviser les paragraphes en mots, puis de mettre ces mots dans des ensembles et de les comparer (par exemple à l'aide des suggestions des réponses proposées). –

+0

Étape 1. 'nltk.word_tokenize', étape 2: voir https://stackoverflow.com/questions/15173225/how-to-calculate-cosine-similarity-given-2-sentence-strings-python ou essayez n'importe quelle méthode http://web.stanford.edu/class/linguist236/materials/ling236-handout-05-09-vsm.pdf – alvas

+0

@BhatiManishKumar, en changeant votre identifiant d'utilisateur pour masquer votre nom sonne aussi des cloches d'alarme. Ce n'est pas contre les règles de ce site de poser des questions de devoirs, ** tant que ce sont de bonnes questions. ** Vous avez eu assez d'indices, maintenant allez apprendre un peu de Python. – alexis

Répondre

0

Vous pouvez utiliser set.intersection.

p1 = ''' 
Electronic commerce, commonly written as E-Commerce, is the trading or 
facilitation of trading in goods or services using computer networks, such 
as the Internet or online social networks. Electronic commerce draws on 
technologies such as mobile commerce, electronic funds transfer, supply 
chain management, Internet marketing, online transaction processing, 
electronic data interchange (EDI), inventory management systems, and 
automated data collection systems. 
'''.split() 

p2 = ''' 
Modern electronic commerce typically uses the World Wide Web for at least 
one part of the transaction's life cycle although it may also use other 
technologies such as e-mail. The benefits of e-commerce include it’s the 
speed of access, a wider selection of goods and services, accessibility, and 
international reach. 
'''.split() 

print(set(p1).intersection(p2)) 
{'and', 'the', 'technologies', 'of', 'electronic', 'such', 'commerce', 'as', 'goods'} 
+0

merci réponse mais je le veux dans nltk. mais aussi merci – BMK007

+1

@BhatiManishKumar Je ne connais aucune méthode NLTK pour atteindre le même résultat. Si vous cochez la case [source] (https://github.com/nltk/nltk/blob/8eb3803cb88a6e75d18d4f740678b218b3d8f4fd/nltk/text.py#L107), ils utilisent également souvent set.intersection() pour obtenir des résultats similaires. – umutto

1

Si vous n'avez pas besoin de faire quelque chose de spécial en ce qui concerne le traitement du langage, vous n'avez pas besoin NLTK:

paragraph1 = paragraph1.lower().split() 
paragraph2 = paragraph2.lower().split() 

intersection = set(words1) & set(words2) 
+0

merci réponse, mais je veux cela dans nltk – BMK007

+1

@BhatiManishKumar Le moment où vous commencez à lancer des contraintes déraisonnables qui sonne alarme - c'est probablement devoirs ou un projet, sinon il n'y a aucune raison d'installer une bibliothèque de 50 Mo pour faire quelque chose que vous pourriez atteindre avec une intersection simple set. Vous n'êtes pas susceptible de trouver de l'aide ici. –

+1

@BhatiManishKumar, en changeant votre identifiant d'utilisateur pour masquer votre nom sonne aussi des cloches d'alarme. Ce n'est pas contre les règles de ce site de poser des questions de devoirs, ** tant que ce sont de bonnes questions. ** Vous avez eu assez d'indices, maintenant allez apprendre un peu de Python. – alexis