Skip to content

Commit

Permalink
functions.py is prettier
Browse files Browse the repository at this point in the history
  • Loading branch information
GoncaloKLopes committed Dec 5, 2017
1 parent 41aa678 commit 0bf7e79
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 28 deletions.
62 changes: 50 additions & 12 deletions ex2/Untitled.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
"execution_count": 209,
"execution_count": 216,
"metadata": {
"collapsed": false
},
Expand Down Expand Up @@ -51,22 +51,60 @@
},
{
"cell_type": "code",
"execution_count": 211,
"execution_count": 217,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'tre' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-211-3077652ba010>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mtext_to_sentences\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<string>\u001b[0m in \u001b[0;36mtext_to_sentences\u001b[0;34m(text)\u001b[0m\n",
"\u001b[0;31mNameError\u001b[0m: name 'tre' is not defined"
]
"data": {
"text/plain": [
"['como direcionar sua empresa para o cliente.',\n",
" 'é preciso inverter as estruturas para diminuir a distância entre o cliente e os que detêm o poder de decisão.',\n",
" 'empresa fadada ao insucesso tem duas caras: uma real, outra para o cliente.',\n",
" 'na hora de vender, promessas; quando o cliente confere, decepções.',\n",
" 'é difícil encontrar o responsável, quando a empresa não é direcionada à satisfação total dos clientes.',\n",
" 'nas estruturas tradicionais de empresas, onde o mando predomina sobre a responsabilidade individual, não é possível sequer aprender em cima dos próprios erros.',\n",
" 'faz-se de tudo para que não haja registro do erro, para que ele não seja do conhecimento dos que detêm o poder de mando.',\n",
" 'é preciso inverter a estrutura, colocando o cliente como a pessoa mais importante da organização.',\n",
" 'mas isso não pode ser apenas um discurso de boas intenções.',\n",
" 'vai exigir mudanças para as quais existem duas palavras-chave: delegação e cooperação; disseminação das informações.',\n",
" '1 satisfação do cliente.',\n",
" 'colocar a pessoa certa, na hora certa, para fazer certo, da primeira vez, o que o cliente deseja.',\n",
" 'este é o padrão de excelência desejado.',\n",
" 'mas será que existe mesmo na organização o \"lugar certo\" para essa \"pessoa certa\"?',\n",
" 'será que a estrutura da empresa está direcionada à satisfação total do cliente?.',\n",
" 'a maioria das empresas possui estruturas tradicionais de comando, onde o cliente relaciona-se com as pessoas que têm menor poder de decisão.',\n",
" 'existe uma distância enorme entre os que detêm o poder (a direção superior) e o cliente.',\n",
" 'o ovo de colombo é revirar totalmente esta estrutura superada.',\n",
" 'e adotar a \"pirâmide invertida\" da qualidade total.',\n",
" 'aí, as pessoas mais importantes na organização passam a ser as de atendimento e vendas.',\n",
" 'são elas que têm contato direto com o cliente.',\n",
" 'os demais funcionários são responsáveis pelo bom desempenho do pessoal de frente.',\n",
" 'a direção fica na base da pirâmide: seu papel é dar sustentação à finalidade de bem atender.',\n",
" 'a delegação de poder é fundamental nesse tipo de organização participativa e cooperativa.',\n",
" 'os acontecimentos mais importantes não são as reuniões de chefia, mas os momentos em que a empresa tem contato direto com o cliente, os \"momentos da verdade\".',\n",
" 'a empresa passa a estruturar-se para transformar em sucesso esses \"momentos da verdade\".',\n",
" 'por isso, os clientes estão no topo do organograma.',\n",
" 'todos os demais setores se transformam em fornecedores de facilidade para os eventos de satisfação do cliente.',\n",
" 'o fluxo de operações estará direcionado para o atendimento do cliente.',\n",
" '2 relacionamento cooperativo.',\n",
" 'a responsabilidade compartilhada e o trabalho em equipe só poderão se desenvolver se a estrutura permitir uma interação constante entre as áreas.',\n",
" 'a empresa toda é um macroprocesso, uma equipe única voltada para o objetivo comum de atingir altos níveis de produtividade, com a manutenção e a conquista de novos clientes.',\n",
" '3 disseminação de informações.',\n",
" 'o fluxo de informações que parte do cliente (pedidos, avaliações, reclamações, expectativas) passa pelos diferentes departamentos da empresa e deve retornar como resposta e solução, de maneira ágil, ao cliente.',\n",
" 'o fluxo da decisão e a cadeia cliente-fornecedor devem estar alinhados aos valores que o cliente preza: cortesia, presteza, eficiência, receptividade e personalização.',\n",
" 'é conhecido o fenômeno de \"ruído na comunicação\": a informação se enfraquece e deforma quanto maior o número de transmissores e receptores intermediários.',\n",
" 'é comum a gerência desconhecer a realidade da operação \"na ponta\".',\n",
" 'a perda de competitividade é a consequência mais direta da falta de agilidade nas decisões, perda de informações, aumento da burocracia interna, pois, nos \"momentos da verdade\", o funcionário precisa tomar decisões que implicam, muitas vezes, questões vitais para o cliente.',\n",
" 'frequentes consultas aos níveis superiores causam perda de tempo e dinheiro.',\n",
" 'a redução dos níveis hierárquicos ao mínimo necessário traz agilidade.',\n",
" 'experimente.']"
]
},
"execution_count": 217,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
Expand Down
40 changes: 24 additions & 16 deletions functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,37 @@

cachedStopWords = stopwords.words("english")


#returns array of sentences
def text_to_sentences(text):
text = re.sub('(\.)?(\n)+','. ',text).lower()
tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')

text = '\n-----\n'.join(tokenizer.tokenize(text))
return text.split('\n-----\n')


#both args are text
def AP(systemSummaries, targetSummaries):
systemSents = text_to_sentences(systemSummaries)
targetSents = text_to_sentences(targetSummaries)

AP = 0
positives = 0
total = 0
for sent in systemSents:
total += 1
if sent in targetSents:
positives += 1
AP += positives/ total
return AP/len(targetSents)







#-----------------Not being used---------------------------#
def stem_sentence(sentence):
stemmer = PorterStemmer()
load()
Expand All @@ -34,20 +57,5 @@ def stem_text(text):
stemmed.append(stem_sentence(sentence))
return stemmed

#both args are text
def AP(systemSummaries, targetSummaries):
systemSents = text_to_sentences(systemSummaries)
targetSents = text_to_sentences(targetSummaries)

AP = 0
positives = 0
total = 0
for sent in systemSents:
total += 1
if sent in targetSents:
positives += 1
AP += positives/ total
return AP/len(targetSents)

def remove_stopwords(text):
return' '.join([word for word in text.split() if word not in cachedStopWords])

0 comments on commit 0bf7e79

Please sign in to comment.