-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Entity Fishing Service Randomly not Yielding Wiki Link #159
Comments
Hello @ndenStanford ! This is a bit surprising, I think the language identifier should be deterministic. The text is extremely short, so you'd better fix the language in the query to avoid language recognition error: {
"text": "I live in London",
"language": {
"lang": "en"
},
"entities": [{
"rawName": "London",
"offsetStart": 10,
"offsetEnd": 16
}],
"mentions": [
],
"nbest": false,
"sentence": false
} Also note: if you want to constrain the disambiguation on a particular term only, you need normally to add the offsets for this term. |
Thank you for your response and clarification. Without offset specified, entity fish would just yield all the matching by default it seems but it should still function as usual. The problem of not returning any match occurs even when the language is specified as the input below.
I wonder if there's a component inside the entity fish logic that relies on a third-party service like making an API call or anything stochastic in the nature of the logic? |
Are you using the demo server or a local deployment? What is your environment? I can't reproduce the problem, the following query always return the same matches: {
"text": "Venezuela envía 35 especialistas y 20 toneladas de ayuda a Cuba por incendio. El Gobierno de Venezuela envió la noche de este sábado a Cuba una misión de 35 bomberos especializados y técnicos de la estatal petrolera PDVSA, además de 20 toneladas de insumos para apoyar en el combate del incendio provocado por la explosión de tanques de petróleo en la localidad de Matanzas, en la isla caribeña.. El Gobierno de Venezuela envió la noche de este sábado a Cuba una misión de 35 bomberos especializados y técnicos de la estatal petrolera PDVSA, además de 20 toneladas de insumos para apoyar en el combate del incendio provocado por la explosión de tanques de petróleo en la localidad de Matanzas, en la isla caribeña. La información fue dada a conocer por el ministro de Petróleo venezolano, Tareck El Aissami, quien detalló, en su cuenta en Twitter, que se trata de «bomberos especialistas y técnicos de PDVSA de los más capacitados en este tipo de siniestros». «Además de la misión de 35 bomberos especializados en operaciones de alta complejidad, hemos enviado 20 toneladas de insumos (espuma) y polvos químicos para atender esta contingencia», explicó el funcionario, quien reiteró que Cuba cuenta con «todo» el apoyo y la solidaridad de Venezuela. El Aissami compartió fotografías y vídeos de la misión antes del despegue en un avión de la aerolínea venezolana Conviasa, y aseguró que el envío de ayuda fue una instrucción del presidente Nicolás Maduro. Durante la jornada, el Gobierno del país petrolero emitió un comunicado en el que expresó su «inquebrantable solidaridad» a Cuba y Maduro aseguró que Venezuela tiene la «plena disposición» para ayudar a la isla en estos momentos. El gran incendio que sigue activo ocurrió este sábado en dos de ocho depósitos de crudo de la zona industrial de la ciudad cubana de Matanzas y deja, hasta el momento, un muerto que no ha sido identificado, 121 lesionados y 17 bomberos desaparecidos que «estaban en la zona más cercana intentando evitar la propagación», según informaron las autoridades. El siniestro comenzó la tarde del viernes cuando un rayo impactó en uno de los ocho depósitos de combustible en el lugar. En la mañana de este sábado ocurrió una segunda explosión en otro tanque que provocó columnas de humo visibles hasta en La Habana, a 104 kilómetros del lugar. El presidente cubano, Miguel Díaz-Canel agradeció en Twitter a países como México, Venezuela, Rusia, Nicaragua, Argentina y Chile, «que con prontitud han ofrecido ayuda material solidaria ante esta compleja situación».",
"language": {"lang": "es"},
"mentions": ["ner", "wikipedia"],
"entities": [{"rawName": "PDVSA"}, {"rawName": "Cuba"}, {"rawName": "tanques"}, {"rawName": "Matanzas"}, {"rawName": "El Gobierno de Venezuela"}, {"rawName": "Venezuela"}]
} If you want to constrain the disambiguation on a particular term only, you need normally to add the offsets for this term in the given text AND keep the "mentions" field empty (
There is no external call and all the ML components are deterministic afaik. |
Sorry you're using the Docker image in Kubernetes. I don't know what could explain a different behavior in a Kubernetes setting. Can you access the server logs maybe? |
The issue generally occurs when traffic to the pod is large. I would expect entity fish pod to explicitly fail if it cannot handle the traffic but instead, it still yields status 200 even though it doesn't give the response with the wiki link in it like this.
The Kubernetes contains entity fish model pods that deployed using the Docker provided in here and the client frontend pods which simply do some data preprocessing, invoke the model pod, and post-process the result. Here is the sample of logs from the entity fish pod. Note that it looks like all requests to the entity fish model pods are successful.
However, when inspecting the entity fish result using simple logic in the client pod, it's clear that some requests didn't get processed correctly in the way I mentioned previously. I logged out some of these faulty responses. Here I printed out the query and the corresponding responses below. I attempted to retry 3 times but the failure always happens the same way. The majority of the requests are ok but a handful does not give the correct responses.
Let me know if this make sense. Sorry for a long post. |
Hello @kermitt2, Would you mind clarifying the best way to verify the readiness of the server deployed via Dockerfile through the health check endpoint http://localhost:8091/metrics?pretty=true? What is the expected behavior of the server when it's overloaded with a large number of requests? Thank you |
Hello,
I have deployed an entity fish solution following the instruction here in Kubernetes. I noticed that the service could yield a matched wiki entity most time. For example
would yield the following result
However, the service would sometimes silently fail and output the result below without matched Wiki id using the exact same input.
Is there a way I can prevent this silence failure or at least know when it will happen? Any recommendation is greatly appreciated.
The text was updated successfully, but these errors were encountered: