M3E/OpenAi+vearch内容查重实践 | 京东云技术团队

原创
2023/09/20 10:05
阅读数 1K

一、实践背景介绍

1、业务背景

京东健康内容中台H2有一个目标就是需要替换两家CP内容(总体内容体量百万级),我们现在的逻辑是想按照PV热度优先高热去新生产和替换。替换后可以极大的节省cp内容引入的成本。

第一步:这么多内容,我们的生产逻辑需要按照学科和索引归类和分配,进而批量生产,靠人工一篇篇补索引,效率会很低。希望借助算法的能力,如果现在还不是非常准确,也可以算法+人工修正,

第二步:按索引归类好之后,我们和库内非CP但主题相似内容进行比对,已经有的就不做重复生产。最后剩下来的进行批量生产和替换。

2、技术背景

M3E(M3E(Multimodal Multitask Meta-Embedding)是一个开源的中文嵌入模型

Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。也是京东自研开源的项目,具有强大的相似搜索的弹性分布式能力。

OpenAI的迅速发展对算法成本产生了重大影响。随着技术的进步和研究的不断推进,OpenAI已经取得了许多突破,使得算法的开发和部署成本大大降低。OpenAI的Chat模式和Embedding模式是OpenAI API中的两种不同的使用方式。

1、Chat模式: Chat模式是OpenAI API的一种使用方式,旨在支持对话式的人机交互。在Chat模式下,您可以通过向API发送一系列的用户消息来与模型进行交互,模型将逐条回复每个消息。这种交互式的方式使得您可以与模型进行对话,提出问题、请求解释、寻求建议等。

import openai

response = openai.Completion.create(
  engine="davinci",
  prompt="What is the capital of France?",
  max_tokens=100,
  n=1,
  stop=None,
  temperature=0.7
)

print(response.choices[0].text.strip())


2、Embedding模式: Embedding模式是OpenAI API的另一种使用方式,旨在获取文本的嵌入表示。在Embedding模式下,您可以将一段文本传递给API,并获取该文本的高维向量表示,也称为嵌入向量。这些嵌入向量可以用于计算文本之间的相似度、聚类、分类等任务。

import openai

response = openai.Embed.create(
  model="text-embedding-ada-002",
  documents=["Once upon a time", "In a land far, far away"],
)
embedding1 = response.embeddings[0]
embedding2 = response.embeddings[1]

# 进行嵌入向量的相似度计算等其它操作


本次实践主要使用了Embedding,具体实践如下文。

二、实践流程

1、总体流程

(1)、总体流程图

(2)、OpenAi/M3E向量生成部分代码实践

async def embed_and_store_with_limit_and_check(
        self, semaphore, id, vector_store,  text_future_func = None, text: Union[str, list[str]] = "", **additional_properties
    ):
        async with semaphore:
            retry_count = (
                3  # Task failed with exception Response payload is not completed
            )
            retry_count_doubled = False
            retry = 1
            last_error = None
            while retry <= retry_count:  # Retry up to 3 times.
                try:
                    try:
                        data = await vector_store.get(vector_id=id)
                        id = data.id
                        embedding = data.result.embedding.feature
                        return (id, embedding)
                    except VearchRouterGetNotFoundError:
                        try:
                            return await self.embed_and_store(
                                text=text,
                                id=id,
                                vector_store=vector_store,
                                text_future_func=text_future_func,
                                **additional_properties,
                            )
                        except asyncio.TimeoutError:
                            logger.error(
                                f"embed_and_store_with_limit_and_check - id {id} #[{vector_store.space_name} {vector_store.db_name}] - Timeout during embed_and_store()"
                            )
                            raise
                except Exception as error:
                    error_message = f"{error}" or f"{error.__class__} {error.__doc__}"
                    logger.error(
                        f"embed_and_store_with_limit_and_check - id {id} #[{vector_store.space_name} {vector_store.db_name}] - failed with exception {error_message}, retry {retry}"
                    )
                    if isinstance(error, VearchRouterStatusError):
                        if error.reason == "partition_not_leader":
                          logger.info(
                              f"embed_and_store_with_limit_and_check - id {id} #[{vector_store.space_name} {vector_store.db_name}] - {error_message}, retry {retry} asyncio.sleep(10) doubled"
                          )
                          await asyncio.sleep(10)  # Response payload is not completed
                          if not retry_count_doubled:
                              retry_count = retry_count * 2
                              retry_count_doubled = True
                    if isinstance(error, aiohttp.client_exceptions.ClientPayloadError):
                        await asyncio.sleep(5)  # Response payload is not completed
                        if not retry_count_doubled:
                            retry_count = retry_count * 2
                            retry_count_doubled = True
                    else:
                        await asyncio.sleep(1)  # Wait for 1 second before retrying
                    retry = retry + 1
                    last_error = error

            raise VearchRouterClientRetryError(
                retry_count,
                f"embed_and_store_with_limit_and_check - id {id} #[{vector_store.space_name} {vector_store.db_name}] - completely failed with exception {last_error} - retried {retry_count} times",
                error=last_error,
            )

(3)、vearch向量存储及相似度搜索部分代码实

async def score_similarity(
        self, vector_store, embedding=None, id=None, **search_properties
    ):
        """Find the most similar word and the similarity score for a given word in the document"""
        if not isinstance(embedding, list):
            try:
                results_with_scores = await vector_store.search_by_ids(ids=[id])
                # embedding = response.result.embedding.feature
                return results_with_scores.results[0].hits.hits
            except VearchRouterStatusError as error:
                raise error
                # if error.found == False:
                #   query_result = await embeddings.embed_query(word)

        results_with_scores = await vector_store.search(
            feature=embedding, **search_properties
        )

        return results_with_scores.hits.hits

2、OpenAi实现查重的局限性

(1)、成本

以目前100万数据量为例,如果使用目前OpenAi的开放接口实现,每篇内容由于token等限制进出一次需要0.007美元,100万篇内容需要7000美元才可以完成数据特征提取和向量生成,依照目前的内容体量和运用,这个成本还是高于预期,在成本方面没有比其他方案有优势。

(2)、效率

同样以100万数据为例,一篇内容特征提取和向量生成的时间由于国内各种限制,时间最快也在6-9s,即便是在并发以及多token的情况下,那100万内容执行完成最少也大于30天,这在实效性方面相比于其他方案也不占优势。

3、M3E模型引入

(1)、模型调研介绍

M3E(Moka Massive Mixed Embedding)是一个开源的中文嵌入模型,具有以下优势:

多模态支持:M3E模型能够同时处理多种模态的数据,如文本、图像、语音等。这种多模态的支持使得模型能够更好地处理复杂的现实场景,提供更全面的语义理解。

多任务学习:M3E模型支持同时学习多个任务,而不需要针对每个任务单独训练一个模型。通过共享模型的参数和特征表示,M3E能够将不同任务之间的知识相互传递和共享,提高学习效率和泛化能力。

元嵌入学习:M3E模型采用元学习的思想,通过在训练过程中模拟快速学习新任务的过程,使模型能够更好地适应新任务。这种元学习的能力使得M3E模型在面对新任务时能够从少量样本中快速学习并取得良好的性能。

中文语义理解:M3E模型专注于中文语义理解任务,具有针对中文语言特点的优化。这使得M3E模型在处理中文文本时能够更好地捕捉语义信息,提供更准确的嵌入表示。

开源和可定制性:M3E模型是开源的,可以根据具体需求进行定制和扩展。开放源代码使得用户可以自由地修改和优化模型,以适应不同的应用场景。

模型对比:

 参数数量 维度 中文 英文 s2s s2p s2c 开源 兼容性 s2s Acc s2p ndcg@10
m3e-small 24M 512 0.5834 0.7262
m3e-base 110M 768 0.6157 0.8004
text2vec 110M 768 0.5755 0.6346
openai-ada-002 未知 1536 0.5956 0.7786

(2)、M3E选择的必要

a、实践过程中在不牺牲准确度的情况下向量维度长度短,节省存储空间和带宽,且在和vearch向量库结合使用的过程中发现768维度的向量生在查询和存储时表现的更优越。

b、模型非商业开源并且可以本地微调模型,有效结合业务场景进行

c、可以有针对性的根据数据规模和场景优化和分配资源,定时高效的达到业务预期效果目标。

d、兼容性,代表了模型在开源社区中各种项目被支持的程度,由于 m3e 和 text2vec 都可以直接通过 sentence-transformers 直接使用,所以和 openai 在社区的支持度上相当

e、使用场景主要是中文,少量英文的情况,建议使用 m3e 系列的模型,M3E 在大规模句对数据集上的训练,包含中文百科,金融,医疗,法律,新闻,学术等多个领域共计 2200W 句对样本,数据集详见M3E 数据集

f、模型持续优化中,开发过程中可以持续提高数据质量,后续可期待更加优秀的模型。

(3)、运用

pip3 install -i https://mirrors.jd.com/pypi/simple sentence-transformers==2.2.2

#### Download m3e-base
python3 -c "from sentence_transformers import SentenceTransformer; model = SentenceTransformer('moka-ai/m3e-base'); print(model.encode(['Hello World!', '你好,世界!']))"

#### Save m3e-base to local path
python3 -c "from sentence_transformers import SentenceTransformer; model = SentenceTransformer('moka-ai/m3e-base'); model.save('m3e-base-model/')"


代码示例:
async def embed (self, text_or_documents):
      if isinstance(text_or_documents, list):
          documents = text_or_documents
      else:
          """Split the text_or_documents, embed the documents and insert the embedding into the online vector storage"""
          text_splitter = LocalTextSplitter().get_instance() # self._tokenizer = spacy.load(pipeline)
          documents = text_splitter.split_text(text_or_documents)

      
      embedding_return = await self._async_***_with_****(documents=documents)
      if len(embedding_return) > 1:
          # Compute the mean vector
           **************

          # Normalizing the mean vector
           *************
      
      return embedding

向量生成示例:
{"_index":"content_gpt_db","_type":"content_space_m3e","_id":867602,"found":true,"_source":{"content_type":1,"embedding":{"feature":[0.04050827,0.021327972,-0.0051002502,0.017009735,-0.016672134,-0.01061821,0.026807785,-0.018224716,-0.03107071,-0.0053977966,0.043376923,0.028705597,0.004207611,-0.020687103,-0.0447731,-0.009578705,0.05571747,0.06632233,-0.051948547,-0.013450623,-0.032985687,-0.008350372,-0.043361664,-0.02400589,-0.019294739,-0.023269653,0.005455017,0.0059661865,0.008682251,-0.023887634,0.046310425,-0.036338806,-0.0020313263,0.0062503815,0.05295372,0.026079178,0.011068344,-0.028791428,0.029096603,0.030740738,0.026367188,0.052009583,-0.009216309,-0.004173279,0.0009822845,0.018190384,0.033262253,0.05126381,0.012481689,0.005584717,-0.011810303,0.35385132,-0.043067932,0.0099105835,-0.014457703,0.038978577,0.022174835,-0.039844513,-0.012966156,-0.011081696,0.009370804,-0.024477005,-0.01061058,0.0028133392,-0.009471893,-0.027820587,-0.041484833,0.011547089,0.009700775,-0.05132675,0.06669235,-0.06849289,-0.0129470825,0.004447937,0.074913025,0.008506775,-0.033031464,0.017101288,0.045627594,-0.009830475,0.02917099,0.030750275,-0.017490387,-0.016429901,-0.042669296,-0.014154434,0.0004749298,0.049741745,0.07151413,-0.012218475,-0.013538361,-0.016918182,0.016963959,-0.015842438,-0.03572464,-0.034015656,0.046806335,-0.001625061,-0.006690979,0.040275574,-0.035312653,0.008182526,-0.024295807,-0.047908783,0.023643494,0.054634094,-0.07056427,0.04160309,-0.014863968,0.00399971,0.025701523,-0.0082912445,-0.022632599,0.0016212463,-0.059513092,-0.022808075,-0.008533478,-0.052440643,0.037700653,-0.045360565,0.0012359619,0.06803894,-0.04005432,-0.02885437,-0.032421112,0.010250092,-0.0092430115,0.055828094,-0.05140686,-0.0019073486,0.012435913,-0.04206848,-0.08063507,-0.016105652,-0.00031280518,-0.005180359,0.002243042,-0.009155273,-0.044174194,-0.007598877,0.015665054,0.015577316,0.006883621,-0.031778336,-0.017795563,0.016918182,0.019405365,0.0077323914,-0.012916565,-0.007698059,0.031211853,-0.048286438,0.017166138,0.0033416748,-0.02381897,0.03614807,-0.014591217,0.06523514,-0.04491043,-0.05462265,0.029396057,0.03844452,0.011238098,-0.051124573,-0.024749756,0.0068511963,0.0137786865,-0.033081055,-0.0028033257,0.0011496544,-0.012090206,-0.013271809,-0.018554688,-0.019104004,-0.004699707,-0.11206055,0.007501602,0.0144023895,-0.019788742,0.028829575,-0.03552246,0.028182983,-0.027923584,0.014785767,-0.032590866,-0.0011997223,0.003458023,0.036985397,-0.012435913,-0.040542603,-0.034469604,-0.0028839111,-0.014625549,0.014442444,0.06880951,0.01688385,-0.044792175,-0.014442444,-0.01712799,0.024909973,0.036842346,-0.015365601,0.032600403,-0.023117065,-0.017802238,-0.011162758,0.021027565,-0.0071382523,0.0023880005,0.016410828,-0.07878876,-0.033210754,0.029317856,0.037729263,-0.013490677,0.01420784,-0.076553345,0.03074646,0.020904541,-0.016113281,-0.008716583,-0.058559418,-0.03612137,-0.029781342,-0.03557396,-0.026613235,-0.0034923553,0.033971786,0.01530838,0.019039154,0.05249405,-0.06877518,-0.05325699,-0.054332733,0.022380829,0.0017127991,-0.00060653687,0.003200531,-0.05033493,0.031169891,-0.027420044,0.07209778,0.03919983,0.023788452,-0.03340912,0.038368225,-0.011619568,-0.049583435,0.023187637,-0.031404495,0.001543045,0.011007309,0.03263092,0.0027999878,-0.029151917,-0.03868866,-0.01224041,-0.006829262,-0.014925957,-0.008881569,-0.0025873184,0.012497902,0.018328667,0.0066041946,-0.03035736,-0.0110321045,-0.03830719,-0.026245117,-0.03142929,-0.007991791,0.019321442,-0.021755219,-0.008829117,-0.050519943,0.010892868,-0.015569687,0.0134391785,0.02917862,0.00075912476,-0.09794235,0.011421204,0.04624176,0.066841125,-0.0044174194,-0.019325256,-0.0010528564,-0.03643036,-0.025726318,-0.014377594,-0.024211884,-0.03343582,0.020572662,0.027690887,0.0475502,0.03835678,-0.043956757,-0.00034713745,0.048107147,0.025608063,-0.014255524,0.028633118,-0.07511139,-0.048667908,0.0210495,0.06496048,0.013729095,-0.0051841736,0.016643524,-0.022533417,0.0012626648,0.034671783,-0.029605865,-0.011131287,0.0044937134,-0.065330505,0.019874573,-0.05259323,0.00045394897,-0.008098602,0.01354599,0.05250168,0.07034683,-0.0058631897,0.07423782,0.011419296,-0.037618637,0.01867485,0.000062942505,0.004085541,0.038211823,0.019878387,-0.0754509,0.0065402985,0.0045223236,0.030115128,0.0017757416,-0.014886856,-0.011007309,0.026533127,0.033769608,-0.051013947,0.035007477,0.05788803,-0.049877167,-0.037107468,0.0016613007,0.015481949,-0.02353859,-0.039718628,-0.04598999,-0.044052124,0.010528564,-0.028961182,-0.016166687,0.0015945435,-0.013336182,0.032533646,0.018568039,0.03763771,0.025045395,-0.052635193,-0.051948547,-0.062217712,0.08403778,0.0012397766,-0.0012321472,0.056552887,-0.027065277,0.04188156,-0.03208542,0.06875229,0.0647316,-0.013954163,-0.022972107,0.11660004,0.032203674,-0.031936646,0.0020599365,-0.020370483,-0.06651306,0.0062942505,-0.049430847,0.04660797,0.020118713,-0.031578064,-0.005180359,-0.053260803,-0.027565002,-0.031951904,-0.041366577,-0.0025939941,-0.008529663,0.012207031,-0.06890869,0.01940918,0.039123535,-0.008434296,0.033107758,0.0352211,0.020793915,0.0071353912,-0.028520584,-0.030920029,-0.008180618,0.070114136,-0.014175415,-0.0012359619,0.000045776367,0.08629227,-0.051700592,-0.07754135,-0.016498566,-0.015331268,-0.044864655,-0.04217148,-0.005420685,-0.008460999,-0.038154602,0.05747223,0.020240784,0.007413864,0.009027481,0.026922226,-0.018918991,0.012096405,0.04254532,-0.05728531,-0.010662079,0.02876091,-0.019536972,0.01614952,-0.0005931854,0.044952393,-0.00390625,0.02508545,0.03439331,0.008852005,0.022172928,-0.00008201599,-0.0032863617,-0.05140686,0.005859375,0.053024292,0.025146484,-0.019942284,-0.011334419,0.01258564,0.015990257,-0.02166748,0.036453247,0.039978027,-0.033798218,0.00076675415,-0.005138397,0.004749298,0.029026031,0.0323925,-0.025564194,0.025335312,-0.030546188,-0.04391861,0.018421173,-0.011249542,0.04883194,0.01543808,0.02312851,-0.032764435,-0.026203156,0.019647598,0.018751144,-0.009168625,0.048986435,0.015720367,0.021831512,-0.03219223,-0.026844025,0.0060043335,-0.026107788,-0.046318054,-0.04046631,0.035526276,0.0024375916,-0.05537033,-0.02425003,-0.04340744,-0.0066947937,0.0019111633,-0.019908905,0.0008430481,-0.038669586,-0.034023285,-0.0014533997,0.00793457,-0.045150757,-0.03302002,-0.020614624,-0.005558014,0.069065094,-0.039173126,-0.00825119,0.03167534,0.018571854,-0.006723404,0.015237808,-0.021053314,-0.016643524,-0.02035141,0.009143829,0.00017166138,0.04996872,0.08148575,-0.008792877,0.018224716,0.01874733,0.008649826,-0.026594162,-0.032094955,0.039243698,0.03283882,0.027730942,0.030176163,-0.04026985,0.015901566,0.033468246,0.013085365,-0.0065927505,0.011677742,-0.013127327,-0.02519226,0.04988098,-0.013015747,0.015609741,0.014896393,0.023586273,0.016117096,0.040584564,0.01984787,0.004398346,-0.0089530945,-0.03900528,-0.0024147034,0.037326813,-0.008106232,-0.052898407,-0.0038452148,-0.05821228,-0.02015686,-0.001739502,-0.013622284,-0.017688751,-0.05283737,0.020702362,-0.050605774,0.027381897,0.0316391,0.0024490356,-0.055805206,-0.056484222,0.023387909,-0.02993393,0.019495964,-0.012732506,-0.008210182,0.01850605,-0.04762268,0.081466675,0.005874634,-0.010238647,0.019134521,-0.004508972,-0.012359619,0.025794983,0.04028511,0.025411606,-0.03328514,0.0031719208,-0.01725769,-0.051498413,-0.035949707,0.010955811,0.008583069,0.06630707,-0.005821228,-0.0024795532,0.03709793,0.013637543,0.022525787,-0.06563187,0.053359985,0.0039367676,-0.060836792,0.04824829,0.027780533,0.03645134,0.013780594,0.02977562,0.017705917,-0.00057029724,-0.034914017,-0.019468307,-0.026908875,0.067222595,0.05558014,-0.021064758,0.031835556,-0.04665947,0.051054,-0.00028038025,0.029193878,0.003993988,-0.07110214,0.06306076,0.014007568,-0.01714325,0.035003662,-0.004722595,0.014993668,0.03897667,-0.023054123,-0.006303787,-0.017751694,0.002111435,-0.008413315,0.017080307,-0.06581879,-0.008491516,0.12903595,-0.006996155,0.05880356,-0.02943039,0.020183563,-0.018550873,0.06975937,0.03355789,0.03824997,0.04037857,-0.046398163,0.006954193,-0.029689789,0.029582977,0.07313156,-0.005428314,-0.045841217,-0.025279999,0.0048294067,0.013130188,0.059028625,0.022529602,0.031074524,-0.011817932,-0.0047683716,-0.014060974,0.031232834,-0.0031795502,-0.018915176,-0.015424728,0.04899597,-0.0131073,-0.023361206,-0.046707153,-0.012523651,-0.0008125305,0.08478165,-0.062747955,-0.026260376,-0.060684204,0.011657715,0.013763428,-0.009056091,0.05002594,-0.004814148,0.0046463013,-0.0072250366,-0.015556335,-0.037773132,0.0308609,0.012107849,0.032539368,0.03591156,-0.0512619,-0.048412323,-0.012073517,-0.005519867,-0.072574615,-0.041452408,-0.040891647,-0.017946243,0.019388199,0.018611908,0.028507233,0.041683197,0.019443512,-0.019191742,0.035518646,-0.017742157,0.07847214,-0.040740967,0.031051636,-0.035736084,0.010360718,0.03430748,0.008317947,0.044736862,-0.0071315765,-0.01648426,-0.008883476,-0.020913124,-0.005423546,-0.009973526,-0.02460289,-0.044252396,-0.032361984,0.054714203,0.00091934204,0.059459686,0.0034065247,0.06443405,-0.027736664,0.003993988,0.036701202,-0.035736084,0.018554688,0.029144287,-0.019836426,0.069698334,0.021060944,0.012462616,0.023517609,0.0021858215,0.02639389,0.031742096,-0.033161163,-0.034664154,-0.084918976,0.027759552,0.030056,0.00016021729,0.008415222,-0.02822113,0.084098816,-0.034959793,-0.024831772,0.020299911,-0.029752731,-0.044506073,0.004787445,0.017642975,0.01127243,0.055496216,0.01977539,-0.038375854,0.013122559,0.035747528,-0.003780365,-0.0005226135,-0.016674042,-0.045539856,-0.039131165,-0.024177551,0.0366745,-0.049545288,0.010528564,0.033737183,-0.04852295,-0.03115654,-0.049951553,-0.017721176,-0.00032234192],"source":""}}}


4、vearch数据库向量存储

(1)、vearch详细介绍

Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。具有以下功能:

1、支持CPU与GPU两种版本。

2、支持实时添加数据到索引。

3、支持单个文档定义多个向量字段, 添加、搜索批量操作。

4、支持数值字段范围过滤与string字段标签过滤。

5、支持IVFPQ、HNSW、二进制等索引方式(HNSW、二进制方式4月下旬发布)。

6、支持Python SDK本地快速开发验证。

7、支持机器学习算法插件方便系统部署使用。

Vearch京东自研开源的项目,具有强大的相似搜索的弹性分布式能力。可在泰山申请使用,具体文档参考:https://vearch.readthedocs.io/zh_CN/latest/overview.html#

(2)、向量存储

vearch_instance = VearchInstance(vearch_llm_instance=vearch_llm_instance)

import random
async def embed_content (      
      content_generator,
      concurrent_task_limit,
      vearch_instance,
      pbar
      ):
    semaphore = asyncio.Semaphore(concurrent_task_limit)

@handle_error_and_log
    @handle_client_response_type_check
    async def insert(
        self, db_name, space_name, vector_id, **vector_properties
    ) -> VearchRouterOperationResponse:
        if "feature" in vector_properties:
            properties = {**vector_properties}
            del properties["feature"]
            return await self.router.insert(
                db_name,
                space_name,
                vector_id,
                embedding={  # NOTE/FUTURE hard coded
                    "feature": vector_properties["feature"]
                },
                **properties,
            )
        return await self.router.insert(
            db_name, space_name, vector_id, **vector_properties
        )


(3)、相似度查询

查询语句:
http://jdh-content-gpt-vector-router.vectorbase.svc.ht09.n.jd.local/content_gpt_db/content_space_m3e/_search
{
    "query":{
        "ids":[
            580670
        ],
        "sum":[
            {
                "field":"embedding",
                "feature":[

                ]
            }
        ]
    },
    "retrieval_param":{
        "parallel_on_queries":1,
        "recall_num":100,
        "nprobe":80,
        "metric_type":"InnerProduct"
    },
    "is_brute_search":0,
    "online_log_level":"debug",
    "quick":false,
    "vector_value":false,
    "client_type":"leader",
    "l2_sqrt":true,
    "size":10
}

三、查重结果及M3E、OpenAi查重相似度效果比较

1、查重相似度验证结果展示

标题:七个月大的宝宝湿疹怎么办? 文章内容:初为家长,遇见孩子生病常常手足无措,尤其宝宝断奶之前。七个月的宝宝由于身体比较脆弱,容易受到天气或者是外界因素的干扰,导致出现湿疹的症状,这个样子让爸爸妈妈们感到十分苦恼,不知道应该如何面对。大家如果遇到孩子出现这样的症状时,可以多了解一些宝宝湿疹的处理办法,从而让宝宝的皮肤更加健康,远离湿疹的干扰。首先要保持空气的温度,在一个正常的室温之内,不能够让天气太热,从而导致孩子出现湿疹的状况。同时宝妈们也要多注意自己的饮食习惯,平常要吃清淡一点,不能吃一些诱发湿疹的食物,比如说辛辣的或者是热量高的。孩子洗澡的时候,要控制好水温,不能够太烫,这样的话才能够让孩子的皮肤接受得了。需要注意的是,以后可以采用肥皂水之类的碱性产品,因为一些产品有可能导致宝宝的皮肤受到伤害。注意晾晒宝宝的衣物,保持宝宝的衣物都是干净的,还有被褥等。另外,在平常生活中要保持室内的通风透气,千万不能够让宝宝觉得特别闷,因为过敏也有可能会引起湿疹的现象,所以家长们一定要在平常生活中找出过敏原,然后及时对症下药,远离这些疾病的发生。另外,宝宝湿疹要找出各种可能的原因,比如说热气或者是温度的问题,这样子才能够找出各种可能的诱发因素,对宝宝的湿疹才能够针对性的治疗,避免用错了治疗方案导致严重的疾病。上面就是各种几个月宝宝湿疹的解决办法,希望大家能够多多了解。七个月的宝宝如果出现了湿疹,通常会让家长们感到十分担忧。大家可以多了解这方面的应对措施,然后应对各种可能出现的问题。"
标题:导致风湿病的原因及早期症状 文章内容:导致风湿病产生的原因风湿病在生活中比较常见,这种疾病经常发生,而且发生的概率越来越高,尤其是天气发生变化的时候,风湿病的症状就非常明显,对患者的生活和工作都会带来不同程度的影响和困扰,那么导致风湿病产生的原因都有哪些呢!1、外因外因主要是风、寒、湿、热诸邪自外而入,侵犯人体。若气侯变化失常、寒暖不调,或久居潮湿之地,或冒雨涉水、宿野含凉均可受邪致病。临床上常把风气胜者称为“行痹”。2、产生风湿病的内因痹病的内因主要是正气虚弱,脏腑功能失调,导致了外邪乘虚而入。正气不足多与体质虚弱,劳逸失度,或经期产后体虚有关。3、导致风湿病发生的外伤除内因、外因之外,还可见于外伤致痹。多见跌打闪挫,关节扭伤,外力损伤等原因,导致了气血阻滞、淤血凝聚,从而出现肌肉、筋脉、关节局部的肿胀、疼痛,麻木不仁风湿病的早期症状1.发热是风湿病的常见症状,可为低热、中等度发热、也可为高热,往往可表现为不规则的发热,一般无寒颤,抗生素无效,同时血沉快,如系统性红斑狼疮、成人斯帝尔病、急性嗜中性发热性皮病、脂膜炎等均可以发热为首发症状。2.疼痛是风湿病的主要症状,也是导致功能障碍的重要原因。风湿病的疼痛中,起源于关节及其附属结构的疼痛最为常见,然而肢体和躯干部位的疼痛也可见于内脏和神经系统病变。关节痛、颈肩痛、腰背痛、足跟痛往往是风湿病的主要表现,有时还伴有关节的肿胀。类风湿性关节炎常有对称性的关节肿痛,手指关节、腕关节尤为明显;强直性脊柱炎有腰背痛,休息时加重,可伴有足跟痛、红眼;风湿性多肌痛有颈肩痛、肢带肌的疼痛及肌无力。3.皮肤黏膜症状:系统性红斑狼疮、皮肌炎/多肌炎、白塞病、脂膜炎、干燥综合症可有皮疹、光敏感、口腔溃疡、外阴溃疡、眼部症状、网状青紫、皮肤溃疡等。4.雷诺氏征:指(趾)端遇冷或情绪激动时出现发白,然后发紫、发红或伴有指(趾)端的麻木、疼痛,严重的可有皮肤溃破,可见于硬皮病、类风湿性关节炎、混合性结缔组织病、系统性红斑狼疮。5.肌肉可有肌肉疼痛、肌无力,肌酶升高、肌电图表现为肌原性损害等,如皮肌炎/多肌炎、混合性结缔组织病、系统性红斑狼疮等。6.系统损害:有些风湿病特别是自身免疫性结缔组织病如系统性红斑狼疮、类风湿性关节炎等可有多个器官的损害,如表现为心脏炎(心包炎、心肌炎、心内膜炎)、肾脏损害(蛋白尿、血尿、浮肿、高血压、肾功能衰竭)、血液系统(白细胞减少、红细胞减少、血小板减少、容血等)、呼吸系统(间质性肺炎、肺动脉高压、胸腔积液)、消化系统(肝功能损害、黄疸)等。7.常有自身抗体:抗核抗体、抗ds-DNA抗体、抗ENA抗体、抗血小板抗体、抗心磷脂抗体、类风湿因子等。温馨提示,专家在文章中提出了导致风湿病产生的原因,希望大家能够及时的了解这些常识,外因产生的原因是由于我们不注意保暖而产生的,内因是由于身体虚弱,脏腑功能失调引起外邪入侵而引起的,无论是哪一种,大家都应该及时的进行预防。
标题:涨知识!关于烫伤的三个误区 文章内容:烫伤是日常生活中遇到比较多的意外伤害事故。由热力所引起的组织损伤统称为烧伤,如火焰、热液、热蒸汽、热金属等等,由电、化学物质所致的损伤。儿童烫伤极为常见,家长在处理时手忙脚乱,有人说要赶紧冰敷,也有人说涂药膏比较好,民间甚至有涂龙胆紫、酱油或者麻油的土办法,对于水泡的泡皮的处理也是众说纷纭,以至于错过了减轻伤害、改善预后的最佳时机,甚至由于不正确的处理加重烫伤情况。误区一:胡乱扯下衣服当烫伤发生时,会马上脱掉身上衣服以查看伤势,这一点是应该的,但是如果胡乱扯下衣服,尤其是手臂烫伤时扯下衣袖,在这样的处理过程中由于衣物对烫伤的表皮产生的摩擦会加重对烫伤皮肤的损害,甚至会将烫伤的表皮拉脱,正确的方法是:拿剪刀将衣服剪开,避免衣物伤面的摩擦。误区二:烫伤部分涂抹牙膏、龙胆紫、酱油等涂上牙膏非但没有什么治疗作用,可能还会引起感染,其凝结粘连伤口会增加意思处理创面的难度,所以勿在烫伤创面涂抹牙膏等没有确切治疗效果的东西。民间土方法中常用的龙胆紫、酱油、牙膏、化妆品、红药水、牛油、肥皂或者食用油也不可取,除了引起感染也可能因为颜色渗入组织而影响医生的正确判断创面的深浅程度。误区三:烧伤水泡不可弄破应急处理,总结为“冲、脱、泡、盖”1、冲:马上以流动冷水尽早处理伤处,直至疼痛感缓解为止(或30分钟)。2、脱:将烫伤的肢体浸在冷水中轻轻退去衣物,脱衣不便时可用剪刀沿衣缝剪开后卸下。3、泡:在冷水中连续浸泡30分钟除尽余热,夏季时也可在水中加冰块降温,注意不要冰块直接接触皮肤,防止冻伤。4、盖:必要时,可选择消毒敷料、光滑无毛边的布类,或经高温熨烫过的干净床单,覆盖伤口后抓紧时间送医院处理。
标题:九个早期乳腺癌的迹象 文章内容:1.酒窝征“酒窝征”是乳腺癌的一个重要表现!发生酒窝征的原因是肿瘤侵犯了乳腺cooper韧带造成的,这种“酒窝”长在乳房上可是一点儿也不好看啊!2.乳头溢液乳头溢液有时是早期乳腺癌的唯一症状,特别是血性溢液、咖啡色溢液、黄色溢液,千万不能掉以轻心啊!3.乳房肿块乳房有肿块女性非常常见的,也是早期乳腺癌最常见的表现,不要觉得不痛不痒就忽视了,一定要尽早去医院让医生进行诊断。4.乳房大小不一乳房的大小和形状发生改变,要多留意多观察乳房的变化,定期检查。5.乳头周边瘙痒发红乳头周围的皮肤,发红瘙痒,一定不能忽视,不要以为这是过敏,或者穿内衣不透气。这是乳腺癌的前期征兆。6.乳房橘皮皮肤组织上发生变化,比如起皱纹,皮肤像橘子皮一定要注意,及时就诊,不要错过了最佳治疗时间。7.乳房周边或者淋巴隆起腋下是淋巴非常密集的地方,如发现腋下或者锁骨区出现隆起的小包,一定要重视起来,这不仅是乳腺癌的前期症状也可能是淋巴方面的疾病。8.乳房内陷瘙痒乳房内陷,不仅是遗传因素,乳头下方出现肿瘤,可牵拉乳头引起乳头偏斜、乳头凹陷;侵犯乳头可致乳头溃疡、糜烂。乳腺湿疹样癌的症状是乳头结痂、脱屑、糜烂、反复不愈合。9.乳房疼痛部分早期乳腺癌患者虽然在乳房部尚未能够触摸到明确的肿块,但常有局部不适感,特别是绝经后的女性,有时会感到一侧乳房轻度疼痛不适,或一侧肩背部发沉、酸胀不适,甚至牵及该侧的上臂。绝大多数患者无明显疼痛感觉,少数患者以疼痛就诊,疼痛多为阵发性刺痛、隐痛。非到晚期疼痛多不严重。全球每2分钟发现一个乳腺癌,中国乳腺癌居世界首位,每年死于乳腺癌相当于一次汶川大地震,最小年龄提前到了14岁。
标题:注意!警惕老年痴呆症发生 文章内容:老年性痴呆(阿尔茨海默病)分为早期、中期和晚期。最早的表现是记忆力的下降,尤其是对刚刚发生的事情损害较明显。老年人可记得儿童时期生活的全部情景,也会背诵儿时读过的诗歌,但是记不起刚才做过的事情,甚至连自己是否吃过早餐都难以记起。这些现象是缓慢加重的。有时病人还会重复做毫无意义的动作,对一个问题有时候会反复问多次。并可出现幻听和幻视,这种阵发性的行为紊乱,多数不能完全恢复,以后就逐步成为严重的痴呆。如何及早发现老年人有老年性痴呆的症状?简单说来是“四不”:一是记不住事,主要表现为记忆减退,患者通常对早年的事情记得清楚,刚才说的话却忘得一干二净;二是算不清数,日常生活中很小的账目算不清或不会算;三是认不得路,离家稍远就会找不到家;四是说不清话,患者思维简单,言语单调,有时自言自语,反复诉说某件事情。老年性痴呆典型症状有记忆力、抽象思维、定向力等方面障碍。老年性痴呆在早、中期多无神经系统局灶性体征,晚期则可出现锥体系和锥体外系病变体征,如病理反射、肌强直、行动迟缓、步态异常等,到后来发展到不能自己主动进食,大小便失禁、生活不能完全自理、大多数会因为感染等严重并发症而死亡。老年性痴呆平均病程8~10年尽管老年性痴呆目前还不能被治愈,但是通过药物、心理等治疗手段还是能够达到改善症状、延缓病情进展的目的。所以,一旦发现老年人出现痴呆信号,应立即去医院就医,通过对其进行全面评估,进行必要的早期干预,控制痴呆进展。
标题:保健品,治病还是致命? 文章内容:几天前,宜宾的郭大爷迎来了73岁生日,恰好也就是这天凌晨,郭大爷的生命戛然而止。而让老人突然辞世的,竟是我们以为“无公害”的保健品。最近几年,郭大爷痴迷于形形色色的保健品,花光了家中的积蓄。在去世前的一晚,他竟也拒绝去医院治疗,坚持要天亮后,去保健品店铺“拿药吃”。郭大爷原以为,按照“老师”的要求吃保健品、用保健器材,就可以活到120岁。近些年来,保健品逐渐成为走亲访友地佳品,但是保健品到底能治病吗?我们真的需要吃保健品吗?Q:保健品,到底能不能治病?通俗的说,保健品不能治病,并且不是人人都适合吃。Q:我应该吃保健品吗?只要大家按时吃饭,不挑食,没处在特殊时期(比如怀孕、疾病),一般都是不需要吃膳食补充剂的。Q:那么,哪些人适合吃保健品?小编列举了一些适合补充营养的人群,朋友们可以结合自身情况来考虑。1.婴幼儿:可以补充增加骨密度、调节肠道菌群的保健食品。例如:铁,钙,维生素D、益生菌、益生元2.孕妇可以关注改善营养性贫血、增加骨密度、调节肠道菌群,促进消化、有通便功能、以及促进泌乳的保健食品。例如:铁、维生素C,叶酸,DHA,钙、益生菌、益生元、乳清蛋白3.老年人:适当食用具有抗氧化功能、增强免疫力、改善胃肠道、增加骨密度、促进骨骼健康的保健食品。例如:维生素B12、维生素D、钙、D-氨基葡萄糖、硫酸软骨素、叶黄素、花青素,益生菌/益生元当然,朋友们也要咨询医生的建议,结合自身情况选择合适的保健食品和器械,合理搭配饮食和营养。
标题:4个信号说明你的血液“粘如浆糊” 文章内容:4个信号说明你的血液“粘如浆糊”?化血栓,防脑梗专家有妙方!临床上将血液黏度超过正常标准,称为“高黏滞血症”。血液中的红细胞的形状、大小、压积,都会影响血液黏度。白细胞和血小板在病理情况下,对血液黏度也有一定影响。高黏滞血症的危害,是由此引起的心、脑、肺、肾等重要脏器的血液供应不足,造成缺血缺氧,从而导致冠心病、脑梗死、肾衰、阻塞性肺疾患病情加重。如何判断血液粘度1、晨起头晕,晚上清醒休息了一整夜,应该是精力充沛,神清气爽的。但你早上醒来,还是浑浑噩噩,头脑晕乎乎的,没有睡醒后大脑清醒、思维流畅的感觉。那么要小心了,这可能是血液粘稠的信息。血液粘稠高的人,基本上都是早上无精打采,晚上斗志昂扬。2、午饭后犯困吃过午饭,想休息半小时,这是正常情况。据研究表明,每天午睡半小时可以增寿。但如果有特殊情况,中午无法午睡,血液粘稠的人是忍不了的。午饭后一定要马上睡觉,休息一会,精神状态会明显转好。否则,一个下午都会觉得又累又困,眼睛睁不开,身体也会不舒服。这是因为午饭后血液循环加速,血粘度高的人,大脑供血不足导致。3、蹲下呼吸困难气短血黏度高的人肥胖者居多,这些人下蹲困难,有些人根本不能蹲着干活,或者蹲着干活时胸闷气短。这是因为血液粘度高的人,蹲下干活,回到心脏的血液减少,加之血液过于黏稠,血液循环供血不足,氧气与二氧化碳不能完成交换,使肺脑等重要脏器缺血,导致呼吸困难、憋气等机体缺氧呼吸困难的现象。4、阵发性视力模糊很多人平时视力还可以,偶尔视力会模糊。这个情况在老年人身上比较普遍。老年人大多血液粘稠度高,血液流通不顺畅,一些营养物质和氧气不能供给视神经,视神经和视网膜会暂时性缺血缺氧,医学上称阵发性视力模糊。血液粘稠怎么办?1、适量运动血液之所以粘稠,是因为体内太多代谢废物排不出去。运动可以提高代谢水平,加速血液循环。长期坚持运动,不仅可以强身健体,减肥瘦身,还可以预防多种慢性疾病。2、多喝水多喝水可以稀释血液的粘稠度,最好选择二十度左右的白开水或者淡茶水,效果更佳。3、多吃豆类豆类中含有一种软化剂,它可以软化血液中的胆固醇颗粒,改善血液粘稠度,这种物质叫卵磷脂。很多保健品宣传可以控制胆固醇,稀释血液,它们添加的物质就是这种卵磷脂。4、少吃动物肝脏及甜食动物肝脏虽然营养丰富,但是血粘度高的人最好少吃。动物肝脏里含有胆固醇,这会加大血液粘稠度。此外,一些甜食,特别是人造糖类,含有大量的甘油三脂、反式脂肪酸,都会使血粘度增高。5、控制饮食营养过多,摄入能量过多,血液中的脂肪和糖类会变多。控制饮食,吃饭吃到七八分饱刚刚好。6、释放压力现代生活节奏快,压力大,要学会给自己减压。听音乐、玩游戏、打球、朋友聚餐、看喜剧电影,这些都是释放压力的好方式。心情美丽了,血液自然会健康。以下推荐一些在餐桌上比较常见的血管“清道夫”来辅助身体清理血液垃圾,为身体做个大扫除。血糖稳定剂:普洱茶普洱茶品性温和,对脾胃刺激相对较小,含有茶多酚等多种有益健康的成分。研究发现,普洱茶具有显著抑制糖尿病相关生物酶的作用,有助于稳定血糖。推荐:普洱茶建议在两餐之间饮用,冲泡时要用100℃的沸水。喝普洱茶最好先洗一遍,因为大多数普洱茶都是隔年甚至数年后饮用,容易沉积尘埃。“洗茶”可达到“涤尘润茶”的目的。血脂调节剂:燕麦燕麦中含有丰富的β葡聚糖和膳食纤维,可抑制人体对胆固醇的吸收,对调节血脂有很好的作用。而且,燕麦能带来较强的饱腹感,使人长时间不饿。推荐:建议选择最“单纯”的燕麦,即大片、整粒、不细碎,且不添加任何糖、奶精等成分的燕麦。可用其熬粥,再加些果仁,营养又美味。血压控制剂:芹菜芹菜中含有丰富的钾和芹菜素,它们都有利于控制血压。美国心脏协会杂志《高血压》刊登的一项研究指出,适当饮用芹菜汁确实有助于降血压。除此之外,血液粘稠这样吃也好:1、凉拌黑木耳做 法红椒、柿子椒、食用油、盐、鸡精、醋、花椒、小葱、芝麻、香油步 骤1、干的黑木耳提前用冷水浸泡好,泡好的黑木耳洗净后撕成小片。2、泡好的黑木耳洗净后,撕成小朵。适量清水烧开后,将黑木耳放入焯一下,捞出控干水份。3、将木耳、红椒丁加入适量盐、鸡精,调入海鲜酱油,倒入适量香醋和少许芝麻油。4、锅中倒入少许色拉油,油热后将花椒炸出香味后捞出不要,关火后将香葱及白芝麻倒入爆香。5、姜丝放在黑木耳的上部,用热油浇在姜丝上,拌匀即可。2、山楂茶做 法山楂10克、菊花2.5克、清水1000毫升步骤1、菊花和山楂以清水快速冲洗干净,如果菊花是免洗型可不用清水冲洗。2、锅上火加入清水800ml,加入山楂。大火煮滚后转小火约10分钟。3、最后加入菊花煮沸,即可关火。别以为血液粘稠只能出现在老年人身上,事实上越来越多的年轻人也有这些症状。大家都要多注意~
标题:腰疼和性生活有关?你的腰还好吗 文章内容:很多中老年人性生活后会出现腰背部疼痛。引发腰痛的原因有很多,其中一些与性生活相关。以下是一些常见的原因和应对方法。一、性生活过于频繁性生活过频可能引起腰痛,主要是腰部活动量过大,引起腰肌劳损,使腰部肌肉产生酸痛。纠正方法很简单,两人根据体力选择体位,不要突然做大幅度的动作。二、本身患有腰肌劳损平时工作、生活中长时间久坐的人,腰部肌肉长期处于紧张状态,容易出现酸胀感和疼痛不适感,并且使得腰部的支撑力和稳定性降低。这类人爱爱时,可能因为拉伸而产生急性腰痛发作,并逐渐发展成慢性腰痛。建议这类人平时要尽量挺直腰板,避免弯腰时间过长;性生活前最好伸伸腰、捶捶背,让腰部做好准备;多参加适宜的运动,以增强腰部力量和稳定性,减少腰部损伤的发生。三、性生活突然中断有的男性为了延长性生活时间,在将要射精时故意中断,长此以往容易导致生殖系统和盆腔充血不能迅速消退,精囊等附件器官没有排空,可能引起腰疼。建议性生活时顺其自然,夫妻和谐配合达到性高潮。四、年龄增大引起雄激素下降老年男性由于雄性激素的下降,伴有肌肉的萎缩,在性生活中也较年轻人更容易出现肌肉的缺血、缺氧和劳损,进而出现疼痛。所以老年患者在性生活中要量力而行,避免过度用力和追求某些姿势。五、某些疾病引起患有脊柱关节等疾患的患者,如腰间盘突出等,在性生活过程中可能出现腰部疼痛。女性有宫颈炎时也表现为小腹痛和腰酸症状,当阴精插入撞击宫颈时疼痛加剧。有些男性因前列腺疾病也会出现性交后的疼痛。这类患者需要积极就诊,治疗原发疾病。
标题:妇科病太难缠?!别再吓唬女同胞啦! 文章内容:作为孕育生命与未来的群体,女人一直是社会赞美、关怀的对象。然而长久以来,妇科病却是困扰女性健康的主要原因之一。宫颈糜烂、HPV感染,乳腺增生……当这些“疾病”出现在体检报告上,大多数女性都会陷入恐慌。如果此时不良商家乘虚而入,为治“病”花费大笔冤枉钱的案例比比皆是。究竟这些常见的妇科病意味着什么?接下来,就由京东互联网医院最权威的妇科专家们,为您盘点一下那些看上去吓人、实则可以轻松应对的妇科病。带你揭开“四大妇科病”的真实面纱1、宫颈糜烂:像偶发口腔溃疡一样正常宫颈糜烂,曾经是困扰很多女性的疾病,育龄期的女性在体检时,有很大的比例会被诊断为“宫颈糜烂”。说到底,大家对于宫颈糜烂的恐慌,是对宫颈正常表现的错误认知引起的。实质上,宫颈糜烂不是真正的“糜烂”,绝大部分是由激素变化导致的柱状上皮向外扩展,就像人偶尔出现的口腔溃疡一样。这是正常的生理现象,并不是一种疾病。既然不是病,也就不存在轻度、中度及重度分型。值得一提的是,早在2004年本科生的第六版《妇产科学》教材就已经取消“宫颈糜烂”的病名了。如果有人警示你宫颈糜烂久了会增加宫颈癌的发病率,那你一定要警惕,这就像是告诉你得了肝炎的人就一定会得肝癌一样。对于自身没有什么症状,查体发现宫颈柱状上皮外移的女性,宫颈细胞学(TCT)正常,病原体检查阴性,可定期随访,不需要治疗。除此以外,宫颈腺囊肿(宫颈纳囊)、宫颈肥大认为是转化区过程中宫颈腺管堵塞形成的,没有特殊临床意义,没有症状,也无需治疗,定期妇科体检即可。2 、乳腺增生:跟乳腺癌相差十万八千里月经前一侧或双侧乳房胀痛和肿块,乳房胀痛一般于月经前期明显,月经后减轻。这些症状育龄期的女性您听起来是不是感同身受?如果是,那你很可能正被乳腺增生所困扰!实际上,大部分的育龄妇女都有不同程度的乳腺增生,只是绝大部分属于单纯性乳腺增生,这种情况一般不会癌变。有研究发现,约有2%~3%的乳腺增生症可能发生癌变,而乳腺囊性增生的癌变率比其他女性高3~5倍。如果引发乳腺增生的“小妖”(如:内分泌失调、高油高脂饮食、抽烟、喝酒、高血压、高血糖病等等)您没赶走,那么,乳腺管和乳腺上皮长期受它们的刺激,有可能就癌变了。乳腺囊性增生可能发生癌变,所以女性朋友,还是需要定期到医院随访,完全可以早发现早治疗。3、HPV感染:自身免疫力就能消灭它近年来,感染HPV的女性越来越多,由于HPV常常被大家误认为是宫颈癌的预兆,感染上HPV的女性大多忧心忡忡。可是HPV真像你以为的那么可怕吗?当然不是。医学统计,99.7%的宫颈癌都是由于高危型HPV持续感染所引起的,所以宫颈HPV感染成为宫颈糜烂后的又一个治疗热点。既然HPV可以致癌,所以消灭HPV、将患癌症的可能扼杀在摇篮里,成为大多数患者追求的目标。无良医疗机构也因此寻得巨大商机。小编要在这里提醒大家,并不是感染了HPV就一定会发展成宫颈癌,HPV有100多种亚型,分为低危型和高危型,50%~90%的HPV感染可在感染后的数月至2年内被免疫系统清除,不会导致长期的危害。只有高危型HPV的持续感染,才会进展为恶性病变。HPV持续感染的定义:间隔一年以上的时间连续两次检测出同一高危型的HPV被认为是持续性感染。宫颈癌的发生是一个漫长的过程,而现在的宫颈癌筛查技术(其中包括HPV检测)已经相当成熟,所以30岁以后定期宫颈癌筛查对于已经有性生活或 HPV 感染的女性更加重要。宫颈癌的三级预防如下:一级预防是疫苗接种,目前二价和四价疫苗已在中国大陆上市,大家可以接种了。二级预防即筛查,也就是要做宫颈癌筛查。三级预防即治疗。如果发现了宫颈癌及癌前病变,及时治疗。所以,在真正战胜HPV、杜绝宫颈癌之前,千万别让HPV把你吓倒噢!4、盆腔积液:少于100ml不算是“病”准确来说,盆腔积液是一种表现而不是一种疾病,是影像学对盆腔内液体的一种描述。部分正常女性在月经期或排卵期都会产生少量的盆腔积液,这是由于在解剖上盆腔处于腹腔最低部位。少量的盆腔积液可以自行吸收,如果是盆腔炎或者肿瘤性的积液,积液量都会在100毫升以上,这时就需要根据病因采取针对性的治疗。So,当你拿到体检报告发现有以上四种“病症”,医生和你说没事的时候,不要自己吓唬自己哦!接下来呢,是一个比较羞羞的问题,如果去做妇科检查,需要注意哪些事儿?1 、检查前一天,不要同房未使用安全套的情况下同房,可能会影响检查结果;即使使用了安全套,安全套上面的润滑剂也会破坏阴道酸碱度,造成检查结果偏差。2、检查前,不要使用阴道药物如果使用了阴道药物,在检查阴道和骨盆的过程中,可能会对医生查体造成阻碍,而且药物残留同样会影响样本,覆盖不正常的细胞。3 、检查前两天,不要灌洗阴道阴道灌洗过程中,会把一些可能透过显微镜才能检查到的致病菌冲洗掉,严重影响检查结果。越是在忙碌生活中抽时间做检查,就越要对盲目应对Sayno。关注检查前注意事项,做好充分准备,才能获得最精准的结果反馈,让医生的诊治有所依据,也是对自己的健康负责。
标题:超过50%的男人被这事影响“性福” 文章内容:老公是老烟枪,戒烟喊了很久却老是失败,我知道他压力大,也不忍心说他。老公疼我,从来不在我面前抽。不过最近我们性生活,有点……不和谐,老公虽说人到中年,不过也不至于啪啪啪到一半,居然停下来要喘会儿。而且作为他的枕边人,我可以感觉到他睡觉打呼,早上起来鼻炎都越来越严重。这天我又闻到他身上的烟味儿,就生气了!身体越来越差,啪啪啪都坚持不住,居然还在抽烟?作为一个常年从事健康科普的女人,我终于切身体会到,烟味对性生活影响真的太大了!特别是对那些已经有点困难的朋友!1 吸烟使性欲减退男性的性欲很大程度上依赖于体内的睾酮水平。睾酮是一种调节性欲和维持生育能力的雄性激素。而吸烟会增加血液中一氧化碳的含量,一氧化碳能够抑制睾酮生成。低睾酮会使人失去“性致”。这种性功能问题可谓是最和平的问题,只要不存在欲望,就什么都无所谓了。2 吸烟与勃起功能障碍正相关烟草制品中的尼古丁对心血管系统有很大的影响。它使血管狭窄,减少血液流量。当血液进入阴茎海绵体时勃起。如果血管狭窄,阴茎组织就很难被血液充满。因此,吸烟者比不吸烟者更容易发生勃起功能障碍。吸烟也会使病情恶化。研究表明戒烟会产生深远的正面影响。根据一项研究,75%的吸烟者曾经患有勃起功能障碍,但在戒烟后克服了这个问题。这个比起第一条来说就更残酷,属于有欲望,但是不能正常完成性行为,压抑了人的天性和本能,使很多人狂躁、充满破坏欲,背负上比较沉重的心理压力。3 吸烟减少性快感性交过程中,男性和女性生殖器充血。这是性唤醒的一个重要因素,它有助于累积更强烈的性快感。如果尼古丁将血管收缩到一定程度,将会使性交过程中的快感大打折扣。一项由吸烟者和不吸烟者观看色情影片的对照组实验表明,非吸烟者比吸烟者更快地达到了更加完全的性唤醒水平。更重要的是,这种高水平的性快感对于非吸烟者来说,持续得更久,而吸烟者达到高潮会相对来说要快。无论是男性还是女性,由于吸烟造成血液循环不良,都会影响性快感的获得。长期来说,还会导致荷尔蒙失衡,慢性压力,肥胖等。4 吸烟造成不育正在准备要宝宝?如果是这样,马上戒烟!正在准备要宝宝?如果是这样,马上戒烟!正在准备要宝宝?如果是这样,马上戒烟!重要的事情说三遍。现代人不良的生活习惯——如不健康的饮食结构,久坐不动的生活方式,环境中越来越多的有害物质,已经让越来越多育龄伴侣面领着孕育困难的问题。我们真的还要往上加一条“吸烟”,或者“吸二手烟”吗?大量研究已经证明,吸烟会造成精子数量减少和精子活力降低。怀孕中的准妈妈或者哺乳中的妈妈如果吸烟或者摄入二手烟,危害更大。5吸烟导致耐力下降吸烟者一般肺功能受损,所以普遍耐力较低。毕竟啪啪啪是一个体力活,需要稳定的呼吸、精力和耐力。耐力降低不可避免影响性生活质量,更重要的是,肺功能受限会影响对于过程的享受。感觉性生活质量可以提升提升的朋友,赶紧戒烟吧!欢迎扫一扫跟我聊天但!是!姐妹们,如果遇到以下这些情况,无论你多么羞于做妇检,为了自己的健康,一!定!要!去!做!妇!检!1 、精神过度紧张经前紧张综合征,主要是由内分泌不调引起的神经系统功能紊乱,一般情况下,可通过自我调节得到缓解。如长期处于紧张状态,并伴有较重生理反应时,可到妇科进行检查,必要时在医生的指导下,口服药物治疗。2、痛经难以承受痛经和性交痛,是女性常会面临的问题,尤其是痛经。一般程度的痛经,属于可以忍受的范围。但长期难以忍受的痛经,或者逐渐加重的痛经,不该一味吃止疼片忍耐,应去妇科做相应的检查,排查是否患有子宫内膜异位症等继发性痛经。3、月经量过多月经过多是由多种原因引起的,子宫肌瘤便是重要因素之一。此外,黄体功能不全等排卵障碍性月经失调等也可导致月经量过多。4 、阴道瘙痒,反复发作引起外阴瘙痒的疾病种类繁多,除了霉菌性阴道炎和滴虫性阴道炎等感染是引起外阴瘙痒的最常见的原因;鳞状上皮细胞增生、疱疹、湿疹、寻常疣、肿瘤等皮肤病变均可引起外阴瘙痒;糖尿病、胆红素升高、黄疸、维生素A或B缺乏、贫血、白血病等患者可有外阴瘙痒及身体其他部位的瘙痒; 肥皂、避孕套、卫生巾、化纤内裤、化学清洁剂、药物等都可以直接刺激或过敏引起接触性或过敏性皮炎,导致外阴瘙痒。在不清楚问题根源的情况下,盲目使用药物,不仅不能治本,反会导致耐药性,引发慢性疾病。最后,小编提醒各位女神如果有任何妇科疾病的问题应该及时咨询医生京东互联网医院聚集了全国优质名医
============================================================================================
标题:梅毒是怎么传染的?文章内容:梅毒是现如今一种比较常见的性病。这种疾病是非常的可怕的。但是由于一些科学教育的没有普及,现在有一些人还并不知道这种病到底是怎么获得的。以及它是如何产生有什么样的症状,是如何传染到身上呢,有的人会在这方面儿有非常大的困惑。梅毒是怎么传染的?1、患者身体的免疫力和抵抗力很强,梅毒拿他没办法,只好暂时潜伏起来。患者在感染梅毒螺旋体时恰好感冒,而感冒药能对梅毒螺旋体有暂时的抑制作用,所以也就形成了等到机会的隐性梅毒。在治疗显性梅毒的时候,医生用药不足或者治疗不彻底,但身体内的抵抗力恰好能抑制住梅毒螺旋体,所以也会变成隐性。取消强制婚检隐患多:事实上等于是废除了婚检。本来这是发现梅毒的一道关口,但现在这一关没了。如果一人患有梅毒,结婚后很可能就变成两个。2、间接接触传染梅毒:梅毒可以通过间接接触传染,传染途径是接触到患者使用过的内衣、内裤、被褥、毛巾、剃刀、浴巾、浴盆、便器等,梅毒是怎么被传染的?由于这些用具上可能会沾有患者损害处排出的梅毒螺旋体。因而可产生感染。3、血源性传染梅毒:有些人可以通过输血传染梅毒,如果供血者是潜伏梅毒患者,他(她)所提供的血液中可能带有梅毒螺旋体。梅毒是怎么被传染的?一旦输入到受血者的体内,即可产生感染,这样的患者不产生一期梅毒的表现,而直接出现二期梅毒的症状。所以。对供血者进行梅毒血清学筛选检查是十分重要的。4、直接性接触传染梅毒:95%~98%的梅毒是通过性接触感染的。感染后未经治疗的患者1~2年内传染性强,随病期延长传染性逐渐减小。接吻、同性恋、口一生殖器接触,手一生殖器接触等行为同样可传染梅毒,损害可发生在口唇、肛门、舌、咽部、手指等部位。
标题:新生儿吸入性肺炎产生的原因有哪些 文章内容:作者:许金云对新生儿吸入性肺炎这种疾病,可能大多数家长都不陌生。很多新生儿在出生之后,容易受到该种疾病的困扰。此时需要针对疾病的具体症状,选择相应的治疗方法,使新生儿早日回归到健康的身体状态。因为新生儿的身体免疫力和抵抗力较差,容易受到各种不良因素的影响,要坚持及时的治疗。今天就给大家介绍新生儿吸入性肺炎的原因。1、细菌感染细菌感染是引发新生儿出现吸入性肺炎的一个主要的原因,细菌感染有可能在母体中就发生,也有可能是在出生之后发生,因为人们生活的环境十分复杂,环境中有各种不同类型的细菌和真菌,容易伤害人体的健康。不管是孕妇自身还是新生儿,身体的抵抗力和免疫力都较差,所以是细菌的易感群体。不慎受到细菌的感染,容易引起新生儿出现吸入性肺炎。这是一种严重的疾病,千万不能够耽搁,需要积极的采取治疗。2、病毒感染病毒感染是引发新生儿吸入性肺炎的一个主要的原因,如果新生儿出生之后,受到了风疹病毒和大肠杆菌以及含苞病毒的传染,就容易引起新生儿肺炎的产生,之所以受到病毒感染,与新生儿的身体抵抗力和免疫力较差有很大的关系。所以在新生儿出生之后,家长一定要注重周遭环境的清洁卫生。对新生儿居住的房间,应当及时的开窗通风,保持室内环境的清洁,能够在一定程度上避免新生儿受到疾病的困扰。
标题:补肾期间能不能同房? 文章内容:现实生活中的压力大,以及节奏快,很多男性往往都是提前衰老的,其中精神低落和身体气虚比较的常见的,此时这个是肾虚表现,很多男性朋友就会补肾的,但是自己会有生理需要,那么补肾期间能不能同房,我来介绍一下。一、补肾期间不能同房从中医上养生保健的角度来说,切忌补过即泄,意思就是不能刚进补就立马泄泻体内的精液。二、补肾期间能适当同房西医观点认为补肾与性生活并没有直接的联系,只有中医说法中才有补肾增强性生活的说法。在吃药期间你是可以过性生活的。三、补肾的食物1、冬瓜、龙眼冬瓜在我国各地均产,用于治疗慢性肾炎;龙眼别名益智、桂圆等,自古以来被视为名贵的医疗保健食品,用于治疗心肾虚弱。2、哈密瓜哈密瓜是瓜中之王,它的营养价值非常的高,在补肾和治疗肾炎方面有突出作用。3、须花参须花参性温、微苦,生长于海拔4400m的高山草甸,因其温肾壮阳,大补元气的功效被藏民们作为一种食材和药材来加以利用,对补元,治虚有很好的疗效,故特别适合男性使用。4、红枣红枣味甘性温、入脾胃经,有补中益气,养血安神,强筋壮骨、补血行气、滋颐润颜之功效。红枣含有大量的糖类物质,主要为葡萄糖,也含有果糖、蔗糖,以及由葡萄糖和果糖组成的低聚糖等;并含有大量的维生素C、核黄素、硫胺素、胡萝卜素、尼克酸等多种维生素,具有较强的补养作用,能提高人体免疫功能,增强抗病能力。红枣益血安神的功能,能起到补血的作用。5、番茄番茄是番茄红素最丰富的食物来源,番茄红素具有很强的抗氧化活性,能有效清除人体内自由基。番茄红素可以预防和改善男性前列腺增生、前列腺炎等泌尿系统疾病,并能改善男性精子浓度和活力,提高精子的质量,降低不育的风险。番茄红素还能预防前列腺癌的发生。通过以上我们了解到,补肾期间能不能同房是根据自身情况来决定的,但是临床上还是建议患者尽量少同房的,并且以上还介绍了相关性的食物供大家选择的。
标题:鼻痒怎么回事 文章内容:鼻痒一般是过敏性鼻炎的一个常见表现,尤其孩子如果有必要的话,他会有不断的抠鼻子以及揉鼻子的情况,这是过敏性鼻炎的一个,比较典型的表现,成人因为鼻子痒,也会有抠鼻子的表现,也会有鼻塞,以及打喷嚏的相关症状,这些都属于,过敏性鼻炎相关的表现,过敏性鼻炎的治疗通常。首先可以用鼻腔生理性海水,做鼻腔冲洗,每天1-2次,每次鼻孔可以冲洗200ml以上,将鼻涕,也就是分泌物冲洗干净以后,这样可以减少过敏原与,鼻腔,鼻窦黏膜的接触,从而可以减轻过敏性鼻炎的症状。如果鼻腔冲洗不能够,很好的缓解鼻炎的症状的话,那就需要通过适当的药物治疗,药物通常可以使用鼻喷激素喷鼻,每鼻孔喷1-2下每天1-2次,一般对于鼻痒等,过敏性鼻炎的相关症状,都有比较好的缓解效果,另外还可以使用抗组胺药,比如说鼻喷的抗组胺药,以及口服的抗组胺药,都属于过敏性鼻炎的一线治疗药物。专家提示:鼻痒是过敏性鼻炎比较典型的表现,可以用生理性盐水冲洗鼻腔,将分泌物冲洗干净,可以减少过敏原与鼻腔、鼻窦粘膜的接触,可以减轻过敏性鼻炎的症状,如果冲洗不能很好的缓解症状,就需要通过药物治疗,还可以使用抗组胺药,来缓解过敏性鼻炎的相关症状。
标题:经常头痛是怎么回事 盘点引起头痛的4大原因 文章内容:作者:许金云头痛是一种很常见的症状表现,很多疾病都可能会引发头疼,那么经常头痛是怎么回事呢?经常头痛可能是4个方面原因所造成的,即血管扩张、血管压迫、脑膜受到刺激、受到外界的撞击和压力等。下面就为大家做详细的介绍。第一、血管扩张如果人的大脑有炎症的话,比如受到了病毒或细菌侵扰,容易导致血管扩张,此时就容易出现经常性的头痛,对于这种情况,还应该根据具体炎症来选择相关的药物进行改善,不然头痛容易反反复复出现。第二、血管压迫人的大脑存在了比较严重的疾病,比如出现了脑水肿,患上了脑肿瘤,在前期可能对病人造成的影响并不大,而随着病情的进展,头痛这种情况会不断的加重,对血管造成的压迫会更大,让病人甚至会出现疼痛难忍的状况。第三、脑膜受到刺激脑膜是人体大脑当中一个非常重要的物质,但如果受到了比较强大的刺激,那么这种情况下头疼就容易出现了,有的人大脑当中有炎性渗出物或有脑出血等,也都会引发头痛。第四、神经方面有异常这种头痛往往说的是神经性头痛,是脑神经受到各种压迫、脊柱神经出现移位等因素所造成的,不过每个人的实际情况不同,也应该进一步去查明具体的原因。引发经常性头痛的原因,其实不仅仅有上面我们为大家介绍的这4个方面,另外如果在平时的生活当中受到了外界的撞击或压力,或是患上了感冒等疾病的话,也都可能会出现头痛。很多时候头痛并不是简单的头痛,而可能是背后隐藏着一些其他方面的疾病,所以当发现头痛的时候,不要盲目的服用一些止疼药物去缓解改善,而应该积极去揪出引发头痛的真凶,并进行更为彻底的治疗,以防是一些较为严重的疾病,延误了治疗时机。
标题:Nat Commun:绿茶竟可增强p53的抗癌活性? 文章内容:人类与癌症的战斗由来以久,至今仍难以攻克,据世界卫生组织(WHO)数据显示,癌症发病率在逐年上升,全球每年新增癌症患者超过1400万,每年因癌症死亡的人数达880万。目前,癌症的常规治疗手段有限,包括外科手术、放射治疗以及化学药物等,其中药物的治疗可能还会导致严重副作用以及耐药,因此,寻找天然的副作用小的抗癌药物刻不容缓。诸多研究证实,绿茶的多酚类物质具有抗癌的功效。儿茶素类是绿茶中主要的多酚类物质,具有多种生物活性,其中表没食子儿茶素没食子酸酯(epigallocatechin-3-gallate,EGCG)约占绿茶儿茶素总量的80%,并且生物活性最高。近日,发表在Nature Communications杂志的一项研究显示,绿茶中的EGCG可能会增强p53的抗癌活性。p53是一种天然的抗癌基因,因其修复DNA损伤或破坏癌细胞的能力而被称为“基因组守护者”。研究人员发现,EGCG破坏了p53-MDM2的相互作用并抑制了由MDM2介导的p53的泛素化。通常情况下,p53在体内产生后,当N端域与MDM2的蛋白质相互作用时,会迅速被降解。这种有规律的生产和降解循环使p53的水平保持在一个较低的恒定值。然而,EGCG和MDM2都在p53的同一个结合位点,即无序的N末端结构域(NTD),EGCG与MDM2形成竞争。当EGCG与p53结合时,蛋白质并没有通过MDM2被降解,所以与EGCG直接相互作用后,p53的水平会增加。另外,EGCG和p53–NTD之间的相互作用是高度动态的,涉及多个结合界面。众所周知,NTD是抗癌药物发现的靶点。一种MW值为458Da的小分子EGCG可以有效地破坏p53和MDM2之间的相互作用,并具有动态界面。以往旨在破坏p53-MDM2的药物发现主要集中在MDM2表面的NTD结合口袋。该数据表明,p53的NTD也可能是小分子癌症药物发现的良好靶点。总之,EGCG直接与肿瘤抑制因子p53结合,这为抗癌药物开发指明了一条新途径。原始出处Jing Zhao,Alan Blayney.et al.EGCG binds intrinsically disordered N-terminal domain of p53 and disrupts p53-MDM2 interaction.Nature Communications(2021).DOI: 10.1038/s41467-021-21258-5
标题:围绝经期综合征可以不管吗 不治围绝经期综合征的危害需清楚 文章内容:作者:刘薇女性随着年龄的逐渐增长到45岁左右,卵巢的功能逐渐的衰退,体内激素水平会发生比较大的变化,进而容易出现月经紊乱、情绪不稳定、皮肤萎缩、发胖等多方面的状况,这在医学上叫做围绝经期综合征。那么围绝经期综合征可以不管吗?不治疗的话会对身体造成哪些危害呢?围绝经期综合症是很多女性在围绝经期都会出现的一种状况,进而会表现出多种症状表现,如果不进行处理,可能会让女性发生一些不适,甚至导致一些病症出现,所以一旦出现围绝经期综合症之后,不要坐视不管,应该积极采取有效的办法进行处理。如果为绝经期综合征不进行治疗,可能会造成如下几个危害。第一、月经失调女性的月经量会逐渐减少,有的经期会逐渐延长,甚至会停经,这都是不正常的月经状况,可能会诱发内分泌系统失调。第二、导致肥胖很多女性在围绝经期会出现突然间的发胖,尤其是腹部、臀部的脂肪很容易堆积。第三、皮肤发生改变患上围绝经期综合征之后,女性的皮肤会变得比较粗糙,容易失去弹性,并且还经常出现瘙痒、起皱纹、色斑等,尤其是面部手部等部位非常的明显。第四、神经系统出现异常患上围绝经期综合征之后,女性经常会感觉头晕、目眩、口干舌燥、紧张、焦虑、健忘等。第五、导致一些疾病出现围绝经期的女性骨强度会逐渐减弱,容易发生骨质疏松,严重的还可能会导致骨折,也有的女性在情绪发生变化的状况下,可能会患上抑郁症。还有一些女性容易患上子宫肌瘤、子宫颈癌、卵巢癌等肿瘤疾病。发现患上围绝经期综合症之后,千万不要不进行处理,不然可能会对身体造成多方面的伤害。正确的做法是要积极面对这一特殊的时期,家里人要多进行理解,必要的时候还应该在专业医生的指导下,合理规范服用一定的药物,进行综合调理。
标题:肋骨骨折的治疗 文章内容:1.闭合性单处肋骨 骨折 治疗的重点是止痛、固定胸廓和防治并发症。(1)固定 单根或2~3根肋骨单处骨折,一般以胸带固定。(2)镇痛充分镇痛,需口服去痛片、曲马多、散利痛等镇痛、镇静药物,必要时可予吗啡、度冷丁等肌肉注射。亦可用1%普鲁卡因溶液行肋间神经阻滞或封闭骨折处。扶他林涂抹患处或物理治疗。(3)中药治疗 中药三七片、云南白药等亦有良好疗效。(4)排痰需鼓励病人适当活动,咳嗽排痰,予镇咳、化痰药口服,以减少呼吸系统的并发症。老年人或有慢性肺疾病的病人,当有呼吸道分泌物蓄积时,应早期使用抗生素。(5)其余治疗 防止便秘,防止感冒,健侧卧位,避免席梦思。2.闭合性多根多处肋骨骨折(1)若胸壁软化范围较小,须局部压迫包扎,加强止痛,防治呼吸系统并发症,改善缺氧和二氧化碳蓄积。(2)大块胸壁软化或两侧胸壁有多根多处肋骨骨折时,可致呼吸困难,甚至呼吸循环衰竭,须立即呼叫120或急送医院抢救。3.开放性肋骨骨折对单根肋骨骨折病人的胸壁伤口须彻底清创,分层缝合后固定包扎。如穿破胸腔,须做胸膜腔闭式引流术。多根多处肋骨骨折者,于清创后用不锈钢丝做外科手术固定。
标题:睾丸炎如何治好 这三种方法不可忽视 文章内容:作者:柳瑞睾丸炎可以简单的分为非特异性的睾丸炎以及病毒性的睾丸炎。患者会有发热,睾丸肿痛,疼痛等症状,大家一定要引起高度性的重视,患者到了后期还会出现有其他类型的并发症,治疗难度也会越来越大。睾丸炎如何治好,下面就来详细的介绍一下具体的内容,希望对于大家会有一定的帮助。如果是轻微的睾丸炎需要利用简单的物理治疗法,如果效果并不明显或者是患者的病情非常的严重,就需要用抗生素,急性睾丸炎的患者是需要用氟哌酸或者是用泰利必妥等。除此之外也可以静脉注射青霉素,连续用药,一个星期左右患者的病情就会逐渐的好转,如果是对于青霉素有过敏反应,可以用乳酸司帕沙星,或者是肌肉注射庆大霉素。另外睾丸炎的患者会有局部疼痛的症状,所以还需要利用止疼的药物,可以用吲哚美辛栓剂直接作用人体局部组织处,或者是口服止疼的药物,能够有效的改善病症,患者在用药阶段还是一定要特别注意个人的卫生的,预防患者的病情反复性的发作。除此之外,睾丸炎还可以利用中医治疗法,如果患者的睾丸逐渐肿大,局部有疼痛等症状就需要利用行气活血的中药减轻病症,常见的中药有橘核、木香、枳实、厚朴、川楝于、桃仁、延胡索、昆布、海藻。将这些中草药用水煎煮服下能够有效的改善病症。睾丸炎如何治好就介绍到这里,睾丸炎的患者是需要特别重视睾丸的保养的,现在每天晚上睡觉之前需要用双手按摩,睾丸组织处长期坚持下去是非常有效的,另外还需要保持良好的生活习惯,要多吃新鲜的瓜果蔬菜可以补充维生素,增强个人的抗病能力,少吃发物,不要长期的站着或者是坐着,在治疗阶段也不可以有性交行为,最后也要提醒各位朋友们要特别重视个人的卫生。

import asyncio
import aiofiles
import os
import openpyxl
import json
import sys
import re

# from langchain.document_loaders import TextLoader
# from langchain.schema import Document
import numpy as np
import aiohttp
import logging
import asyncio

# Get the directory containing the current file
current_dir = os.path.dirname(os.path.abspath(__file__))

# Get the parent directory (project root directory)
project_root_dir = os.path.dirname(current_dir)

# Add it to sys.path
sys.path.append(project_root_dir)

from shared.VearchInstance import VearchInstance

logger = logging.getLogger(__name__)

async def async_os_walk(root_dir):
    """A simple, async version of os.walk."""
    for root, dirs, files in os.walk(root_dir):
        for filename in files:
            yield root, filename


"""Main execution function"""
from shared.TerminalColor import bcolors

async def main():
    # from shared.VearchOpenAI import VearchOpenAI
    from shared.VearchM3e import VearchM3e
    vearch_instance = VearchInstance(VearchM3e)
    content_vector_store = vearch_instance.content_vector_store

    root_logger = logging.getLogger("")
    logging.basicConfig(
        level=logging.INFO,
        format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
    )

    force_recreate_spaces = True
    await vearch_instance.client.prewarm()
    if force_recreate_spaces:
      await vearch_instance.ensure_empty()
    else:
      await vearch_instance.ensure()

    # Limit to 10 concurrent tasks.
    concurrent_task_limit = 16
    semaphore = asyncio.Semaphore(concurrent_task_limit)

    vearch_instance.log_configurations(
        "===Concurrency===",
        f"max concurrent requests: {concurrent_task_limit}",
        f"semaphore: {semaphore}",
        root_logger=root_logger,
    )

    # Define paths to the index and content data, and the label file
    new_content_to_analyze_dir = os.path.join(current_dir, "./data/content/")

    # Load the label data from the Excel file
    wb = openpyxl.load_workbook(os.path.join(current_dir, "./data/content.xlsx"))
    sheet = wb.active

    content_id_dict = {}

    async def process_row(row):
        preowned_article_body = row[0].value
        preowned_article_id = vearch_instance.generate_id(preowned_article_body)

        root_logger.info(
            "preowned_article_body: {}, preowned_article_id: {}".format(
                preowned_article_body[:20], preowned_article_id
            )
        )

        content_id_dict[preowned_article_id] = preowned_article_body[:50]

        return await vearch_instance.llm.embed_and_store_with_limit_and_check(
            semaphore=semaphore,
            text=preowned_article_body,
            id=preowned_article_id,
            vector_store=content_vector_store,
            content_type=vearch_instance.content_type_look_up("preowned_article"),
        )

    await asyncio.gather(*[process_row(row) for row in sheet.iter_rows()])

    # Asynchronously walk through every file in the root directory
    async for dirpath, filename in async_os_walk(new_content_to_analyze_dir):
        # Asynchronously build the search index for the document with filename in the dirpath
        content_file_path = os.path.join(dirpath, filename)
        match = re.search(r"(\d+)", filename)
        if match:
            content_id = int(match.group(1))
        else:
            content_id = vearch_instance.generate_id(content_file_path)

        root_logger.info("filename: {}, content_id: {}".format(filename, content_id))
        
        text = await vearch_instance.llm.load_file(file_path=content_file_path)
        embedding = await vearch_instance.llm.embed(text)

        # Asynchronously get the most similar texts and their similarity score for the label
        search_result = await vearch_instance.llm.score_similarity(
            embedding=embedding, vector_store=content_vector_store, min_score=-0.1
        )

        sorted_search_result = sorted(
            search_result, key=lambda hit: hit.score, reverse=True
        )

        for preowned_article in sorted_search_result:
            if preowned_article.id in content_id_dict:
              text = content_id_dict[preowned_article.id]
              root_logger.info(
                  f"{filename}: {bcolors.OKBLUE} score {preowned_article.score}{bcolors.ENDC}: ({bcolors.UNDERLINE}{text[0:100]}{bcolors.ENDC})"
              )

from shared.AsyncThread import start_asyncio_in_new_thread

# Running the main function using asyncio
if __name__ == "__main__":
    async_thread = start_asyncio_in_new_thread()
    async_thread.run(main())



2、M3E、OpenAi查重相似度效果比较

利用M3E和OpenAi不同模型提取的特征生成向量后计算的相似度基本上一致,且M3E提取的特征对中文的支持更好,更细化,导致最终计算分值以后也更加直观,能够快速的验证定位出相似度界限,对于内容查重业务更加友好,且在成本和效率上更具有优势。

local-openAI-faiss
 score 0.8051140308380127: (文章标题:睾丸炎如何治好 这三种方法不可忽视 文章内容:作者:柳瑞睾丸炎可以简单的分为)
 score 0.7848645448684692: (文章标题:补肾期间能不能同房? 文章内容:现实生活中的压力大,以及节奏快,很多男性往往)
 score 0.7846496105194092: (文章标题:围绝经期综合征可以不管吗 不治围绝经期综合征的危害需清楚 文章内容:作者:刘)
 score 0.782593309879303: (文章标题:新生儿吸入性肺炎产生的原因有哪些 文章内容:作者:许金云对新生儿吸入性肺炎这)
 score 0.781638503074646: (文章标题:肋骨骨折的治疗 文章内容:1.闭合性单处肋骨 骨折 治疗的重点是止痛、固定胸廓和)
 score 0.7784459590911865: (文章标题:经常头痛是怎么回事 盘点引起头痛的4大原因 文章内容:作者:许金云头痛是一种很)
 score 0.7778044939041138: (文章标题:鼻痒怎么回事 文章内容:鼻痒一般是过敏性鼻炎的一个常见表现,尤其孩子如果有必)
 score 0.7545982599258423: (文章标题:Nat Commun:绿茶竟可增强p53的抗癌活性? 文章内容:人类与癌症的战斗由来以久)

vearch-openAI-InnerProduct
 score 0.8861305713653564: (标题:七个月大的宝宝湿疹应对措施 文章内容:初为家长时,孩子生病常让人手足无措,尤其是)
 score 0.9082539081573486: (标题:风湿病的原因及早期症状 文章内容:风湿病是一种常见的疾病,尤其在天气变化时更容易)
 score 0.8837582468986511: (标题:烫伤的三个误区,让我们涨涨知识! 文章内容:烫伤是日常生活中常见的意外伤害事故,)
 score 0.9033029675483704: (标题:九个乳腺癌早期迹象,我们需要了解! 文章内容:乳腺癌是日常生活中常见的疾病,早期)
 score 0.8838751912117004: (标题:保健品:治病还是致命? 文章内容:几天前,宜宾的郭大爷迎来了73岁生日,可悲的是,)
 score 0.9303823709487915: (标题:说明你的血液“粘如浆糊”的4个信号 文章内容:血液粘稠怎么办?1、适量运动血液之所以)
 score 0.8949835300445557: (标题:性生活与腰疼的关联,探讨腰部健康文章内容:中老年人在性生活后常常会出现腰背部疼)
 score 0.9144179224967957: (标题:妇科病都有什么症状 文章内容:作者:华正辉妇科病,这是我们经常听说的一种疾病,它)
 score 0.898883581161499: (标题:什么情况影响男人的性福? 文章内容:各种污染导致男性不育在我国,不育家庭占已婚家庭)
 score 0.8882876634597778: (标题:警惕老年痴呆症!早期迹象你要知道 文章内容:老年性痴呆(阿尔茨海默病)分为早期、)

veearch-openAI-L2
score 0.22828610241413116: (标题:七个月大的宝宝湿疹应对措施 文章内容:初为家长时,孩子生病常让人手足无措,尤其)
score 0.183501735329628: (标题:风湿病的原因及早期症状 文章内容:风湿病是一种常见的疾病,尤其在天气变化时更容易)
score 0.23254230618476868: (标题:烫伤的三个误区,让我们涨涨知识! 文章内容:烫伤是日常生活中常见的意外伤害事故)
score 0.1933293491601944: (标题:九个乳腺癌早期迹象,我们需要了解! 文章内容:乳腺癌是日常生活中常见的疾病,早期)
score 0.23224297165870667: (标题:保健品:治病还是致命? 文章内容:几天前,宜宾的郭大爷迎来了73岁生日,可悲的是)
score 0.21004636585712433: (标题:性生活与腰疼的关联,探讨腰部健康文章内容:中老年人在性生活后常常会出现腰背部疼)
score 0.17117643356323242: (标题:妇科病都有什么症状 文章内容:作者:华正辉妇科病,这是我们经常听说的一种疾病,它)
score 0.20217841863632202: (标题:什么情况影响男人的性福? 文章内容:各种污染导致男性不育在我国,不育家庭占已婚家)
score 0.22340437769889832: (标题:警惕老年痴呆症!早期迹象你要知道 文章内容:老年性痴呆(阿尔茨海默病)分为早期)

vearch-M3e-InnerProduct
score 0.8227248787879944: (标题:七个月大的宝宝湿疹应对措施 文章内容:初为家长时,孩子生病常让人手足无措,尤其是)
score 0.8545650839805603: (标题:风湿病的原因及早期症状 文章内容:风湿病是一种常见的疾病,尤其在天气变化时更容易)
score 0.8175485134124756: (标题:烫伤的三个误区,让我们涨涨知识! 文章内容:烫伤是日常生活中常见的意外伤害事故,)
score 0.8728653788566589: (标题:九个乳腺癌早期迹象,我们需要了解! 文章内容:乳腺癌是日常生活中常见的疾病,早期)
score 0.8715853691101074: (标题:保健品:治病还是致命? 文章内容:几天前,宜宾的郭大爷迎来了73岁生日,可悲的是,)
score 0.8996967077255249: (标题:说明你的血液“粘如浆糊”的4个信号 文章内容:血液粘稠怎么办?1、适量运动血液之所以)
score 0.8604989051818848: (标题:性生活与腰疼的关联,探讨腰部健康文章内容:中老年人在性生活后常常会出现腰背部疼)
score 0.8816944360733032: (标题:妇科病都有什么症状 文章内容:作者:华正辉妇科病,这是我们经常听说的一种疾病,它)
score 0.8664537072181702: (标题:什么情况影响男人的性福? 文章内容:各种污染导致男性不育在我国,不育家庭占已婚家)


四、总结

经过实践,本次处理47万篇内容,经过多轮优化,最终达到向量生成、验证及插入在使用规格配置32c50g的机器同时启用三个线程派发任务,32个进程共享内存的情况下,可在5小时内完成的。相似度搜索及存储到mysql可在20分钟内完成30万数据的处理。

OpenAI在算法研究方面的创新推动了成本的降低。通过引入更高效的算法和模型架构,OpenAI能够在相同的计算资源下取得更好的性能。这意味着开发者可以更快地训练和部署模型,减少了算法开发的时间和成本。但介于目前的技术环境及规则限制,选择一些开源的像M3E之类的模型才是更贴近我们目前的业务需求和日常使用。

利用M3E模型提取的特征对中文的支持也挺好,也更加细化,尤其除了基本的服务器和开发成本外在不需要额外的支出,效率也可以通过并发和增加资源的手段优化,成本和效率方面具有明显优势。768纬度的向量和vearch结合的也更优越。

Vearch目前在京东泰山平台直接能够申请开放使用,且有技术人员专门维护和提供技术支持,有很可靠的保障。

作者:京东健康 刘继帅

来源:京东云开发者社区 转载请注明来源

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部